/* Página pública do produto. CSS próprio: styles.css é do app logado e
   carrega regras de layout (sidebar, grid de painéis) que não servem aqui. */
:root{
  --pine:#123e39;
  --pine-deep:#0d2927;
  --lime:#d6ed73;
  --cream:#f8f7f2;
  --ink:#172e2c;
  --ink-soft:#45605d;
  --line:#e4eae4;
  --paper:#fff;
}
*{box-sizing:border-box}
body{
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:"Inter","Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{width:min(100%,1180px);margin:0 auto;padding:0 24px}

/* ---------- topo ---------- */
.site-header{
  position:sticky;top:0;z-index:20;
  background:linear-gradient(135deg,#123e39,#0d2927);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 34px rgba(9,31,30,.16);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:70px}
.logo{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:19px;font-weight:780;letter-spacing:-.7px;text-decoration:none}
.logo-mark{display:inline-flex;align-items:end;gap:3px;width:30px;height:30px;padding:5px;border-radius:9px 9px 9px 3px;background:var(--lime);box-shadow:0 8px 20px rgba(214,237,115,.18)}
.logo-mark i{display:block;width:4px;border-radius:2px;background:var(--pine)}
.logo-mark i:nth-child(1){height:8px}
.logo-mark i:nth-child(2){height:13px}
.logo-mark i:nth-child(3){height:18px}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav a{color:rgba(247,250,247,.72);font-size:13px;font-weight:650;text-decoration:none}
.site-nav a:hover{color:#fff}
.header-actions{display:flex;align-items:center;gap:10px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:44px;padding:0 20px;border-radius:11px;
  font-size:13.5px;font-weight:730;text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:transform .16s,background .16s,border-color .16s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{color:#fff;background:var(--pine);border-color:var(--pine);box-shadow:0 10px 22px rgba(18,62,57,.18)}
.site-header .btn-primary{color:var(--pine);background:var(--lime);border-color:var(--lime);box-shadow:0 12px 24px rgba(214,237,115,.18)}
.btn-primary:hover{background:#17514a}
.site-header .btn-primary:hover{background:#e2f58f}
.btn-ghost{color:var(--pine);background:transparent;border-color:#cfdcd4}
.site-header .btn-ghost{color:#fff;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22)}
.btn-ghost:hover{background:#fff}
.site-header .btn-ghost:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.36)}
.btn-lime{color:var(--pine);background:var(--lime);border-color:var(--lime)}
.btn-lg{min-height:52px;padding:0 26px;font-size:15px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:70px 0 20px}
.hero:before{
  content:"";position:absolute;right:-14vw;top:-24vw;width:52vw;height:52vw;
  border-radius:50%;background:radial-gradient(circle,rgba(214,237,115,.34),transparent 62%);pointer-events:none;
}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:54px}
.eyebrow{display:inline-block;color:#6f8a84;font-size:10.5px;font-weight:800;letter-spacing:1.6px}
.hero h1{margin:16px 0 18px;font-size:clamp(34px,4.4vw,54px);line-height:1.05;letter-spacing:-2.4px;font-weight:560}
.hero p.lead{margin:0 0 28px;max-width:480px;color:var(--ink-soft);font-size:16.5px;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-note{margin:18px 0 0;color:#7a8f8a;font-size:12.5px}
.hero-note strong{display:inline-flex;align-items:center;min-height:24px;margin-left:3px;padding:3px 9px;border-radius:999px;color:#123e39;background:var(--lime);font-weight:820}
.hero-art{position:relative}
.hero-art img{border-radius:18px;border:1px solid rgba(35,65,59,.1);box-shadow:0 34px 70px rgba(11,40,36,.20)}

/* ---------- provas ---------- */
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.badge{
  display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;
  background:#fff;border:1px solid var(--line);color:#3f5b56;font-size:11.5px;font-weight:680;
}
.badge svg{width:14px;height:14px;color:#3f8a6d}

/* ---------- seções ---------- */
section{scroll-margin-top:86px}
.section{padding:76px 0}
.section-head{max-width:640px;margin-bottom:38px}
.section-head h2{margin:10px 0 12px;font-size:clamp(25px,3vw,34px);line-height:1.15;letter-spacing:-1.4px;font-weight:600}
.section-head p{margin:0;color:var(--ink-soft);font-size:15.5px;line-height:1.65}
.section-alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{
  padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--paper);
  box-shadow:0 6px 20px rgba(28,61,51,.03);
}
.section-alt .card{background:var(--cream)}
.card-icon{
  display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;
  border-radius:12px;color:var(--pine);background:var(--lime);
}
.card-icon svg{width:21px;height:21px}
.card h3{margin:0 0 8px;font-size:16px;letter-spacing:-.5px}
.card p{margin:0;color:var(--ink-soft);font-size:13.5px;line-height:1.6}

/* ---------- passos ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:passo}
.step{position:relative;padding:26px 24px 24px;border:1px solid var(--line);border-radius:17px;background:var(--paper)}
.step:before{
  counter-increment:passo;content:counter(passo);
  display:grid;place-items:center;width:30px;height:30px;margin-bottom:14px;
  border-radius:9px;background:var(--pine);color:var(--lime);font-size:14px;font-weight:800;
}
.step h3{margin:0 0 7px;font-size:15.5px;letter-spacing:-.4px}
.step p{margin:0;color:var(--ink-soft);font-size:13.5px;line-height:1.6}

/* ---------- galeria ---------- */
.shots{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:start}
.shot{border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;box-shadow:0 14px 34px rgba(11,40,36,.07)}
.shot img{border-bottom:1px solid var(--line)}
.shot figcaption{padding:14px 18px;color:var(--ink-soft);font-size:12.5px;line-height:1.55}
.shot figcaption strong{display:block;margin-bottom:3px;color:var(--ink);font-size:13.5px}

/* ---------- app em breve ---------- */
.app-download-section{padding-top:0}
.app-download-card{
  display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:28px;
  padding:34px;border:1px solid rgba(35,65,59,.10);border-radius:24px;
  background:radial-gradient(circle at 88% 18%,rgba(214,237,115,.25),transparent 38%),linear-gradient(135deg,#174d46,#0d2c2a 76%);
  color:#eef5ee;box-shadow:0 22px 54px rgba(11,40,36,.16);
}
.app-download-copy h2{margin:10px 0 10px;color:#fff;font-size:clamp(24px,3vw,33px);line-height:1.14;letter-spacing:-1.2px;font-weight:610}
.app-download-copy p{margin:0;max-width:580px;color:rgba(238,245,238,.76);font-size:15px;line-height:1.65}
.app-download-card .eyebrow{color:var(--lime)}
.store-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.store-badge{
  display:inline-flex;align-items:center;gap:12px;min-width:176px;padding:12px 15px;
  border:1px solid rgba(255,255,255,.18);border-radius:15px;
  color:#fff;background:rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.store-badge.is-disabled{opacity:.82;cursor:not-allowed;filter:saturate(.88)}
.store-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:var(--pine);background:var(--lime);font-size:18px;font-weight:820}
.ios-icon{font-size:21px}
.store-badge small,.store-badge strong{display:block}
.store-badge small{color:rgba(238,245,238,.68);font-size:11px;font-weight:760}
.store-badge strong{margin-top:1px;font-size:15px;letter-spacing:-.25px}
.app-download-visual{display:grid;place-items:center}
.app-phone-card{
  width:min(100%,250px);padding:28px 22px;border:1px solid rgba(255,255,255,.18);border-radius:28px;
  text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 44px rgba(6,20,19,.22);
}
.app-phone-card img{width:76px;height:76px;margin:0 auto 13px;border-radius:22px;box-shadow:0 12px 28px rgba(214,237,115,.16)}
.app-phone-card strong{display:block;color:#fff;font-size:20px;letter-spacing:-.7px}
.app-phone-card span{display:block;margin-top:5px;color:rgba(238,245,238,.70);font-size:12px;font-weight:700}

/* ---------- chamada final ---------- */
.cta{
  margin:0 0 76px;padding:52px 44px;border-radius:24px;color:#eef5ee;
  background:radial-gradient(circle at 82% 20%,rgba(214,237,115,.20),transparent 42%),linear-gradient(140deg,#174d46,#0d2c2a 76%);
}
.cta h2{margin:0 0 12px;font-size:clamp(24px,3vw,32px);letter-spacing:-1.3px;font-weight:580;color:#fff}
.cta p{margin:0 0 26px;max-width:540px;color:rgba(238,245,238,.76);font-size:15px;line-height:1.65}

/* ---------- rodapé ---------- */
.site-footer{padding:40px 0 56px;border-top:1px solid var(--line);background:var(--paper)}
.footer-grid{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:26px}
.footer-grid p{margin:10px 0 0;max-width:340px;color:var(--ink-soft);font-size:12.5px;line-height:1.6}
.footer-links{display:flex;flex-wrap:wrap;gap:22px}
.footer-links a{color:var(--ink-soft);font-size:12.5px;font-weight:620;text-decoration:none}
.footer-links a:hover{color:var(--pine)}
.footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);color:#8a9c97;font-size:11.5px}

/* ---------- responsivo ---------- */
@media(max-width:940px){
  .hero .wrap{grid-template-columns:1fr;gap:34px}
  .hero{padding:46px 0 10px}
  .grid-3,.steps{grid-template-columns:1fr}
  .shots{grid-template-columns:1fr}
  .app-download-card{grid-template-columns:1fr;padding:28px 22px}
  .app-download-visual{justify-items:start}
  .site-nav{display:none}
  .section{padding:52px 0}
  .cta{padding:36px 24px}
}
@media(max-width:520px){
  .wrap{padding:0 16px}
  .hero-actions .btn{width:100%}
  .store-badge{width:100%}
  .header-actions .btn-ghost{display:none}
}
