/* ============================================================
   Cuidar de Quem Sempre Cuidou da Gente — styles1.css
   Versão corrigida: responsiva, iOS + Android ready
   ============================================================ */

:root{
  --ivory:#fbf7ec;
  --paper:#fffdf8;
  --ink:#2a160e;
  --brown:#5a2a16;
  --rust:#b84220;
  --orange:#d88916;
  --gold:#e7a72e;
  --green:#174d2d;
  --green2:#0f3a22;
  --line:#e9dcc7;
  --shadow:0 18px 60px rgba(72,43,25,.10);
  --radius:22px;
}

/* ---------- Reset / base ---------- */
*,
*::before,
*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
  overflow-x:hidden;
  max-width:100%;
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"DM Sans",Arial,sans-serif;
  line-height:1.65;
  overflow-x:hidden;
  max-width:100%;
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}

a{ color:inherit; }

img{
  max-width:100%;
  display:block;
  height:auto;
}

/* Acessibilidade: foco visível */
:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px;
  border-radius:4px;
}

/* Reduz movimento quando o usuário pede */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }
  html{ scroll-behavior:auto; }
}

/* ---------- Layout helpers ---------- */
.wrap{ width:min(1180px, calc(100% - 40px)); margin:auto; }
.narrow{ width:min(820px, calc(100% - 40px)); }
.center{ text-align:center; }

/* Skip link */
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
}
.skip-link:focus{
  left:16px;
  top:16px;
  background:#fff;
  padding:10px 14px;
  z-index:99;
  border-radius:8px;
  box-shadow:var(--shadow);
}

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,253,248,.94);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(90,42,22,.1);
  will-change:transform;
  padding-top:env(safe-area-inset-top);
}

.nav-wrap{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{ display:inline-flex; align-items:center; }
.brand img{
  width:74px;
  height:74px;
  object-fit:contain;
}

.nav{
  display:flex;
  gap:22px;
  align-items:center;
}

.nav a{
  text-decoration:none;
  font-weight:700;
  font-size:.94rem;
  padding:6px 4px;
  border-radius:8px;
  transition:color .2s ease;
}
.nav a:hover{ color:var(--rust); }

.nav-cta{
  padding:10px 16px !important;
  background:var(--green);
  color:#fff !important;
  border-radius:999px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.nav-cta:hover{ background:var(--green2); }

.menu-btn{
  display:none;
  background:none;
  border:1px solid var(--brown);
  border-radius:999px;
  padding:10px 16px;
  font:inherit;
  font-weight:800;
  color:var(--brown);
  cursor:pointer;
  min-height:44px;
  min-width:44px;
  transition:background .2s ease;
}
.menu-btn:hover{ background:rgba(90,42,22,.06); }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(circle at 72% 28%, #f1c55e 0 13%, transparent 13.5%),
    linear-gradient(135deg, #fffaf0 0%, #f7ead1 100%);
  padding:76px 0 68px;
  overflow:hidden;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:54px;
  align-items:center;
}

.eyebrow,
.kicker{
  font-size:.79rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--rust);
}
.kicker.light{ color:#f2bf61; }

.hero h1,
.section h2,
.section h3{
  font-family:"Libre Baskerville",Georgia,serif;
}

.hero h1{
  font-size:clamp(2.8rem, 6.2vw, 5.8rem);
  line-height:1.02;
  margin:.2em 0 .28em;
  color:var(--brown);
}

.subtitle{
  font-size:clamp(1.25rem, 2.1vw, 1.75rem);
  color:var(--green);
  max-width:750px;
}

.lead{
  font-size:1.12rem;
  max-width:720px;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}

.hero-art{
  margin:0;
  filter:drop-shadow(0 24px 36px rgba(72,43,25,.16));
}
.hero-art img{ border-radius:40px; }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:none;
  cursor:pointer;
  font-weight:800;
  padding:13px 20px;
  border-radius:999px;
  font:inherit;
  font-size:1rem;
  min-height:44px;
  transition:transform .15s ease, opacity .15s ease, background .2s ease;
}
.btn:active{ transform:scale(.98); }

.btn.primary{
  background:var(--green);
  color:#fff;
}
.btn.primary:hover{ background:var(--green2); }

.btn.secondary{
  border:2px solid var(--brown);
  color:var(--brown);
  background:transparent;
}
.btn.secondary:hover{ background:rgba(90,42,22,.06); }

.btn.light{
  background:#fff;
  color:var(--green);
}
.btn.light:hover{ background:#f4ecd8; }

.btn.gold{
  background:var(--gold);
  color:#26180f;
  width:100%;
  margin-top:8px;
}
.btn.gold:hover{ background:#d99a1f; }

/* ---------- Seções ---------- */
.section{ padding:84px 0; }
.warm{ background:var(--ivory); }

.section h2{
  font-size:clamp(2rem, 4vw, 3.35rem);
  line-height:1.16;
  margin:.2em 0 .7em;
  color:var(--brown);
}
.section p{ font-size:1.04rem; }
.section-intro{ max-width:760px; }

blockquote{
  font-family:"Libre Baskerville",Georgia,serif;
  font-size:1.45rem;
  line-height:1.45;
  border-left:5px solid var(--gold);
  margin:38px 0 0;
  padding:10px 0 10px 24px;
  color:var(--green);
}

/* ---------- Cards (compromissos) ---------- */
.cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:var(--shadow);
}
.card span{
  font-weight:900;
  color:var(--rust);
  font-size:.82rem;
}
.card h3{
  font-size:1.22rem;
  margin:.35em 0;
}
.card p{
  font-size:.96rem;
  margin-bottom:0;
}

/* ---------- Seção verde (documentos) ---------- */
.green{
  background:var(--green2);
  color:#fff;
}
.green h2{ color:#fff; }

.doc-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.doc-card{
  border:1px solid rgba(255,255,255,.24);
  border-radius:var(--radius);
  padding:30px;
  background:rgba(255,255,255,.06);
}
.doc-tag{
  color:#f2bf61;
  font-weight:800;
  font-size:.83rem;
}
.doc-card h3{ font-size:1.5rem; }
.doc-card p{ color:#e8efe9; }

/* ---------- Timeline / agenda ---------- */
.timeline{ display:grid; gap:18px; }

.event{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:22px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.event time{
  font-weight:900;
  color:var(--rust);
  letter-spacing:.08em;
}
.event.featured{
  border-color:#ddb86f;
  background:#fffbf1;
}
.event h3{ margin:0 0 5px; font-size:1.25rem; }
.event p{ margin:0; }

/* ---------- Biblioteca / media ---------- */
.media-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}

.media-card{
  background:#fff;
  border-radius:var(--radius);
  padding:24px;
  border:1px solid var(--line);
  text-decoration:none;
  color:var(--ink);
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.icon{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--green);
  color:#fff;
  font-weight:900;
}

.media-card h3{
  font-size:1.15rem;
  color:var(--ink);
  margin:.6em 0 .3em;
}
.media-card p{ color:var(--ink); margin:.3em 0; }

.media-card a,
.soon,
.media-card span.soon{
  font-weight:800;
  color:var(--rust);
  text-decoration:none;
  display:inline-block;
  margin-top:8px;
}

a.media-card:hover{
  opacity:.95;
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}

/* ---------- Signup / formulário ---------- */
.signup{
  background:linear-gradient(135deg, var(--green2), #1d5d37);
  color:#fff;
}
.signup h2{ color:#fff; }

.signup-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
  align-items:start;
}

.privacy-note{
  font-size:.9rem !important;
  color:#dce8df;
}

.signup-form{
  background:#fff;
  color:var(--ink);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow);
}

.signup-form label{
  display:block;
  font-weight:700;
  margin-bottom:14px;
}

.signup-form input[type=text],
.signup-form input[type=email],
.signup-form input[type=tel]{
  width:100%;
  padding:12px 13px;
  margin-top:6px;
  border:1px solid #cdbfae;
  border-radius:12px;
  font:inherit;
  font-size:16px; /* evita zoom automático no iOS */
  background:#fff;
  color:var(--ink);
  -webkit-appearance:none;
  appearance:none;
}

.signup-form input:focus{
  border-color:var(--green);
  outline:none;
  box-shadow:0 0 0 3px rgba(23,77,45,.18);
}

.form-row{
  display:grid;
  grid-template-columns:1fr 110px;
  gap:12px;
}

.check{
  font-weight:500 !important;
  display:flex !important;
  gap:9px;
  align-items:flex-start;
  cursor:pointer;
}
.check input{
  margin-top:6px;
  min-width:18px;
  min-height:18px;
  accent-color:var(--green);
}

.hidden{ display:none; }

/* ---------- Redes sociais ---------- */
.social-links{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}
.social-links a{
  border:1px solid var(--brown);
  padding:10px 17px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  transition:background .2s ease;
}
.social-links a:hover{ background:rgba(90,42,22,.06); }

/* ---------- Footer ---------- */
.footer{
  background:#24140d;
  color:#f9eee0;
  padding:44px 0 calc(44px + env(safe-area-inset-bottom));
}
.footer-grid{
  display:grid;
  grid-template-columns:100px 1fr auto;
  gap:24px;
  align-items:center;
}
.footer img{
  width:90px;
  border-radius:18px;
}
.footer p{
  margin:.25em 0;
  color:#e7d6c8;
}
.footer-small{
  text-align:right;
  font-size:.9rem;
}

/* ============================================================
   RESPONSIVO
   ============================================================ */

/* Tablets grandes / notebooks pequenos */
@media (max-width:1024px){
  .hero-grid{ gap:36px; }
  .signup-grid{ gap:36px; }
}

/* Tablet */
@media (max-width:850px){
  .nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fffdf8;
    padding:18px 20px;
    flex-direction:column;
    align-items:stretch;
    display:none;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 30px rgba(72,43,25,.10);
    gap:4px;
  }
  .nav.open{ display:flex; }

  .nav a{
    min-height:44px;
    display:flex;
    align-items:center;
    padding:10px 12px;
    border-radius:10px;
  }
  .nav a:hover{ background:rgba(90,42,22,.06); }

  .nav-cta{
    justify-content:center;
    margin-top:6px;
  }

  .menu-btn{ display:inline-flex; align-items:center; }

  .hero-grid,
  .signup-grid{
    grid-template-columns:1fr;
  }

  .hero-art{
    max-width:620px;
    margin:0 auto;
  }

  .cards{ grid-template-columns:1fr 1fr; }
  .media-grid{ grid-template-columns:1fr 1fr; }
  .doc-grid{ grid-template-columns:1fr; }

  .footer-grid{ grid-template-columns:80px 1fr; }
  .footer-small{
    text-align:left;
    grid-column:2;
  }

  .event{ grid-template-columns:1fr; gap:10px; }
}

/* Intermediário (celulares grandes na horizontal) */
@media (max-width:700px){
  .hero h1{ font-size:clamp(2.2rem, 9vw, 3rem); }
  .section h2{ font-size:clamp(1.7rem, 6vw, 2.4rem); }
  blockquote{ font-size:1.2rem; padding-left:18px; }
}

/* Celulares */
@media (max-width:560px){
  .wrap,
  .narrow{
    width:min(100% - 26px, 1180px);
  }

  .hero{
    padding-top:46px;
    padding-bottom:44px;
  }

  .cards,
  .media-grid{
    grid-template-columns:1fr;
  }

  .section{ padding:62px 0; }

  .hero-actions{
    flex-direction:column;
  }
  .hero-actions .btn{ width:100%; }

  .form-row{ grid-template-columns:1fr; }

  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-small{
    grid-column:auto;
    text-align:center;
  }
  .footer img{
    width:110px;
    margin:0 auto;
  }

  .brand img{
    width:64px;
    height:64px;
  }

  .nav-wrap{ min-height:72px; }

  .doc-card{ padding:22px; }
  .card{ padding:22px; }
  .event{ padding:22px; }
}

/* Celulares muito estreitos (iPhone SE / Galaxy Fold fechado) */
@media (max-width:360px){
  .hero h1{ font-size:2rem; }
  .subtitle{ font-size:1.1rem; }
  .btn{ padding:12px 16px; font-size:.95rem; }
  .brand img{ width:56px; height:56px; }
}