/* ===========================================================
   GoDeeper — Design System v2
   "Verde-Profundo Premium": floresta escura + dourado
   =========================================================== */

:root{
  --forest: #123F34;
  --forest-dark: #0A2A22;
  --forest-light: #1C5A49;
  --gold: #C9A227;
  --gold-dark: #7F6110;
  --gold-light: #F3E7C9;
  --ink: #16211D;
  --ink-soft: #53605A;
  --paper: #FBF9F4;
  --paper-alt: #F1ECDD;
  --card: #ffffff;
  --line: #E4DECB;
  --radius: 6px;
  --maxw: 1180px;
  --shadow: 0 16px 44px -20px rgba(18,63,52,.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;
  line-height:1.14;
  margin:0 0 .5em;
  letter-spacing:-.01em;
  color:var(--forest-dark);
}
h1{font-size:clamp(2.5rem,5vw,4.1rem); font-weight:500;}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem);}
h3{font-size:1.32rem;}
p{margin:0 0 1em; color:var(--ink-soft);}
a{color:inherit;}
img{max-width:100%; display:block;}
svg{flex-shrink:0;}

.script{
  font-family:'Caveat',cursive;
  font-weight:600;
  color:var(--gold-dark);
  font-size:1.4em;
  display:inline-block;
}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.section{padding:100px 0;}
.section-tight{padding:56px 0;}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
  font-weight:700;
  color:var(--gold-dark);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{content:""; width:22px; height:2px; background:var(--gold-dark); display:inline-block;}
.center .eyebrow{justify-content:center;}
.lede{font-size:1.17rem; max-width:640px;}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 32px;
  border-radius:var(--radius);
  font-weight:700;
  font-size:.98rem;
  text-decoration:none;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--gold); color:var(--forest-dark); box-shadow:0 10px 26px -12px rgba(201,162,39,.6);}
.btn-primary:hover{background:var(--gold-dark);}
.btn-ghost{background:transparent; color:var(--forest); border-color:var(--forest);}
.btn-ghost:hover{background:var(--forest); color:#fff;}
.btn-on-dark{background:var(--gold); color:var(--forest-dark);}
.btn-on-dark:hover{background:var(--gold-light);}
.btn-outline-dark{background:transparent; color:#fff; border-color:rgba(255,255,255,.45);}
.btn-outline-dark:hover{border-color:#fff; background:rgba(255,255,255,.08);}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(251,249,244,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:84px;
}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand img{height:40px; width:auto;}

.nav{display:flex; align-items:center; gap:34px;}
.nav a{text-decoration:none; font-size:.95rem; font-weight:600; color:var(--forest-dark); position:relative;}
.nav a:hover{color:var(--gold-dark);}
.nav .has-dropdown{position:relative;}
.nav .has-dropdown::after{
  content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  width:290px; height:18px;
}
.dropdown{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%);
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); min-width:290px; padding:10px;
  opacity:0; visibility:hidden; transition:opacity .15s ease, transform .15s ease;
}
.has-dropdown:hover .dropdown{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.dropdown a{display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:4px; font-weight:600;}
.dropdown a:hover{background:var(--paper-alt); color:var(--forest-dark);}
.dropdown a .ico{color:var(--gold-dark);}
.dropdown a small{display:block; color:var(--ink-soft); font-weight:400; font-size:.78rem; margin-top:2px;}
.nav-cta{margin-left:8px;}

.nav-toggle{display:none; background:none; border:0; cursor:pointer; padding:8px;}
.nav-toggle span{display:block; width:26px; height:2px; background:var(--forest-dark); margin:6px 0;}

@media(max-width:920px){
  .nav-toggle{display:block;}
  .nav{
    position:fixed; inset:84px 0 0 0; background:var(--paper);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:10px 28px 40px; overflow-y:auto;
    transform:translateX(100%); transition:transform .25s ease;
  }
  .nav.open{transform:translateX(0);}
  .nav a{width:100%; padding:16px 0; border-bottom:1px solid var(--line);}
  .dropdown{position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; border:0; display:none; width:100%; padding:0 0 0 14px;}
  .has-dropdown.open .dropdown{display:block;}
  .nav-cta{margin:18px 0 0;}
}

/* ---------- Breadcrumb ---------- */
.breadcrumb{padding:22px 0 0; font-size:.84rem; color:var(--ink-soft);}
.breadcrumb a{color:var(--ink-soft); text-decoration:none;}
.breadcrumb a:hover{color:var(--forest);}
.breadcrumb span{margin:0 8px; color:var(--line);}
.breadcrumb .current{color:var(--forest-dark); font-weight:600;}

/* ---------- Hero (cinematic, imagem integrada de fundo, sempre inteira e visível) ----------
   A arte fica num elemento QUADRADO próprio (mesma proporção do arquivo-fonte),
   centralizado e limitado por vh/vw, com máscara radial fundindo suas próprias
   bordas na cor de fundo — por construção não há "retângulo" para vazar,
   em nenhum tamanho de tela. */
.hero{
  position:relative; overflow:hidden;
  padding:88px 0 60px;
}
.hero-cinematic{
  display:flex; align-items:center;
  min-height:100vh; min-height:100svh;
  padding:104px 0 60px;
  color:#fff;
  background:#050c09;
}
.hero-art{
  position:absolute; inset:0; margin:auto;
  width:min(88vh, 88vw, 860px);
  aspect-ratio:1/1;
  -webkit-mask-image:radial-gradient(circle closest-side at center, #000 42%, transparent 94%);
  mask-image:radial-gradient(circle closest-side at center, #000 42%, transparent 94%);
  z-index:0;
}
.hero-art img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(100deg, rgba(5,12,9,.92) 0%, rgba(5,12,9,.68) 24%, rgba(5,12,9,.12) 52%, rgba(5,12,9,.35) 100%);
}
.hero-cinematic .wrap{position:relative; z-index:2; width:100%;}
.hero-copy{max-width:620px;}
.hero h1{margin-bottom:22px;}
.hero-cinematic h1{color:#fff;}
.hero-cinematic .lede{color:#dbe4df;}
.hero-actions{display:flex; gap:16px; margin-top:34px; flex-wrap:wrap;}
.hero-stats{display:flex; gap:36px; margin-top:48px; flex-wrap:wrap;}
.hero-stats div strong{display:block; font-family:'Fraunces',serif; font-size:2rem; color:var(--gold);}
.hero-stats div span{font-size:.82rem; color:#b9c4be;}

@media(max-width:760px){
  .hero-art{width:min(78vh, 92vw, 640px); top:8%; bottom:auto; transform:translateY(0);}
  .hero-scrim{background:linear-gradient(180deg, rgba(5,12,9,.25) 0%, rgba(5,12,9,.15) 30%, rgba(5,12,9,.85) 68%, rgba(5,12,9,.96) 100%);}
  .hero-copy{max-width:100%;}
}

/* ---------- Dark / inverted section ---------- */
.section-dark{background:var(--forest-dark); color:#fff;
  background-image:radial-gradient(circle at 85% 0%, rgba(201,162,39,.10), transparent 45%);
}
.section-dark h2, .section-dark h3{color:#fff;}
.section-dark p{color:#cfd9d4;}
.section-dark .eyebrow{color:var(--gold);}
.section-dark .eyebrow::before{background:var(--gold);}

/* ---------- Icon circle ---------- */
.icon-circle{
  width:56px; height:56px; border-radius:50%; background:var(--paper-alt);
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  color:var(--forest);
}
.section-dark .icon-circle{background:rgba(255,255,255,.08); color:var(--gold);}
.icon-circle svg{width:26px; height:26px;}

/* ---------- Pillars / services grid ---------- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media(max-width:860px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr;}}
@media(min-width:861px) and (max-width:1080px){.grid-4{grid-template-columns:repeat(2,1fr);}}

.card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:36px 32px; height:100%;
}
.card .num{font-family:'Fraunces',serif; font-size:.95rem; color:var(--gold-dark); font-weight:600; display:block; margin-bottom:18px;}
.card h3{margin-bottom:12px;}
.card ul{margin:18px 0 0; padding:0; list-style:none;}
.card ul li{padding-left:24px; position:relative; margin-bottom:10px; font-size:.94rem; color:var(--ink-soft);}
.card ul li::before{content:"✓"; position:absolute; left:0; color:var(--gold-dark); font-weight:700;}
.card .btn{margin-top:22px;}

.pillar-card{
  display:flex; flex-direction:column;
  border-top:3px solid var(--forest);
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pillar-card:hover{border-color:var(--gold); transform:translateY(-6px); box-shadow:var(--shadow);}

/* ---------- Need-based cards ("que ajuda você precisa") ---------- */
.need-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; display:flex; flex-direction:column; gap:14px; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.need-card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--gold);}
.need-card h3{font-size:1.08rem; margin:0;}
.need-card p{font-size:.9rem; margin:0;}
.need-card .arrow{margin-top:auto; color:var(--gold-dark); font-weight:700; font-size:.86rem;}

/* ---------- Stat / KPI grid ---------- */
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
@media(max-width:860px){.stat-grid{grid-template-columns:repeat(2,1fr);}}
.stat-item strong{display:block; font-family:'Fraunces',serif; font-size:2.6rem; color:var(--gold);}
.stat-item span{font-size:.86rem; color:#cfd9d4;}

/* ---------- Logos / segments strip ---------- */
.strip{display:flex; flex-wrap:wrap; gap:14px; justify-content:center;}
.pill{
  border:1px solid var(--line); background:var(--card); border-radius:100px;
  padding:11px 24px; font-size:.88rem; font-weight:700; color:var(--forest-dark);
}

/* ---------- Process steps ---------- */
.steps{counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
@media(max-width:860px){.steps{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.steps{grid-template-columns:1fr;}}
.step{position:relative; padding-top:52px;}
.step::before{
  counter-increment:step; content:counter(step,decimal-leading-zero);
  font-family:'Fraunces',serif; font-size:2.2rem; color:rgba(255,255,255,.14);
  position:absolute; top:0; left:0;
}

/* ---------- Testimonial / quote ---------- */
.quote{
  border-left:3px solid var(--gold); padding-left:26px; font-family:'Fraunces',serif;
  font-size:1.35rem; font-style:italic; color:var(--forest-dark); max-width:760px;
}
.quote cite{display:block; margin-top:16px; font-family:'Inter',sans-serif; font-style:normal; font-size:.85rem; color:var(--ink-soft); font-weight:700;}

/* ---------- Early-case CTA (honest, no fake testimonials) ---------- */
.honest-card{
  background:var(--paper-alt); border:1px dashed var(--gold-dark); border-radius:var(--radius);
  padding:32px; display:flex; gap:24px; align-items:center; flex-wrap:wrap;
}
.honest-card p{margin:0; flex:1; min-width:240px;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
.faq-item summary{cursor:pointer; font-weight:700; font-size:1.05rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--forest-dark);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-size:1.4rem; color:var(--gold-dark); transition:transform .2s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{margin-top:14px;}

/* ---------- Final CTA band ---------- */
.cta-band{
  background:var(--forest); color:#fff; border-radius:14px;
  padding:64px 48px; text-align:center;
  background-image:radial-gradient(circle at 15% 100%, rgba(201,162,39,.15), transparent 50%);
}
.cta-band h2{color:#fff;}
.cta-band p{color:#d8e3de;}
@media(max-width:600px){.cta-band{padding:44px 24px;}}

/* ---------- Footer ---------- */
.site-footer{background:var(--forest-dark); color:#c3cec8; padding:64px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px;}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid h4{color:var(--gold); font-family:'Inter',sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:18px;}
.footer-grid a{color:#c3cec8; text-decoration:none; display:block; margin-bottom:10px; font-size:.94rem;}
.footer-grid a:hover{color:#fff;}
.footer-brand p{color:#94a19a; max-width:280px;}
.footer-bottom{border-top:1px solid #1e3a30; padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.82rem; color:#7f8d86;}

/* ---------- WhatsApp float ---------- */
.wa-float{
  position:fixed; bottom:26px; right:26px; z-index:200;
  background:var(--forest); color:#fff; width:60px; height:60px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px -8px rgba(10,42,34,.6); text-decoration:none;
  border:2px solid var(--gold);
}
.wa-float svg{width:28px; height:28px; fill:#fff;}

/* ---------- Breadcrumb / LP intro ---------- */
.lp-hero{background:var(--forest-dark); color:#fff; padding:0 0 90px;
  background-image:radial-gradient(circle at 85% 0%, rgba(201,162,39,.10), transparent 45%);}
.lp-hero .breadcrumb{color:#a9b6b0;}
.lp-hero .breadcrumb a{color:#a9b6b0;}
.lp-hero .breadcrumb .current{color:#fff;}
.lp-hero .wrap-inner{padding-top:56px;}
.lp-hero .eyebrow{color:var(--gold);}
.lp-hero .eyebrow::before{background:var(--gold);}
.lp-hero h1{color:#fff;}
.lp-hero p{color:#cfd9d4;}
.lp-hero .grid-wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;}
@media(max-width:860px){.lp-hero .grid-wrap{grid-template-columns:1fr;}}
.lp-hero-panel{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:var(--radius); padding:32px;}
.lp-hero-panel h3{color:#fff; font-size:1.05rem; margin-bottom:16px;}
.lp-hero-panel ul{list-style:none; margin:0; padding:0;}
.lp-hero-panel li{padding:11px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:.92rem; color:#dfe6e2; padding-left:22px; position:relative;}
.lp-hero-panel li::before{content:"—"; position:absolute; left:0; color:var(--gold);}
.lp-hero-panel li:last-child{border-bottom:0;}

.compare{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
@media(max-width:760px){.compare{grid-template-columns:1fr;}}
.compare .card.bad .num{color:#e2a5a5;}

/* Utility */
.mt-0{margin-top:0;}
.text-center{text-align:center;}
.small{font-size:.85rem; color:var(--ink-soft);}
.divider{height:1px; background:var(--line); margin:64px 0;}
.divider-dark{height:1px; background:rgba(255,255,255,.12); margin:64px 0;}
