:root{
  --graphite:#191C1E; --red:#C60B0B; --gray:#D1CCCB;
  --bg:#16191A; --bg-2:#191C1E; --surface:#1E2224; --surface-2:#23282A; --surface-3:#2A2F31; --hover:#262C2E;
  --border:rgba(209,204,203,0.10); --border-strong:rgba(209,204,203,0.18); --border-faint:rgba(209,204,203,0.06);
  --text:#D1CCCB; --text-2:rgba(209,204,203,0.66); --text-3:rgba(209,204,203,0.42); --text-faint:rgba(209,204,203,0.26);
  --accent:#C60B0B; --accent-hover:#A40909; --accent-press:#870707;
  --accent-tint:rgba(198,11,11,0.14); --accent-tint-2:rgba(198,11,11,0.22); --accent-glow:rgba(198,11,11,0.30);
  --sev-crit:#E5484D; --sev-high:#E8833A; --sev-med:#E5B94E; --sev-low:#4FB477; --sev-info:#6E93C9;
  --r-sm:7px; --r:10px; --r-md:13px; --r-lg:18px; --r-xl:24px;
  --shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px rgba(0,0,0,0.28);
  --shadow-lg:0 2px 6px rgba(0,0,0,0.4),0 24px 64px rgba(0,0,0,0.5);
  --sans:"Geist",system-ui,-apple-system,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",monospace;
  --maxw:1200px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  font-feature-settings:"cv01","ss01";
  overflow-x:hidden;
}
::selection{background:var(--accent-tint-2); color:#fff;}
h1,h2,h3,h4,p{margin:0;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
img{display:block; max-width:100%;}
.mono{font-family:var(--mono); font-feature-settings:"zero";}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.eyebrow{
  font-family:var(--mono); font-size:12px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--accent); display:inline-flex; align-items:center; gap:9px; white-space:nowrap;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--accent); display:inline-block;}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before,.eyebrow.center::after{content:""; width:22px; height:1px; background:var(--accent); display:inline-block;}
.section{padding:108px 0; position:relative;}
.section-head{max-width:680px; margin:0 auto 56px; text-align:center;}
.section-head h2{font-size:clamp(30px,4vw,44px); font-weight:600; letter-spacing:-0.03em; line-height:1.08; margin-top:18px;}
.section-head p{color:var(--text-2); font-size:18px; margin-top:18px; text-wrap:pretty;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 22px; border-radius:var(--r-sm); font-size:15px; font-weight:500;
  border:1px solid transparent; transition:background .15s,border-color .15s,color .15s,transform .06s; white-space:nowrap;
}
.btn:active{transform:translateY(0.5px);}
.btn svg{width:17px; height:17px;}
.btn-primary{background:var(--accent); color:#fff; box-shadow:0 0 32px -12px var(--accent-glow);}
.btn-primary:hover{background:var(--accent-hover);}
.btn-secondary{background:var(--surface-2); color:var(--text); border-color:var(--border);}
.btn-secondary:hover{background:var(--hover); border-color:var(--border-strong);}
.btn-ghost{background:transparent; color:var(--text-2);}
.btn-ghost:hover{color:var(--text);}
.btn-lg{padding:15px 26px; font-size:16px;}
.btn-block{width:100%;}

/* ---------- nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100; height:68px;
  display:flex; align-items:center;
  background:rgba(22,25,26,0.72); backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .25s,background .25s;
}
.nav.scrolled{border-bottom-color:var(--border); background:rgba(22,25,26,0.86);}
.nav .wrap{display:flex; align-items:center; gap:32px; width:100%;}
.brand{display:flex; align-items:center; gap:11px; flex-shrink:0;}
.brand-logo{height:30px; width:auto; display:block;}
.brand-mark{
  width:34px; height:34px; border-radius:9px; background:transparent;
  display:grid; place-items:center; flex-shrink:0;
  filter:drop-shadow(0 0 10px var(--accent-glow));
}
.brand-name{font-weight:600; font-size:16px; letter-spacing:-0.01em; white-space:nowrap;}
.brand-name b{color:var(--accent); font-weight:600;}
.nav-links{display:flex; gap:6px; margin-left:auto;}
.nav-links a{padding:8px 14px; border-radius:var(--r-sm); color:var(--text-2); font-size:14.5px; font-weight:450; transition:background .14s,color .14s;}
.nav-links a:hover{background:var(--hover); color:var(--text);}
.nav-cta{display:flex; align-items:center; gap:12px;}

/* ---------- hero ---------- */
.hero{padding:150px 0 90px; position:relative; overflow:hidden;}
.hero-glow{
  position:absolute; top:-180px; left:50%; transform:translateX(-50%);
  width:1100px; height:620px; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse at center, var(--accent-tint) 0%, transparent 62%);
  opacity:.7;
}
.hero-grid{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.4;
  background-image:linear-gradient(var(--border-faint) 1px,transparent 1px),linear-gradient(90deg,var(--border-faint) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 30%, transparent 75%);
          mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 30%, transparent 75%);
}
.hero .wrap{position:relative; z-index:2; text-align:center;}
.hero-badge{
  display:inline-flex; align-items:center; gap:9px; padding:6px 14px 6px 8px; border-radius:30px;
  background:var(--surface); border:1px solid var(--border); font-size:13px; color:var(--text-2); margin-bottom:30px;
}
.hero-badge .pin{display:inline-flex; align-items:center; gap:6px; padding:3px 9px; border-radius:20px; background:var(--accent-tint); color:#F2898C; font-family:var(--mono); font-size:11px; font-weight:500;}
.hero-badge .pulse{width:7px; height:7px; border-radius:50%; background:var(--sev-low); box-shadow:0 0 0 0 rgba(79,180,119,.5); animation:livepulse 2s infinite;}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(79,180,119,.45);}70%{box-shadow:0 0 0 7px rgba(79,180,119,0);}100%{box-shadow:0 0 0 0 rgba(79,180,119,0);}}
.hero h1{
  font-size:clamp(38px,6vw,68px); font-weight:600; letter-spacing:-0.035em; line-height:1.04;
  max-width:16ch; margin:0 auto; text-wrap:balance;
}
.hero h1 em{font-style:normal; color:var(--accent);}
.hero-sub{font-size:clamp(17px,2vw,21px); color:var(--text-2); max-width:60ch; margin:26px auto 0; text-wrap:pretty;}

/* domain CTA */
.domain-cta{display:flex; gap:10px; justify-content:center; margin:38px auto 0; max-width:520px; flex-wrap:wrap;}
.domain-field{
  flex:1; min-width:260px; display:flex; align-items:center; gap:11px;
  background:var(--bg-2); border:1px solid var(--border-strong); border-radius:var(--r-sm); padding:0 15px;
  transition:border-color .15s,box-shadow .15s;
}
.domain-field:focus-within{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-tint);}
.domain-field.error{border-color:var(--sev-crit); box-shadow:0 0 0 3px rgba(229,72,77,0.18);}
.domain-field.error svg{color:var(--sev-crit);}
.domain-field svg{width:17px; height:17px; color:var(--sev-low); flex-shrink:0;}
.domain-field input{background:none; border:none; outline:none; color:var(--text); width:100%; padding:14px 0; font-size:15px; font-family:var(--mono);}
.domain-field input::placeholder{color:var(--text-faint);}
.hero-trust{display:flex; align-items:center; justify-content:center; gap:10px; margin-top:22px; color:var(--text-3); font-size:13px; flex-wrap:wrap;}
.hero-trust .iso{display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:11.5px; letter-spacing:.04em; padding:3px 10px; border:1px solid var(--border); border-radius:20px; color:var(--text-2);}
.hero-trust .iso svg{width:13px; height:13px; color:var(--sev-low);}

/* browser mockup */
.mock{
  margin-top:64px; position:relative; z-index:2; border-radius:var(--r-lg);
  background:var(--surface); border:1px solid var(--border-strong);
  box-shadow:var(--shadow-lg); overflow:hidden;
}
.mock-bar{
  display:flex; align-items:center; gap:8px; padding:0 16px; height:42px;
  background:var(--bg-2); border-bottom:1px solid var(--border);
}
.mock-dots{display:flex; gap:7px;}
.mock-dots span{width:11px; height:11px; border-radius:50%; background:var(--surface-3);}
.mock-url{
  margin:0 auto; display:flex; align-items:center; gap:8px; font-family:var(--mono); font-size:12px; color:var(--text-3);
  background:var(--surface); border:1px solid var(--border); border-radius:6px; padding:5px 14px; min-width:280px; justify-content:center;
}
.mock-url svg{width:12px; height:12px; color:var(--sev-low);}
.mock img{width:100%; display:block;}
.hero-mock-wrap{position:relative; z-index:2; max-width:1080px; margin:64px auto 0;}
.hero-mock-wrap .mock{margin-top:0;}
.hero-mock-wrap::after{
  content:""; position:absolute; left:8%; right:8%; bottom:-30px; height:60px; z-index:1;
  background:var(--accent-glow); filter:blur(44px); opacity:.4; border-radius:50%;
}

/* ---------- stats / prova social ---------- */
.stats{border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg-2);}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
.stat{padding:44px 28px; text-align:center; border-right:1px solid var(--border);}
.stat:last-child{border-right:none;}
.stat-num{font-family:var(--mono); font-size:clamp(34px,4vw,46px); font-weight:600; letter-spacing:-0.02em; line-height:1;}
.stat-num em{font-style:normal; color:var(--accent);}
.stat-label{color:var(--text-2); font-size:14px; margin-top:12px; text-wrap:balance;}

/* ---------- como funciona / flow ---------- */
.flow-stepper{
  display:flex; align-items:stretch; gap:14px; overflow-x:auto; padding-bottom:8px;
  scrollbar-width:thin;
}
.flow-step{
  flex:1; min-width:160px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md);
  padding:22px 20px; position:relative; transition:border-color .18s,transform .18s,background .18s;
}
.flow-step:hover{border-color:var(--border-strong); background:var(--surface-2); transform:translateY(-3px);}
.flow-step .fs-num{
  width:34px; height:34px; border-radius:9px; background:var(--bg-2); border:1px solid var(--border-strong);
  display:grid; place-items:center; font-family:var(--mono); font-size:13px; color:var(--accent); font-weight:600; margin-bottom:16px;
}
.flow-step .fs-icon{position:absolute; top:20px; right:20px; color:var(--text-faint);}
.flow-step .fs-icon svg{width:19px; height:19px;}
.flow-step h4{font-size:15.5px; font-weight:600; letter-spacing:-0.01em;}
.flow-step p{color:var(--text-3); font-size:13px; margin-top:8px; line-height:1.5;}
.flow-row{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.flow-loop{
  margin-top:18px; display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:var(--r);
  background:var(--sev-info-tint, rgba(110,147,201,0.15)); border:1px solid rgba(110,147,201,0.28);
}
.flow-loop svg{width:18px; height:18px; color:var(--sev-info); flex-shrink:0;}
.flow-loop b{color:var(--text); font-weight:600;}
.flow-loop span{color:var(--text-2); font-size:14px;}

/* ---------- features ---------- */
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.feat{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:28px;
  transition:border-color .18s,transform .18s,background .18s; position:relative; overflow:hidden;
}
.feat:hover{border-color:var(--border-strong); transform:translateY(-3px);}
.feat-ico{
  width:46px; height:46px; border-radius:11px; background:var(--accent-tint); border:1px solid rgba(198,11,11,0.24);
  display:grid; place-items:center; margin-bottom:20px;
}
.feat-ico svg{width:22px; height:22px; color:#F2898C;}
.feat h3{font-size:18px; font-weight:600; letter-spacing:-0.01em;}
.feat p{color:var(--text-2); font-size:14.5px; margin-top:10px; line-height:1.6;}
.feat .feat-tags{display:flex; flex-wrap:wrap; gap:7px; margin-top:16px;}
.tag{display:inline-flex; align-items:center; font-family:var(--mono); font-size:11px; padding:3px 9px; border-radius:5px; background:var(--surface-2); border:1px solid var(--border); color:var(--text-3);}

/* ---------- showcase / mockups ---------- */
.showcase{display:flex; flex-direction:column; gap:120px;}
.show-row{display:grid; grid-template-columns:1fr 1.18fr; gap:64px; align-items:center;}
.show-row.rev{grid-template-columns:1.18fr 1fr;}
.show-row.rev .show-copy{order:2;}
.show-copy .eyebrow{margin-bottom:18px;}
.show-copy h3{font-size:clamp(26px,3vw,34px); font-weight:600; letter-spacing:-0.025em; line-height:1.12;}
.show-copy p{color:var(--text-2); font-size:17px; margin-top:18px; text-wrap:pretty;}
.show-list{margin-top:24px; display:flex; flex-direction:column; gap:13px;}
.show-list li{display:flex; gap:12px; align-items:flex-start; list-style:none; color:var(--text-2); font-size:15px;}
.show-list{padding:0; margin-left:0;}
.show-list .ck{width:22px; height:22px; border-radius:50%; background:var(--sev-low-tint, rgba(79,180,119,0.15)); border:1px solid rgba(79,180,119,0.3); display:grid; place-items:center; flex-shrink:0; margin-top:1px;}
.show-list .ck svg{width:13px; height:13px; color:var(--sev-low);}
.show-mock{position:relative;}
.show-mock .mock{margin-top:0;}
.show-mock::after{content:""; position:absolute; inset:auto 10% -22px 10%; height:50px; background:var(--accent-glow); filter:blur(40px); opacity:.3; border-radius:50%; z-index:-1;}

/* ---------- data exposure spotlight ---------- */
.dx{background:linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 100%); border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden;}
.dx-inner{display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:center;}
.dx-copy .eyebrow{color:#F2898C;}
.dx-copy .eyebrow::before{background:#F2898C;}
.dx-copy h2{font-size:clamp(28px,3.5vw,40px); font-weight:600; letter-spacing:-0.03em; line-height:1.1; margin-top:18px;}
.dx-copy p{color:var(--text-2); font-size:17px; margin-top:18px; text-wrap:pretty;}
.dx-metrics{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.dx-metric{background:var(--surface); border:1px solid var(--border); border-radius:var(--r); padding:16px 20px; flex:1; min-width:120px;}
.dx-metric .v{font-family:var(--mono); font-size:30px; font-weight:600; line-height:1;}
.dx-metric .v.crit{color:var(--accent);}
.dx-metric .l{color:var(--text-3); font-size:12.5px; margin-top:8px;}
.dx-mock{position:relative;}
.dx-mock .mock{margin-top:0;}

/* ---------- planos ---------- */
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch;}
.plan{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); padding:32px 28px;
  display:flex; flex-direction:column; position:relative; transition:border-color .18s,transform .18s;
}
.plan:hover{border-color:var(--border-strong); transform:translateY(-3px);}
.plan.featured{border-color:rgba(198,11,11,0.4); background:linear-gradient(180deg,var(--surface) 0%,rgba(198,11,11,0.04) 100%); box-shadow:0 0 50px -22px var(--accent-glow);}
.plan-tag{position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--accent); color:#fff; font-size:11.5px; font-weight:600; padding:4px 14px; border-radius:20px; letter-spacing:.02em; box-shadow:0 0 20px -6px var(--accent-glow);}
.plan-name{font-size:20px; font-weight:600; letter-spacing:-0.01em;}
.plan-price{font-family:var(--mono); font-size:30px; font-weight:600; margin-top:18px; letter-spacing:-0.02em;}
.plan-price small{font-size:14px; color:var(--text-3); font-weight:400; font-family:var(--sans);}
.plan-tagline{color:var(--text-2); font-size:14px; margin-top:12px; min-height:42px;}
.plan-feats{list-style:none; padding:0; margin:24px 0 28px; display:flex; flex-direction:column; gap:12px; flex:1;}
.plan-feats li{display:flex; gap:11px; align-items:flex-start; font-size:14px; color:var(--text-2);}
.plan-feats .ck{width:18px; height:18px; flex-shrink:0; color:var(--sev-low); margin-top:1px;}
.plan-feats .ck svg{width:18px; height:18px;}

/* ---------- about Intelliway ---------- */
.about{background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.about-inner{display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center;}
.about-copy .eyebrow{margin-bottom:18px;}
.about-copy h2{font-size:clamp(28px,3.5vw,40px); font-weight:600; letter-spacing:-0.03em; line-height:1.12;}
.about-copy p{color:var(--text-2); font-size:17px; margin-top:18px; text-wrap:pretty;}
.about-copy p + p{margin-top:14px;}
.cert-cards{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.cert{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:26px;}
.cert .badge-ico{width:48px; height:48px; border-radius:12px; background:var(--sev-low-tint,rgba(79,180,119,0.13)); border:1px solid rgba(79,180,119,0.3); display:grid; place-items:center; margin-bottom:18px;}
.cert .badge-ico svg{width:24px; height:24px; color:var(--sev-low);}
.cert .cert-code{font-family:var(--mono); font-size:13px; color:var(--accent); letter-spacing:.02em;}
.cert h4{font-size:16px; font-weight:600; margin-top:6px;}
.cert p{color:var(--text-3); font-size:13px; margin-top:8px; line-height:1.5;}
.cert.full{grid-column:1/-1; display:flex; align-items:center; gap:22px;}
.cert.full .badge-ico{margin-bottom:0;}
.cert.full div h4{margin-top:0;}

/* ---------- ISA agent ---------- */
.isa{background:var(--bg-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); overflow:hidden;}
.isa-inner{display:grid; grid-template-columns:0.82fr 1.18fr; gap:60px; align-items:center;}
.isa-photo{position:relative; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border-strong); box-shadow:var(--shadow-lg); aspect-ratio:1/1.16;}
.isa-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 14%; display:block;}
.isa-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(22,25,26,0) 50%, rgba(22,25,26,0.82) 100%); pointer-events:none;}
.isa-photo::before{content:""; position:absolute; inset:0; border-radius:var(--r-lg); box-shadow:inset 0 0 0 1px rgba(198,11,11,0.18); z-index:2; pointer-events:none;}
.isa-photo .isa-badge{position:absolute; left:18px; bottom:18px; z-index:3; display:flex; align-items:center; gap:11px; background:rgba(20,22,23,0.78); backdrop-filter:blur(10px); border:1px solid var(--border-strong); border-radius:30px; padding:8px 16px 8px 9px;}
.isa-photo .isa-av{width:30px; height:30px; border-radius:50%; background:var(--accent); display:grid; place-items:center; flex-shrink:0; font-family:var(--mono); font-weight:600; font-size:12px; color:#fff; box-shadow:0 0 16px -4px var(--accent-glow);}
.isa-photo .isa-meta{line-height:1.25;}
.isa-photo .isa-meta b{display:block; font-size:13.5px; font-weight:600; color:var(--text);}
.isa-photo .isa-meta span{display:flex; align-items:center; gap:6px; font-size:11.5px; font-family:var(--mono); color:var(--text-3);}
.isa-photo .isa-meta span i{width:6px; height:6px; border-radius:50%; background:var(--sev-low); font-style:normal; box-shadow:0 0 0 0 rgba(79,180,119,.5); animation:livepulse 2s infinite;}
.isa-glow{position:absolute; left:-120px; top:50%; transform:translateY(-50%); width:480px; height:480px; background:radial-gradient(circle, var(--accent-tint) 0%, transparent 68%); pointer-events:none; z-index:0;}
.isa-copy{position:relative; z-index:2;}
.isa-copy .eyebrow{margin-bottom:18px;}
.isa-copy h2{font-size:clamp(28px,3.5vw,40px); font-weight:600; letter-spacing:-0.03em; line-height:1.12;}
.isa-copy > p{color:var(--text-2); font-size:17px; margin-top:18px; text-wrap:pretty;}
.isa-adv{margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:20px 28px;}
.isa-adv .adv{display:flex; gap:14px; align-items:flex-start;}
.isa-adv .adv-ico{width:40px; height:40px; border-radius:10px; background:var(--accent-tint); border:1px solid rgba(198,11,11,0.24); display:grid; place-items:center; flex-shrink:0;}
.isa-adv .adv-ico svg{width:19px; height:19px; color:#F2898C;}
.isa-adv .adv h4{font-size:15px; font-weight:600; letter-spacing:-0.01em;}
.isa-adv .adv p{color:var(--text-3); font-size:13.5px; margin-top:6px; line-height:1.5;}
@media (max-width:880px){
  .isa-inner{grid-template-columns:1fr; gap:36px;}
  .isa-photo{max-width:440px; margin:0 auto;}
  .isa-adv{grid-template-columns:1fr;}
}

/* ---------- FAQ ---------- */
.faq{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
.faq details{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden; transition:border-color .18s;}
.faq details[open]{border-color:var(--border-strong);}
.faq summary{
  list-style:none; cursor:pointer; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px;
  font-size:17px; font-weight:500; letter-spacing:-0.01em; color:var(--text);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .q-ico{width:24px; height:24px; flex-shrink:0; color:var(--text-3); transition:transform .2s,color .2s;}
.faq details[open] summary .q-ico{transform:rotate(45deg); color:var(--accent);}
.faq .faq-body{padding:0 24px 24px; color:var(--text-2); font-size:15px; line-height:1.65; max-width:68ch;}

/* ---------- final CTA ---------- */
.final{position:relative; overflow:hidden; text-align:center;}
.final-glow{position:absolute; inset:0; z-index:0; background:radial-gradient(ellipse 60% 100% at 50% 100%, var(--accent-tint) 0%, transparent 65%);}
.final .wrap{position:relative; z-index:2;}
.final h2{font-size:clamp(32px,4.5vw,52px); font-weight:600; letter-spacing:-0.035em; line-height:1.05; max-width:18ch; margin:0 auto; text-wrap:balance;}
.final p{color:var(--text-2); font-size:18px; margin:22px auto 0; max-width:54ch;}
.final .domain-cta{margin-top:36px;}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--border); background:var(--bg-2); padding:64px 0 40px;}
.footer-top{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid var(--border);}
.footer-brand p{color:var(--text-3); font-size:14px; margin-top:16px; max-width:34ch; line-height:1.6;}
.footer-col h5{font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-3); font-weight:600; margin-bottom:16px; font-family:var(--mono);}
.footer-col a{display:block; color:var(--text-2); font-size:14px; padding:6px 0; transition:color .14s;}
.footer-col a:hover{color:var(--text);}
.footer-bottom{display:flex; align-items:center; justify-content:space-between; padding-top:28px; gap:20px; flex-wrap:wrap;}
.footer-bottom p{color:var(--text-3); font-size:13px;}
.footer-iso{display:flex; gap:10px;}
.footer-iso .iso{display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:11px; padding:4px 11px; border:1px solid var(--border); border-radius:20px; color:var(--text-2);}
.footer-iso .iso svg{width:12px; height:12px; color:var(--sev-low);}

/* reveal animation */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none;}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav-links{display:none;}
  .stats .wrap{grid-template-columns:repeat(2,1fr);}
  .stat:nth-child(2){border-right:none;}
  .stat{border-bottom:1px solid var(--border);}
  .flow-row{grid-template-columns:repeat(2,1fr);}
  .feat-grid{grid-template-columns:1fr 1fr;}
  .show-row,.show-row.rev{grid-template-columns:1fr; gap:36px;}
  .show-row.rev .show-copy{order:0;}
  .dx-inner,.about-inner{grid-template-columns:1fr; gap:40px;}
  .plans{grid-template-columns:1fr; max-width:440px; margin:0 auto;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .showcase{gap:80px;}
}
@media (max-width:560px){
  .section{padding:72px 0;}
  .feat-grid{grid-template-columns:1fr;}
  .stats .wrap{grid-template-columns:1fr;}
  .stat{border-right:none;}
  .footer-top{grid-template-columns:1fr;}
  .cert-cards{grid-template-columns:1fr;}
}

/* ============================================================================
   PÁGINA DE ANÁLISE (analise.html)
   ============================================================================ */
.an-body [hidden]{display:none !important;} /* garante que o atributo hidden vença display:flex/grid */
.an-body{padding-top:68px;}
.an-main{padding:40px 0 80px; min-height:60vh;}

/* form de nova análise no nav */
.an-newscan{display:flex; gap:8px; margin-left:auto; align-items:center;}
.an-newscan .domain-field{min-width:0; width:230px; padding:0 12px;}
.an-newscan .domain-field input{padding:9px 0; font-size:13px;}
.an-newscan .btn{padding:9px 14px;}
@media (max-width:620px){ .an-newscan .domain-field{width:140px;} }

/* estado vazio */
.an-empty{display:flex; justify-content:center; padding:60px 0;}
.an-empty-card{max-width:560px; text-align:center;}
.an-empty-card h1{font-size:clamp(26px,4vw,36px); font-weight:600; letter-spacing:-0.03em;}
.an-empty-card p{color:var(--text-2); font-size:17px; margin-top:14px;}
.an-empty-card .domain-cta{margin-top:28px;}

/* cabeçalho da análise */
.an-head{padding:24px 0 8px;}
.an-head h1{font-size:clamp(28px,4vw,42px); font-weight:600; letter-spacing:-0.03em; margin-top:14px; line-height:1.1;}
.an-head h1 .mono{color:var(--accent);}
.an-sub{color:var(--text-2); font-size:16px; margin-top:14px; max-width:70ch;}
.an-sub b{color:var(--text);}

/* painel de score */
.score-panel{
  display:flex; align-items:center; gap:28px; margin-top:32px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:26px 30px; box-shadow:var(--shadow);
}
.score-grade{
  width:96px; height:96px; border-radius:50%; flex-shrink:0; display:grid; place-items:center;
  border:3px solid var(--border-strong); background:var(--bg-2); transition:border-color .4s;
}
.score-grade .sg-letter{font-size:42px; font-weight:600; letter-spacing:-0.04em; color:var(--text-3);}
.score-grade.grade-low{border-color:var(--sev-low);} .score-grade.grade-low .sg-letter{color:var(--sev-low);}
.score-grade.grade-med{border-color:var(--sev-med);} .score-grade.grade-med .sg-letter{color:var(--sev-med);}
.score-grade.grade-high{border-color:var(--sev-high);} .score-grade.grade-high .sg-letter{color:var(--sev-high);}
.score-grade.grade-crit{border-color:var(--sev-crit);} .score-grade.grade-crit .sg-letter{color:var(--sev-crit);}
.score-info{flex:1; min-width:0;}
.score-level{font-size:20px; font-weight:600; letter-spacing:-0.01em;}
.score-bar{height:7px; border-radius:6px; background:var(--surface-3); margin:14px 0; overflow:hidden;}
.score-bar span{display:block; height:100%; width:0; border-radius:6px; background:var(--sev-info); transition:width .6s cubic-bezier(.16,1,.3,1),background .4s;}
.score-bar span.fill-low{background:var(--sev-low);} .score-bar span.fill-med{background:var(--sev-med);}
.score-bar span.fill-high{background:var(--sev-high);} .score-bar span.fill-crit{background:var(--sev-crit);}
.score-counts{display:flex; gap:18px; flex-wrap:wrap; font-size:13.5px; color:var(--text-2);}
.score-counts .sc b{font-family:var(--mono); font-weight:600; color:var(--text); margin-right:4px;}
.score-counts .sc.crit b{color:var(--sev-crit);} .score-counts .sc.high b{color:var(--sev-high);} .score-counts .sc.med b{color:var(--sev-med);}
.score-counts .sc.done{margin-left:auto; color:var(--text-3);}
@media (max-width:560px){ .score-panel{flex-direction:column; text-align:center;} .score-counts{justify-content:center;} .score-counts .sc.done{margin-left:0;} }

/* banner de rate-limit */
.an-banner{margin-top:22px; padding:14px 18px; border-radius:var(--r); background:var(--accent-tint); border:1px solid rgba(198,11,11,0.3); color:#F2898C; font-size:14px;}

/* loading com persona ISA (compacto, avatar no círculo) */
.an-loading{display:flex; align-items:center; gap:18px; margin-top:30px; padding:18px 22px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md);}
.il-photo{position:relative; width:52px; height:52px; border-radius:50%; overflow:hidden; flex-shrink:0; border:1px solid var(--border-strong);}
.il-photo img{width:100%; height:100%; object-fit:cover; object-position:50% 22%;}
.il-pulse{position:absolute; right:2px; bottom:2px; width:11px; height:11px; border-radius:50%; background:var(--sev-low); border:2px solid var(--surface); box-shadow:0 0 0 0 rgba(79,180,119,.5); animation:livepulse 2s infinite;}
.il-text{display:flex; flex-direction:column; gap:3px;}
.il-text b{font-size:15px; font-weight:600;}
.il-text b .mono{color:var(--accent);}
.il-text span{color:var(--text-3); font-size:13.5px;}

/* grid de resultados */
.results-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px;}
@media (max-width:980px){ .results-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .results-grid{grid-template-columns:1fr;} }

.rcard{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:20px; position:relative; overflow:hidden; transition:border-color .25s;}
.rcard.st-crit{border-color:rgba(229,72,77,0.45);}
.rcard.st-high{border-color:rgba(232,131,58,0.45);}
.rcard.st-warn{border-color:rgba(229,185,78,0.40);}
.rcard.st-ok{border-color:rgba(79,180,119,0.30);}
.rc-head{display:flex; align-items:center; gap:11px; margin-bottom:14px;}
.rc-ico{width:34px; height:34px; border-radius:9px; background:var(--accent-tint); border:1px solid rgba(198,11,11,0.22); display:grid; place-items:center; flex-shrink:0;}
.rc-ico svg{width:17px; height:17px; color:#F2898C;}
.rc-head h3{font-size:15px; font-weight:600; letter-spacing:-0.01em; flex:1; min-width:0;}
.rc-pill{font-family:var(--mono); font-size:10.5px; font-weight:500; text-transform:uppercase; letter-spacing:.06em; padding:3px 9px; border-radius:20px; background:var(--surface-2); color:var(--text-3); border:1px solid var(--border); display:inline-flex; align-items:center; gap:5px; white-space:nowrap;}
.rc-pill.st-ok{background:rgba(79,180,119,0.14); color:var(--sev-low); border-color:rgba(79,180,119,0.3);}
.rc-pill.st-warn{background:rgba(229,185,78,0.13); color:var(--sev-med); border-color:rgba(229,185,78,0.3);}
.rc-pill.st-high{background:rgba(232,131,58,0.14); color:var(--sev-high); border-color:rgba(232,131,58,0.3);}
.rc-pill.st-crit{background:var(--accent-tint); color:#F2898C; border-color:rgba(198,11,11,0.3);}
.rc-pill.st-info{background:rgba(110,147,201,0.14); color:var(--sev-info); border-color:rgba(110,147,201,0.3);}
.rc-pill.st-na{background:var(--surface-2); color:var(--text-faint);}
.rc-spin{width:11px; height:11px; border-radius:50%; border:2px solid var(--border-strong); border-top-color:var(--accent); animation:rcspin .7s linear infinite;}
@keyframes rcspin{to{transform:rotate(360deg);}}
.rc-body{font-size:13.5px; color:var(--text-2);}

/* skeleton */
.rc-skel{height:12px; border-radius:5px; margin:9px 0; background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%); background-size:400% 100%; animation:shimmer 1.4s ease infinite;}
.rc-skel.short{width:55%;}
@keyframes shimmer{0%{background-position:100% 0;}100%{background-position:-100% 0;}}
@media (prefers-reduced-motion:reduce){.rc-skel,.rc-spin{animation:none;}}

/* conteúdo dos cards */
.r-kv .kv{display:flex; justify-content:space-between; gap:14px; padding:6px 0; border-bottom:1px solid var(--border-faint);}
.r-kv .kv:last-child{border-bottom:none;}
.r-kv .kv span{color:var(--text-3);}
.r-kv .kv b{font-weight:500; color:var(--text); text-align:right; word-break:break-word;}
.ok-txt{color:var(--sev-low);} .warn-txt{color:var(--sev-high);} .crit-txt{color:var(--sev-crit);}
.r-pills{display:flex; flex-wrap:wrap; gap:6px;}
.rp{font-family:var(--mono); font-size:11px; padding:3px 9px; border-radius:5px; background:var(--surface-2); border:1px solid var(--border); color:var(--text-2);}
.rp.crit{background:var(--accent-tint); color:#F2898C; border-color:rgba(198,11,11,0.3);}
.rp.high{background:rgba(232,131,58,0.14); color:var(--sev-high); border-color:rgba(232,131,58,0.3);}
.rp.med{background:rgba(229,185,78,0.13); color:var(--sev-med); border-color:rgba(229,185,78,0.3);}
.r-checks{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px;}
.r-checks li{display:flex; align-items:center; gap:9px; font-size:13.5px;}
.r-checks li svg{width:15px; height:15px; flex-shrink:0;}
.r-checks li.yes{color:var(--text-2);} .r-checks li.yes svg{color:var(--sev-low);}
.r-checks li.no{color:var(--text-3);} .r-checks li.no svg{color:var(--sev-crit);}
.r-chain{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px;}
.r-chain li{font-size:11.5px; color:var(--text-3); padding-left:16px; position:relative; word-break:break-all;}
.r-chain li::before{content:"↳"; position:absolute; left:0; color:var(--text-faint);}
.r-chain li:first-child::before{content:"•";}
.r-shot{width:100%; border-radius:var(--r-sm); border:1px solid var(--border); display:block;}
.r-muted{color:var(--text-3); font-size:13px; margin:4px 0 0;}

/* CTA final da análise */
.an-cta{position:relative; margin-top:48px; border-radius:var(--r-xl); overflow:hidden; border:1px solid rgba(198,11,11,0.3); background:linear-gradient(180deg,var(--surface) 0%,rgba(198,11,11,0.05) 100%); opacity:0; transform:translateY(18px); transition:opacity .6s,transform .6s;}
.an-cta.in{opacity:1; transform:none;}
.an-cta-glow{position:absolute; inset:auto 20% -40px 20%; height:80px; background:var(--accent-glow); filter:blur(50px); opacity:.5;}
.an-cta-inner{position:relative; z-index:2; padding:48px 40px; text-align:center;}
.an-cta-inner h2{font-size:clamp(24px,3vw,34px); font-weight:600; letter-spacing:-0.025em; margin-top:14px; line-height:1.12; max-width:24ch; margin-left:auto; margin-right:auto;}
.an-cta-inner p{color:var(--text-2); font-size:16px; margin:16px auto 28px; max-width:62ch;}
.an-footer{margin-top:0;}
