/* ===== iSocio — folha de estilos partilhada ===== */
:root{
  --cream:#FAF9F5; --cream-2:#FBFCF8; --paper:#FFFFFF;
  --ink:#19221D; --muted:#5F6D66; --faint:#7C8A83; --line:#E0E6E3;
  --green:#019F68; --green-2:#23BA7D; --green-soft:#D3F9E3;
  --terra:#C2502E; --terra-2:#EB7955; --terra-soft:#FFE4D7;
  --blue:#1E6FBF; --blue-2:#3E96EA; --blue-soft:#DBF1FF;
  --display:'Space Grotesk',sans-serif;
  --body:'Manrope',sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--cream); color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased;}
::selection{background:rgba(1,159,104,.18);}
a{color:inherit;}
img{max-width:100%;}
.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}
.eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--green); font-weight:600;}
h1,h2,h3{font-family:var(--display); letter-spacing:-.03em; line-height:1.05; margin:0;}
.btn{display:inline-flex; align-items:center; gap:8px; font-family:var(--body); font-weight:700; font-size:15px; padding:12px 22px; border-radius:11px; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s;}
.btn-primary{background:var(--ink); color:var(--cream-2);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(25,34,29,.18);}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line);}
.btn-ghost:hover{border-color:var(--ink);}
.btn-green{background:var(--green); color:#fff;}
.btn-green:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(1,159,104,.4);}
:focus-visible{outline:3px solid var(--green-2); outline-offset:2px; border-radius:6px;}

/* header */
header.site{position:sticky; top:0; z-index:50; background:rgba(250,249,245,.82); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; height:66px;}
.logo{font-family:var(--display); font-weight:700; font-size:23px; letter-spacing:-.045em; text-decoration:none;}
.logo span{color:var(--terra);}
.nav-links{display:flex; align-items:center; gap:26px;}
.nav-links a{font-size:15px; font-weight:600; color:var(--muted); text-decoration:none;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink);}
.nav-links a[aria-current="page"]{text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--green-2);}
@media(max-width:780px){.nav-links a:not(.btn){display:none;}}

/* sections */
section{padding:84px 0;}
.sec-head{max-width:42em;}
.sec-head h2{font-size:clamp(30px,3.8vw,42px); font-weight:700; margin-top:12px;}
.sec-head p{color:var(--muted); font-size:18px; margin-top:14px;}

/* page hero (interior) */
.phero{padding:62px 0 30px;}
.phero h1{font-size:clamp(34px,4.6vw,52px); font-weight:700;}
.phero h1 .lf{color:var(--green);}
.phero p.lead{font-size:19px; color:var(--muted); margin:20px 0 0; max-width:34em;}

/* breadcrumb */
.crumb{font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--faint); padding-top:22px;}
.crumb a{text-decoration:none; color:var(--faint);}
.crumb a:hover{color:var(--green);}

/* strip */
.strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--cream-2);}
.strip-in{display:flex; flex-wrap:wrap; gap:14px 40px; padding:20px 0; align-items:center; justify-content:center;}
.strip-in span{font-family:var(--mono); font-size:12.5px; letter-spacing:.04em; color:var(--muted); display:flex; align-items:center; gap:9px;}
.strip-in span::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--green-2);}

/* cards / grids */
.cards{display:grid; gap:18px;}
.cards.c3{grid-template-columns:repeat(3,1fr);}
.cards.c2{grid-template-columns:repeat(2,1fr);}
@media(max-width:860px){.cards.c3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.cards.c3,.cards.c2{grid-template-columns:1fr;}}
.card{background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:26px 24px; text-decoration:none; color:inherit; display:block; transition:transform .16s, box-shadow .16s, border-color .16s;}
a.card:hover{transform:translateY(-3px); box-shadow:0 16px 30px -18px rgba(25,34,29,.3); border-color:var(--green-2);}
.card .num{font-family:var(--mono); font-size:12px; color:var(--faint); letter-spacing:.08em;}
.card h3{font-size:21px; font-weight:600; margin:12px 0 9px;}
.card p{font-size:14.5px; color:var(--muted); margin:0 0 14px; line-height:1.5;}
.card ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px;}
.card li{font-size:13.5px; color:var(--ink); display:flex; gap:8px; align-items:flex-start;}
.card li::before{content:""; width:6px; height:6px; border-radius:2px; background:var(--green-2); margin-top:7px; flex:none;}
.card.accent li::before{background:var(--terra-2);}
.card .more{font-family:var(--body); font-weight:700; font-size:13.5px; color:var(--green); margin-top:14px; display:inline-block;}

/* CTA band */
.cta{text-align:center; background:var(--green-soft);}
.cta h2{font-size:clamp(28px,4vw,42px); font-weight:700; max-width:16em; margin:0 auto;}
.cta p{color:#0a6e48; font-size:18px; margin:18px auto 30px; max-width:34em;}
.cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* footer */
footer.site{background:var(--ink); color:#9fb0a8; padding:50px 0 40px; font-size:14px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
footer.site .logo{color:var(--cream); font-size:22px;}
footer.site .logo span{color:var(--terra-2);}
footer.site p{color:#7f9089; margin:14px 0 0; max-width:24em; font-size:13.5px;}
.foot-col h4{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#6f8077; margin:0 0 14px;}
.foot-col a{display:block; color:#aebcb4; text-decoration:none; padding:5px 0; font-size:14px;}
.foot-col a:hover{color:var(--cream);}
.foot-meta{border-top:1px solid #2c3a33; margin-top:34px; padding-top:20px; font-family:var(--mono); font-size:12px; color:#6f8077;}

/* prose */
.prose p{color:var(--ink); max-width:40em;}
.prose h2{font-size:clamp(24px,3vw,32px); margin:42px 0 14px;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .btn:hover,a.card:hover{transform:none;}
}

/* ===== gráficos e elementos adicionais ===== */
.hero-wrap{position:relative; overflow:hidden;}
.hero-bg{position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none;}
.hero-wrap > .wrap{position:relative; z-index:1;}

/* ícones em caixa */
.ic-box{width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.ic-box.green{background:var(--green-soft); color:#0a6e48;}
.ic-box.terra{background:var(--terra-soft); color:#9a3d20;}
.ic-box.blue{background:var(--blue-soft); color:#15538f;}

/* dashboard (home) */
.dash{background:var(--paper); border:1px solid var(--line); border-radius:18px; box-shadow:0 30px 60px -28px rgba(25,34,29,.28); overflow:hidden;}
.dash-top{display:flex; align-items:center; gap:10px; padding:13px 16px; border-bottom:1px solid var(--line); background:var(--cream-2);}
.dash .dot{width:10px; height:10px; border-radius:50%;}
.kpi{text-align:left; text-decoration:none; border:1px solid var(--line); border-radius:13px; padding:14px; background:var(--cream-2); transition:transform .15s, border-color .15s, box-shadow .15s; display:block;}
.kpi:hover{transform:translateY(-3px); border-color:var(--green-2); box-shadow:0 12px 22px -14px rgba(1,159,104,.5);}
.kpi .lbl{font-family:var(--mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint);}
.kpi .val{font-family:var(--display); font-size:25px; font-weight:600; margin-top:6px; letter-spacing:-.03em;}
.kpi .sub{font-size:11.5px; color:var(--muted); margin-top:2px;}
.mini{border:1px solid var(--line); border-radius:13px; padding:13px 14px; background:var(--paper);}
.mini-h{display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:var(--muted); margin-bottom:10px;}
.mini-h b{color:var(--ink); font-weight:700; font-size:13px;}
.bars{display:flex; align-items:flex-end; gap:6px; height:46px;}
.bars i{flex:1; background:var(--green-soft); border-radius:4px 4px 0 0; display:block;}
.bars i.hl{background:var(--green-2);}
.evlist{margin:0; padding:0; list-style:none;}
.evlist li{display:flex; align-items:center; gap:9px; font-size:12.5px; padding:4px 0; color:var(--muted);}
.evlist .d{width:7px; height:7px; border-radius:50%; flex:none;}
@media(max-width:900px){.phero .wrap[style*="grid"], .hero-wrap .wrap[style*="grid"]{grid-template-columns:1fr !important;}}

/* preços */
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start;}
@media(max-width:860px){.plans{grid-template-columns:1fr; max-width:420px; margin:0 auto;}}
.plan{position:relative; background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:30px 26px;}
.plan.featured{border:2px solid var(--green); box-shadow:0 26px 50px -28px rgba(1,159,104,.5); transform:translateY(-6px);}
@media(max-width:860px){.plan.featured{transform:none;}}
.plan-badge{position:absolute; top:-13px; left:26px; background:var(--green); color:#fff; font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; border-radius:99px;}
.plan-name{font-family:var(--display); font-size:22px; font-weight:600; letter-spacing:-.02em;}
.plan-blurb{font-size:14px; color:var(--muted); margin:8px 0 18px; min-height:42px;}
.plan-price{display:flex; align-items:baseline; gap:6px; margin-bottom:6px;}
.plan-price .amt{font-family:var(--display); font-size:40px; font-weight:700; letter-spacing:-.04em;}
.plan-price .per{font-size:15px; color:var(--muted);}
.plan-feats{list-style:none; margin:6px 0 0; padding:0; display:flex; flex-direction:column; gap:10px;}
.plan-feats li{font-size:14px; color:var(--ink); display:flex; gap:9px; align-items:flex-start;}
.plan-feats li::before{content:"✓"; color:var(--green); font-family:var(--mono); font-weight:700; flex:none;}
.price-note{font-family:var(--mono); font-size:12px; color:var(--faint); margin-top:18px; text-align:center;}

/* tabela comparativa / preços */
.price-compare{margin-top:42px; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--paper);}
.pc-row{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; border-top:1px solid var(--line);}
.pc-row:first-child{border-top:none;}
.pc-row > div{padding:14px 18px; font-size:14px; text-align:center;}
.pc-row > div:first-child{text-align:left;}
.pc-head{background:var(--cream-2); font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint);}
.pc-feat{font-weight:600; color:var(--ink);}
@media(max-width:620px){
  .pc-row{grid-template-columns:1fr 1fr !important;}
  .pc-head{display:none;}
  .pc-feat{grid-column:1 / -1; background:var(--cream-2); border-top:1px solid var(--line);}
}

/* privacidade — ilustração */
.priv-art{position:relative; min-height:300px;}
.priv-art .doc{position:absolute; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px; width:80%; box-shadow:0 24px 50px -26px rgba(25,34,29,.35);}
.priv-art .doc .hd{font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--green); text-transform:uppercase;}
.priv-art .doc .nm{font-family:var(--display); font-size:18px; margin-top:8px; font-weight:600;}
.priv-art .doc .meta{font-size:12.5px; color:var(--muted); margin-top:6px;}
.priv-art .doc .face{width:46px; height:60px; border-radius:8px; background:linear-gradient(160deg,var(--green-soft),#bfeeda); border:1px solid #a9e2c9; position:relative; margin-bottom:12px;}
.priv-art .doc .face::after{content:""; position:absolute; inset:5px; border:1.5px dashed var(--green-2); border-radius:6px; opacity:.8;}
.priv-art .doc.one{top:0; left:0; transform:rotate(-3deg);}
.priv-art .doc.two{bottom:0; right:0; transform:rotate(3deg);}
.priv-art .doc.two .hd{color:var(--terra);}
.priv-art .doc.two .face{background:linear-gradient(160deg,var(--terra-soft),#ffd2c0); border-color:#f3bda9;}
.priv-art .doc.two .face::after{border-color:var(--terra-2);}
@media(max-width:860px){.priv-art{min-height:260px;}}

/* login */
.login-card{background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:30px; box-shadow:0 24px 50px -30px rgba(25,34,29,.25);}
.login-card label{display:block; font-size:13px; font-weight:700; color:var(--muted); margin-bottom:7px;}
.login-card input{width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:11px; font-family:var(--body); font-size:15px; margin-bottom:18px; background:var(--cream-2);}
.login-card input:focus{outline:none; border-color:var(--green-2); background:var(--paper);}

/* ===== marca: icon + wordmark ===== */
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none;}
.brand-ic{display:block; width:32px; height:32px; border-radius:9px; flex:none;}
.brand-wm{display:block; height:21px; width:auto;}
.brand-wm-foot{display:block; height:24px; width:auto;}
@media(max-width:420px){.brand-wm{height:19px;}}
