:root{
  --navy:#141d31;
  --navy-strong:#10182a;
  --navy-soft:#25324c;
  --blue:#3c69ea;
  --blue-strong:#2b56cf;
  --blue-soft:#8db8ff;
  --orange:#f6a313;
  --red:#ff5050;
  --surface:#ffffff;
  --surface-soft:#f5f8fd;
  --surface-alt:#eef3fb;
  --line:#d5deec;
  --line-soft:#e7edf7;
  --text:#16233d;
  --text-strong:#0f1b32;
  --muted:#60708b;
  --hero-text:#f8fbff;
  --hero-muted:#c7d3e8;
  --success:#1d7a61;
  --container:1180px;
  --radius-xl:24px;
  --radius-lg:20px;
  --radius-md:16px;
  --radius-sm:12px;
  --shadow-xl:0 18px 38px rgba(14,25,45,0.12);
  --shadow-lg:0 12px 26px rgba(14,25,45,0.07);
  --shadow-md:0 8px 18px rgba(14,25,45,0.05);
  --nav-button-width:7.65rem;
}

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

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--surface-alt);
  color:var(--text);
  font-family:"Manrope","Segoe UI",sans-serif;
}

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

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
textarea{
  font:inherit;
}

.hidden{
  display:none !important;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link{
  position:absolute;
  left:16px;
  top:-48px;
  z-index:60;
  padding:12px 16px;
  border-radius:999px;
  background:#ffffff;
  color:var(--navy);
  font-weight:800;
  transition:top .2s ease;
}

.skip-link:focus{
  top:16px;
}

.container{
  width:min(calc(100% - 40px), var(--container));
  margin:0 auto;
}

.page-shell{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(141,184,255,0.08), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.72));
}

.site-header{
  position:sticky;
  top:0;
  z-index:40;
  padding:12px 0;
  background:rgba(20,29,49,0.84);
  backdrop-filter:blur(16px);
  border-bottom:1px solid transparent;
  transition:padding .25s ease, background .25s ease, border-color .25s ease;
}

.site-header.is-scrolled{
  padding:10px 0;
  background:rgba(20,29,49,0.96);
  border-color:rgba(255,255,255,0.08);
}

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

.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:0;
  text-decoration:none;
}

.brand--stacked{
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}

.brand-logo-mark{
  display:block;
  height:clamp(46px,11.2vw,52px);
  width:auto;
  max-width:min(260px,58vw);
  object-fit:contain;
  object-position:left center;
}

/* Lock-up AppContabill: fallback clip no img (navegadores sem :has) */
.brand-logo-mark[src*="logo-appcontabill"],
.brand-logo-mark--footer[src*="logo-appcontabill"]{
  border-radius:12px;
  -webkit-clip-path:inset(0 round 12px);
  clip-path:inset(0 round 12px);
}

/* Com :has: pai com overflow:hidden — corte fiável em todos os cantos */
a.brand--stacked:has(> img.brand-logo-mark[src*="logo-appcontabill"]){
  display:inline-block;
  border-radius:12px;
  overflow:hidden;
  line-height:0;
  max-width:min(268px,58vw);
}

a.brand-footer.brand--stacked:has(> img.brand-logo-mark[src*="logo-appcontabill"]){
  max-width:min(242px,77vw);
}

a.brand--stacked:has(> img.brand-logo-mark[src*="logo-appcontabill"]) .brand-logo-mark[src*="logo-appcontabill"]{
  border-radius:0;
  -webkit-clip-path:none;
  clip-path:none;
}

.brand-logo-mark--footer{
  height:49px;
  max-width:min(242px,77vw);
}

.brand-tagline{
  color:var(--blue-soft);
  font-size:0.74rem;
  line-height:1.35;
  max-width:26ch;
}

.site-nav{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1;
  justify-content:flex-end;
  min-width:0;
}

.header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}

.site-nav > a{
  position:relative;
  color:var(--hero-muted);
  font-size:0.82rem;
  font-weight:700;
  transition:color .2s ease;
}

.site-nav > a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--blue), var(--blue-soft));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}

.site-nav > a:hover,
.site-nav > a.is-active{
  color:#ffffff;
}

.site-nav > a:hover::after,
.site-nav > a.is-active::after{
  transform:scaleX(1);
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:5px;
  margin-left:4px;
  flex-shrink:0;
}

.lang-select{
  min-height:36px;
  min-width:7.7rem;
  padding:0 26px 0 10px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  font-size:0.76rem;
  font-weight:700;
  outline:none;
}

.lang-select option{
  color:var(--text-strong);
}

.palop-menu-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.palop-menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  font-size:0.76rem;
  font-weight:800;
  letter-spacing:0.02em;
  cursor:pointer;
}

.palop-menu-toggle:hover{
  background:rgba(255,255,255,0.14);
}

.palop-menu-list{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:220px;
  padding:8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(20,29,49,0.98);
  box-shadow:0 16px 36px rgba(0,0,0,0.28);
  display:grid;
  gap:4px;
  z-index:70;
}

.palop-footer-item{
  position:relative;
}

.footer-legal-column .palop-menu-wrap{
  width:100%;
}

.footer-legal-column .palop-menu-toggle{
  width:100%;
  justify-content:flex-start;
}

.footer-legal-column .palop-menu-list{
  top:auto;
  bottom:calc(100% + 8px);
  left:0;
  right:auto;
}

.palop-menu-list a{
  color:#fff;
  text-decoration:none;
  font-size:0.84rem;
  font-weight:700;
  padding:7px 9px;
  border-radius:8px;
}

.palop-menu-list a:hover{
  background:rgba(255,255,255,0.12);
}

.nav-toggle{
  display:none;
  width:50px;
  height:50px;
  padding:0;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:16px;
  background:rgba(255,255,255,0.06);
  cursor:pointer;
}

.nav-toggle span{
  display:block;
  width:20px;
  height:2px;
  margin:5px auto;
  border-radius:999px;
  background:#ffffff;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:0 16px;
  border:1px solid transparent;
  border-radius:999px;
  min-width:9.75rem;
  font-size:0.84rem;
  font-weight:800;
  letter-spacing:-0.01em;
  line-height:1;
  text-align:center;
  white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-small{
  min-height:37px;
  min-width:0;
  padding:0 14px;
}

.nav-actions .btn{
  width:var(--nav-button-width);
  min-width:0;
  min-height:36px;
  padding:0 10px;
  font-size:0.75rem;
  line-height:1.1;
}

#navAppButton{
  background:#ffffff;
  color:var(--navy);
  border-color:#ffffff;
}

#navAppButton:hover{
  background:#eef4ff;
  border-color:#eef4ff;
}

.btn-block{
  width:100%;
  min-width:0;
}

.btn-primary{
  background:linear-gradient(135deg, var(--blue), #5c8cff);
  color:#ffffff;
  box-shadow:0 16px 32px rgba(60,105,234,0.28);
}

.btn-secondary{
  background:#ffffff;
  color:var(--navy);
  border-color:#d9e3f2;
  box-shadow:var(--shadow-md);
}

.site-header .btn-secondary{
  background:rgba(255,255,255,0.08);
  color:#ffffff;
  border-color:rgba(255,255,255,0.16);
  box-shadow:none;
}

.btn-ghost{
  background:var(--orange);
  color:#ffffff;
  border-color:#e39a12;
  box-shadow:0 14px 28px rgba(246,163,19,0.22);
}

.section{
  position:relative;
  padding:72px 0;
  background:var(--surface-soft);
}

.section-alt{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.68), rgba(238,243,251,0.94)),
    var(--surface-alt);
}

.section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(60,105,234,0.03), transparent 18%, transparent 82%, rgba(60,105,234,0.03)),
    linear-gradient(180deg, rgba(255,255,255,0.22), transparent 24%);
  opacity:.7;
}

.section-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(60,105,234,0.08);
  border:1px solid rgba(60,105,234,0.12);
  color:var(--blue-strong);
  font-size:0.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.section-heading{
  max-width:720px;
  margin-bottom:30px;
}

.section-heading.centered{
  margin-inline:auto;
  text-align:center;
}

.section-heading h2{
  margin:12px 0 10px;
  color:var(--text-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(1.48rem, 2.6vw, 2.02rem);
  line-height:1.14;
  letter-spacing:-0.05em;
}

.section-heading p{
  margin:0;
  color:var(--muted);
  font-size:0.89rem;
  line-height:1.68;
}

.hero-section{
  position:relative;
  padding:6px 0 52px;
  background:
    radial-gradient(circle at 12% 0%, rgba(141,184,255,0.16), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(60,105,234,0.22), transparent 22%),
    linear-gradient(180deg, var(--navy) 0%, var(--navy-strong) 100%);
  overflow:hidden;
}

.hero-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.32), transparent 82%);
  pointer-events:none;
}

.hero-section::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:120px;
  background:linear-gradient(180deg, rgba(9,21,38,0), rgba(9,21,38,0.34));
  pointer-events:none;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr);
  gap:30px;
  align-items:start;
}

.hero-copy{
  position:relative;
  z-index:1;
  min-width:0;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.1);
  color:var(--hero-text);
  font-weight:700;
}

.eyebrow-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--blue-soft);
  box-shadow:0 0 18px rgba(141,184,255,0.55);
}

.hero-copy h1{
  margin:0 0 14px;
  max-width:100%;
  color:var(--hero-text);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(1.92rem, 3.8vw, 3rem);
  line-height:1.12;
  letter-spacing:-0.04em;
  overflow-wrap:anywhere;
  word-break:normal;
}

.lead{
  max-width:62ch;
  margin:0;
  color:var(--hero-muted);
  font-size:0.91rem;
  line-height:1.68;
}

.hero-copy .lead{
  font-size:calc(0.91rem * 0.8);
  line-height:1.65;
}

.hero-copy .hero-sublead{
  max-width:62ch;
  margin:10px 0 0;
  color:var(--hero-muted);
  font-size:calc(0.91rem * 0.78);
  line-height:1.62;
}

.hero-copy .hero-sublead[hidden]{
  display:none;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.hero-actions .btn,
.cta-actions .btn{
  min-width:10.75rem;
}

.hero-actions--preview-card{
  position:relative;
  z-index:1;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid #dbe4f2;
  justify-content:stretch;
}

.hero-actions--preview-card .btn-primary{
  background:linear-gradient(180deg, #3d69eb 0%, #2a56d6 100%);
  color:#ffffff;
  border-color:transparent;
  box-shadow:0 12px 28px rgba(42,86,214,0.42), 0 2px 0 rgba(255,255,255,0.35) inset;
}

.hero-actions--preview-card .btn-primary:hover{
  background:linear-gradient(180deg, #4a75f5 0%, #325fe8 100%);
  box-shadow:0 14px 32px rgba(42,86,214,0.5), 0 2px 0 rgba(255,255,255,0.4) inset;
}

.hero-actions--preview-card .btn-secondary{
  background:#ffffff;
  color:var(--navy);
  border:2px solid var(--navy);
  box-shadow:0 8px 20px rgba(15,35,62,0.12);
}

.hero-actions--preview-card .btn-secondary:hover{
  background:#f1f5ff;
  border-color:var(--blue-strong);
  color:var(--blue-strong);
  box-shadow:0 10px 24px rgba(15,35,62,0.14);
}

.hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.hero-proof div{
  min-width:220px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  border:1px solid rgba(255,255,255,0.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}

.hero-proof strong{
  display:block;
  margin-bottom:6px;
  color:var(--blue-soft);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:0.94rem;
}

.hero-proof span{
  color:var(--hero-muted);
  font-size:0.84rem;
  line-height:1.5;
}

.hero-visual{
  min-width:0;
  position:relative;
}

.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(18px);
  pointer-events:none;
}

.hero-orb-left{
  inset:120px auto auto -120px;
  width:320px;
  height:320px;
  background:radial-gradient(circle, rgba(141,184,255,0.25), transparent 68%);
}

.hero-orb-right{
  inset:auto -120px 70px auto;
  width:420px;
  height:420px;
  background:radial-gradient(circle, rgba(60,105,234,0.25), transparent 68%);
}

.visual-card{
  position:relative;
  padding:20px;
  border-radius:var(--radius-xl);
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid #e5edf8;
  box-shadow:0 30px 60px rgba(5,17,35,0.24);
  overflow:hidden;
}

.visual-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:140px;
  background:linear-gradient(180deg, rgba(141,184,255,0.18), rgba(141,184,255,0));
  pointer-events:none;
}

.visual-card::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,0.52);
  border-radius:calc(var(--radius-xl) - 8px);
  pointer-events:none;
}

.dashboard-preview{
  min-height:520px;
  display:flex;
  flex-direction:column;
}

.preview-head{
  width:100%;
  margin-top:0;
  min-width:0;
}

.preview-head__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 16px;
  width:100%;
  max-width:100%;
  min-width:0;
}

.preview-kicker{
  flex:0 0 auto;
  margin:0;
  color:var(--blue-strong);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.72rem;
}

.preview-head h2{
  flex:1 1 min(0, 100%);
  margin:0;
  min-width:0;
  max-width:100%;
  color:var(--text-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(1.12rem, 2.35vw, 1.82rem);
  line-height:1.14;
  letter-spacing:-0.03em;
  overflow-wrap:anywhere;
  word-break:normal;
  text-wrap:balance;
}

.preview-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin-top:18px;
}

.preview-stats article,
.panel{
  padding:14px;
  border-radius:18px;
  background:#ffffff;
  border:1px solid #e3ebf6;
  box-shadow:var(--shadow-md);
}

.preview-stats span,
.panel-title span{
  display:block;
  color:var(--muted);
  font-size:0.76rem;
}

/* Corpo de texto normal nos cartões brancos (sem negrito / tamanho de título) */
.preview-stats .preview-stat-text{
  display:block;
  margin:6px 0 0;
  padding:0;
  color:var(--text);
  font-family:"Manrope","Segoe UI",sans-serif;
  font-size:0.91rem;
  font-weight:400;
  line-height:1.55;
  letter-spacing:0;
  white-space:normal;
}

.preview-stats small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:0.76rem;
  line-height:1.45;
}

.dashboard-preview .preview-stats small:empty{
  display:none;
  margin:0;
}

.preview-panels{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:10px;
  margin-top:10px;
}

.panel-accent{
  min-height:168px;
  grid-row:span 2;
  background:linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%);
  border-color:#dce7f7;
}

.panel-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.preview-chart-title{
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:10px;
}

.preview-chart-title strong{
  order:-1;
  color:var(--text-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(1.05rem, 2.2vw, 1.3rem);
  font-weight:800;
  letter-spacing:-0.04em;
  line-height:1.22;
}

.preview-chart-title span{
  font-size:0.7rem;
  line-height:1.5;
}

.panel-accent-title{
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:8px;
}

.panel-accent-title strong{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(0.98rem, 1.9vw, 1.2rem);
  font-weight:800;
  letter-spacing:-0.04em;
  line-height:1.25;
}

.panel-accent-title span{
  font-size:0.76rem;
  line-height:1.45;
}

.panel-title strong{
  color:var(--text-strong);
}

.doc-lines{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.capture-demo{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.capture-demo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.capture-trigger{
  min-width:0;
  padding-inline:14px;
}

.capture-demo-status{
  margin:0;
  color:var(--muted);
  font-size:0.8rem;
  line-height:1.55;
}

.panel-accent.is-capture-ready{
  border-color:#bfd5ff;
  box-shadow:0 16px 34px rgba(60,105,234,0.12);
}

.panel-accent.is-capture-ready .doc-lines span{
  background:linear-gradient(90deg, rgba(60,105,234,0.28), rgba(141,184,255,0.9));
}

.doc-lines span{
  display:block;
  height:14px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(60,105,234,0.18), rgba(141,184,255,0.65));
}

.doc-lines span:nth-child(1){ width:88%; }
.doc-lines span:nth-child(2){ width:70%; }
.doc-lines span:nth-child(3){ width:80%; }
.doc-lines span:nth-child(4){ width:54%; }

.chart-bars{
  display:flex;
  align-items:flex-end;
  gap:8px;
  min-height:96px;
  margin-top:16px;
}

.chart-bars span{
  flex:1;
  border-radius:16px 16px 6px 6px;
  background:linear-gradient(180deg, var(--blue-soft), var(--blue));
}

.chart-bars span:nth-child(1){ height:46%; }
.chart-bars span:nth-child(2){ height:74%; }
.chart-bars span:nth-child(3){ height:60%; }
.chart-bars span:nth-child(4){ height:88%; }
.chart-bars span:nth-child(5){ height:68%; }

.timeline-mini{
  display:grid;
  gap:10px;
  padding-left:18px;
  margin:18px 0 0;
  color:var(--muted);
  font-size:0.84rem;
}

.timeline-mini li{
  line-height:1.55;
}

.hosting-infra-section{
  padding:48px 0 56px;
  background:linear-gradient(180deg, rgba(245,248,253,0.98), #fff);
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}

.hosting-infra-inner{
  display:grid;
  gap:22px;
  max-width:920px;
  margin:0 auto;
}

.hosting-infra-copy h2{
  margin:10px 0 0;
  font-size:clamp(1.35rem, 2.6vw, 1.75rem);
  line-height:1.25;
  color:var(--text-strong);
}

.hosting-infra-copy p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:0.95rem;
  line-height:1.65;
}

.hosting-infra-list{
  margin:0;
  padding:0 0 0 1.15rem;
  color:var(--text);
  font-size:0.92rem;
  line-height:1.65;
}

.hosting-infra-list li{
  margin-bottom:10px;
}

.doubts-section{
  padding:36px 0 12px;
  background:var(--surface);
}

.doubts-section .section-heading p{
  max-width:40rem;
  margin-left:auto;
  margin-right:auto;
  color:var(--muted);
  font-size:0.95rem;
  line-height:1.65;
}

.doubts-section .section-heading a{
  color:var(--blue-strong);
  text-decoration:underline;
  text-underline-offset:3px;
}

.doubts-footer-linkbtn{
  display:inline;
  padding:0;
  margin:0;
  border:0;
  background:none;
  color:var(--blue-strong);
  font:inherit;
  font-weight:600;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}

.doubts-footer-linkbtn:hover{
  color:var(--blue);
}

.trust-band{
  padding:22px 0 0;
  margin-top:-8px;
  position:relative;
  z-index:2;
}

.trust-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  align-items:start;
  gap:18px;
  padding:32px 22px 22px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(246,249,255,0.98));
  border:1px solid rgba(213,222,236,0.88);
  box-shadow:0 22px 44px rgba(16,24,42,0.08);
}

.trust-copy{
  display:grid;
  gap:14px;
}

/* Secção legal/compliance (conteúdo gerido por legal-compliance.js) */
.legal-compliance{
  display:grid;
  width:100%;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px 16px;
  align-items:stretch;
}

.legal-compliance__lead,
.trust-lead{
  grid-area:lead;
  margin:0;
  max-width:none;
  width:100%;
  color:var(--muted);
  font-size:0.9rem;
  line-height:1.6;
}

.legal-compliance__disclaimer{
  grid-area:disc;
  margin:0;
  padding-top:4px;
  color:var(--muted);
  font-size:0.78rem;
  line-height:1.55;
  font-style:italic;
}

.legal-lusophone-wrap{
  grid-area:luso;
  margin:0;
  padding-top:8px;
  border-top:1px solid rgba(213,222,236,0.75);
}

.legal-lusophone-title{
  margin:0 0 6px;
  font-size:0.88rem;
  font-weight:800;
  color:var(--text-strong);
  letter-spacing:0.02em;
}

.legal-lusophone-hint{
  margin:0 0 12px;
  font-size:0.8rem;
  line-height:1.55;
  color:var(--muted);
}

.legal-lusophone-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:stretch;
}

.legal-lusophone-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(213,222,236,0.95);
  background:#fff;
  color:var(--text);
  font-size:0.78rem;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  box-shadow:0 4px 10px rgba(15,25,45,0.05);
  transition:background 0.15s ease, border-color 0.15s ease, transform 0.12s ease;
}

.legal-lusophone-btn:hover{
  background:#f4f7fd;
  border-color:#c7d4ee;
}

.legal-lusophone-btn:focus-visible{
  outline:2px solid var(--blue-strong);
  outline-offset:2px;
}

.legal-lusophone-flag{
  font-size:1.15rem;
  line-height:1;
}

.legal-lusophone-label{
  white-space:nowrap;
}

.legal-compliance--eu-pair{
  grid-template-areas:
    "lead lead"
    "eu nat"
    "disc disc";
}

.legal-compliance--eu-pt{
  grid-template-areas:
    "lead lead"
    "eu dl"
    "retention retention"
    "disc disc";
}

.legal-compliance--national-only{
  grid-template-areas:
    "lead lead"
    "nat nat"
    "disc disc";
}

/* PT: barra de países de língua oficial portuguesa (secção legal) */
.legal-compliance--eu-pair.legal-compliance--lusophone{
  grid-template-areas:
    "lead lead"
    "eu nat"
    "disc disc"
    "luso luso";
}

.legal-compliance--eu-pt.legal-compliance--lusophone{
  grid-template-areas:
    "lead lead"
    "eu dl"
    "retention retention"
    "disc disc"
    "luso luso";
}

.legal-compliance--national-only.legal-compliance--lusophone{
  grid-template-areas:
    "lead lead"
    "nat nat"
    "disc disc"
    "luso luso";
}

.legal-compliance-card{
  min-width:0;
}

@media (max-width:720px){
  .legal-compliance--eu-pair{
    grid-template-columns:1fr;
    grid-template-areas:
      "lead"
      "eu"
      "nat"
      "disc";
  }

  .legal-compliance--eu-pair.legal-compliance--lusophone{
    grid-template-areas:
      "lead"
      "eu"
      "nat"
      "disc"
      "luso";
  }

  .legal-compliance--eu-pt{
    grid-template-columns:1fr;
    grid-template-areas:
      "lead"
      "eu"
      "dl"
      "retention"
      "disc";
  }

  .legal-compliance--eu-pt.legal-compliance--lusophone{
    grid-template-areas:
      "lead"
      "eu"
      "dl"
      "retention"
      "disc"
      "luso";
  }

  .legal-compliance--national-only{
    grid-template-columns:1fr;
    grid-template-areas:
      "lead"
      "nat"
      "disc";
  }

  .legal-compliance--national-only.legal-compliance--lusophone{
    grid-template-areas:
      "lead"
      "nat"
      "disc"
      "luso";
  }
}

.legal-seal{
  display:flex;
  align-items:flex-start;
  gap:14px;
  max-width:none;
  padding:14px 16px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(15,31,54,0.97), rgba(10,24,44,0.96));
  border:1px solid rgba(92,130,212,0.34);
  box-shadow:0 18px 36px rgba(6,18,36,0.18);
}

.legal-seal-icon{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(95,138,255,0.22), rgba(48,96,214,0.18));
  border:1px solid rgba(145,178,255,0.34);
}

.legal-seal-icon svg{
  width:22px;
  height:22px;
  fill:#dce8ff;
}

.legal-seal-copy{
  display:grid;
  gap:6px;
}

.legal-seal-label{
  color:rgba(194,213,255,0.92);
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.legal-seal-title{
  color:#ffffff;
  font-size:1rem;
  line-height:1.2;
}

.legal-seal-body{
  margin:0;
  color:rgba(226,235,251,0.86);
  font-size:0.82rem;
  line-height:1.55;
}

.legal-seal-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}

.legal-seal-meta span{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(177,201,255,0.18);
  color:#f5f8ff;
  font-size:0.72rem;
  font-weight:700;
}

.fiscal-retention{
  display:grid;
  gap:8px;
  padding:14px 16px;
  border-radius:20px;
  background:linear-gradient(180deg, #f4f8ff 0%, #eef3fc 100%);
  border:1px solid #d0dff5;
  box-shadow:0 12px 28px rgba(16,24,42,0.06);
}

.fiscal-retention-label{
  color:var(--blue-strong);
  font-size:0.7rem;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.fiscal-retention-title{
  color:var(--text-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:1rem;
  line-height:1.25;
  letter-spacing:-0.03em;
}

.fiscal-retention-body{
  margin:0;
  color:var(--muted);
  font-size:0.82rem;
  line-height:1.55;
}

.fiscal-retention-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}

.fiscal-retention-meta span{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.72);
  border:1px solid #c8d9f0;
  color:var(--text);
  font-size:0.72rem;
  font-weight:700;
}

.pain-section{
  padding-top:48px;
}

.pain-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.pain-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:100%;
  padding:22px 20px;
  border-radius:24px;
  background:linear-gradient(180deg, #ffffff, #f8fbff);
  border:1px solid #dbe5f5;
  box-shadow:0 16px 34px rgba(16,24,42,0.08);
  overflow:hidden;
}

.pain-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, var(--orange), var(--blue), var(--blue-soft));
}

.pain-card h3{
  margin:2px 0 0;
  color:var(--text-strong);
  font-size:0.98rem;
  line-height:1.35;
}

.pain-card p{
  margin:0;
  color:var(--muted);
  font-size:0.87rem;
  line-height:1.62;
}

.audience-section{
  padding-top:48px;
}

.audience-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.audience-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:100%;
  padding:22px 20px 24px;
  border-radius:24px;
  background:linear-gradient(180deg, #ffffff, #f8fbff);
  border:1px solid #dbe5f5;
  box-shadow:0 16px 34px rgba(16,24,42,0.08);
  overflow:hidden;
}

.audience-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, var(--blue), var(--blue-soft), var(--orange));
}

.audience-card__tag{
  display:inline-flex;
  align-self:flex-start;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(60,105,234,0.1);
  color:var(--blue-strong);
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.audience-card h3{
  margin:0;
  color:var(--text-strong);
  font-size:1.02rem;
  line-height:1.35;
}

.audience-card__list{
  margin:0;
  padding:0 0 0 1.15rem;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.55;
}

.audience-card__list li{
  margin:0.35rem 0;
}

.feature-grid-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.split-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(320px, .98fr);
  gap:30px;
  align-items:start;
}

.section-heading > p + p{
  margin-top:16px;
}

.story-card{
  position:relative;
  padding:20px;
  border-radius:var(--radius-xl);
  background:linear-gradient(180deg, #ffffff, #fbfdff);
  border:1px solid var(--line-soft);
  box-shadow:0 18px 38px rgba(14,25,45,0.08);
  overflow:hidden;
}

.story-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, var(--blue-soft), var(--blue));
}

.story-block{
  display:flex;
  gap:16px;
  padding:14px 0;
}

.story-block + .story-block{
  border-top:1px solid var(--line-soft);
}

.story-step{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(60,105,234,0.14), rgba(141,184,255,0.2));
  color:var(--blue-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-weight:800;
}

.story-block h3{
  margin:0 0 8px;
  color:var(--text-strong);
  font-size:0.98rem;
}

.story-block p{
  margin:0;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.6;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.feature-card,
.personal-card,
.pricing-card,
.testimonial-card,
.advantage-item,
.metric-card,
.contact-form{
  display:flex;
  flex-direction:column;
  position:relative;
  border-radius:var(--radius-lg);
  background:#ffffff;
  border:1px solid var(--line-soft);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}

.feature-card::before,
.personal-card::before,
.pricing-card::before,
.testimonial-card::before,
.advantage-item::before,
.metric-card::before,
.contact-form::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(141,184,255,0.16), rgba(60,105,234,0.42), rgba(141,184,255,0.16));
  pointer-events:none;
}

.feature-card{
  padding:20px;
  height:100%;
  background:linear-gradient(180deg, #ffffff, #fbfdff);
}

.personal-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.personal-card{
  padding:22px;
  height:100%;
  background:linear-gradient(180deg, #ffffff, #fbfdff);
}

.personal-section{
  background:
    radial-gradient(circle at top center, rgba(141,184,255,0.18), transparent 28%),
    linear-gradient(180deg, #f7faff, #edf3fc);
}

.personal-section .section-heading{
  max-width:760px;
}

.personal-pricing{
  max-width:640px;
  margin:0 auto 28px;
  padding:24px 22px 26px;
  border-radius:22px;
  border:1px solid #dbe5f5;
  background:linear-gradient(180deg, #ffffff, #f4f8ff);
  box-shadow:0 18px 40px rgba(16,24,42,0.08);
}

.personal-pricing__title{
  margin:0 0 14px;
  font-size:1.05rem;
  color:var(--text-strong);
}

.personal-pricing__row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:16px 24px;
  margin-bottom:16px;
}

.personal-pricing__price{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex-shrink:0;
}

.personal-pricing__price strong{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:1.75rem;
  letter-spacing:-0.05em;
  color:var(--text-strong);
}

.personal-pricing__price span{
  color:var(--muted);
  font-size:0.92rem;
}

.personal-pricing__body{
  margin:0;
  flex:1;
  min-width:200px;
  color:var(--muted);
  font-size:0.9rem;
  line-height:1.6;
}

.personal-pricing-features{
  margin:0 0 18px;
  padding-left:1.15rem;
  color:var(--text-strong);
  font-size:0.88rem;
  line-height:1.55;
}

.personal-pricing-features li + li{
  margin-top:6px;
}

.personal-pricing__cta{
  width:100%;
  max-width:320px;
}

.personal-footnote{
  max-width:640px;
  margin:24px auto 0;
  text-align:center;
  font-size:0.88rem;
  line-height:1.55;
  color:var(--muted);
}

.personal-footnote a{
  color:var(--blue-strong);
  font-weight:600;
}

.personal-card:nth-child(1),
.personal-card:nth-child(2){
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,247,255,0.98));
  border-color:#d8e4f7;
  box-shadow:0 18px 36px rgba(16,24,42,0.08);
}

.personal-card:nth-child(1)::after,
.personal-card:nth-child(2)::after{
  content:"";
  position:absolute;
  inset:auto -36px -36px auto;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(141,184,255,0.28), rgba(141,184,255,0));
  pointer-events:none;
}

.personal-tag{
  display:inline-flex;
  align-items:center;
  padding:8px 11px;
  border-radius:999px;
  background:#f2f6ff;
  color:var(--blue-strong);
  font-size:0.77rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.personal-card h3{
  margin:14px 0 8px;
  color:var(--text-strong);
  font-size:0.98rem;
}

.personal-card p{
  margin:0;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.65;
}

.personal-actions{
  display:flex;
  justify-content:center;
  margin-top:22px;
}

.personal-actions .btn{
  min-width:220px;
}

.feature-card h3{
  margin:14px 0 8px;
  color:var(--text-strong);
  font-size:0.98rem;
}

.feature-card p{
  margin:0;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.6;
}

.icon-wrap{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(60,105,234,0.12), rgba(141,184,255,0.24));
}

.icon-wrap svg{
  width:24px;
  height:24px;
  stroke:var(--blue-strong);
  stroke-width:1.8;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.advantages-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(300px, .82fr);
  gap:20px;
}

.advantage-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.advantage-item{
  padding:20px;
  background:linear-gradient(180deg, #ffffff, #fbfdff);
}

.advantage-item h3{
  margin:0 0 8px;
  color:var(--text-strong);
  font-size:0.96rem;
}

.advantage-item p{
  margin:0;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.6;
}

.metric-stack{
  display:grid;
  gap:16px;
}

.metric-card{
  padding:20px;
  background:linear-gradient(180deg, #ffffff, #f9fbff);
}

.metric-card span{
  display:block;
  color:var(--blue-strong);
  font-size:0.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.metric-card strong{
  display:block;
  margin-top:8px;
  color:var(--text-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:1.18rem;
  line-height:1.1;
  letter-spacing:-0.05em;
}

.metric-card p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.6;
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
  align-items:stretch;
}

.pricing-grid--two{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}

.pricing-see-personal{
  max-width:680px;
  margin:28px auto 0;
  text-align:center;
  font-size:0.95rem;
  line-height:1.6;
  color:var(--muted);
}

.pricing-see-personal a{
  color:var(--blue-strong);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.audience-grid--three{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

#plano-empresa{
  scroll-margin-top:120px;
}

#beneficios-plano{
  scroll-margin-top:120px;
}

.pricing-card{
  padding:20px;
  height:100%;
  background:linear-gradient(180deg, #ffffff, #fbfdff);
}

.pricing-card-featured{
  background:linear-gradient(180deg, var(--navy) 0%, #1a2742 100%);
  border-color:#24365c;
  box-shadow:0 30px 60px rgba(20,29,49,0.24);
}

.pricing-card-featured::after{
  content:"";
  position:absolute;
  inset:auto -44px -44px auto;
  width:160px;
  height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(141,184,255,0.2), rgba(141,184,255,0));
  pointer-events:none;
}

.pricing-tag{
  display:inline-flex;
  align-items:center;
  padding:8px 11px;
  border-radius:999px;
  background:#f2f6ff;
  color:var(--blue-strong);
  font-size:0.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.pricing-card-featured .pricing-tag{
  background:rgba(141,184,255,0.12);
  color:#d9e7ff;
}

.pricing-card h3{
  margin:14px 0 10px;
  color:var(--text-strong);
  font-size:1rem;
  line-height:1.35;
}

.pricing-card-featured h3{
  color:#ffffff;
}

.price-line{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin-bottom:14px;
}

.price-line strong{
  color:var(--text-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:1.8rem;
  line-height:1;
  letter-spacing:-0.06em;
}

.pricing-card-featured .price-line strong{
  color:#ffffff;
}

.price-line span{
  color:var(--muted);
}

.pricing-card-featured .price-line span{
  color:#d0dbef;
}

.pricing-card p{
  margin:0;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.6;
}

.pricing-card-featured p{
  color:#d0dbef;
}

.pricing-card ul{
  display:grid;
  gap:10px;
  padding:0;
  margin:16px 0 20px;
  list-style:none;
  flex:1;
}

.pricing-card li{
  position:relative;
  padding-left:26px;
  color:var(--text);
  font-size:0.86rem;
  line-height:1.5;
}

.pricing-card-featured li{
  color:#edf4ff;
}

.pricing-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--blue-soft));
}

.pricing-card-featured li::before{
  background:linear-gradient(135deg, var(--orange), #ffd27c);
}

.testimonials-section{
  padding-top:92px;
}

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.testimonial-card{
  padding:20px;
  background:linear-gradient(180deg, #ffffff, #fbfdff);
}

.testimonial-card p{
  margin:0;
  color:var(--text);
  font-size:0.88rem;
  line-height:1.7;
}

.testimonial-card strong{
  display:block;
  margin-top:16px;
  color:var(--text-strong);
  font-size:0.96rem;
}

.testimonial-card span{
  display:block;
  margin-top:6px;
  color:var(--muted);
}

.pricing-card .btn{
  margin-top:auto;
}

.plan-overview-section{
  background:
    radial-gradient(circle at top center, rgba(141,184,255,0.16), transparent 28%),
    linear-gradient(180deg, #f7faff, #eef4fd);
}

.plan-overview-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.plan-overview-card{
  padding:22px;
  min-height:100%;
  background:linear-gradient(180deg, #ffffff, #fbfdff);
}

.plan-overview-card h3{
  margin:0 0 10px;
  color:var(--text-strong);
  font-size:0.99rem;
  line-height:1.4;
}

.plan-overview-card p{
  margin:0;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.62;
}

.plan-overview-note{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(0, .8fr);
  gap:20px;
  align-items:center;
  margin-top:22px;
  padding:24px 26px;
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg, var(--navy) 0%, #1a2742 100%);
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:0 26px 54px rgba(20,29,49,0.2);
}

.plan-note-label{
  display:inline-flex;
  align-items:center;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(141,184,255,0.14);
  color:#d9e7ff;
  font-size:0.76rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.plan-overview-copy h3{
  margin:0 0 10px;
  color:#ffffff;
  font-size:1.08rem;
  line-height:1.35;
}

.plan-overview-copy p{
  margin:0;
  color:#d1dbee;
  font-size:0.89rem;
  line-height:1.68;
}

.plan-note-list{
  display:grid;
  gap:12px;
  padding:0;
  margin:0;
  list-style:none;
}

.plan-note-list li{
  position:relative;
  padding:14px 16px 14px 38px;
  border-radius:16px;
  background:rgba(255,255,255,0.08);
  color:#edf4ff;
  font-size:0.88rem;
  font-weight:700;
  line-height:1.5;
}

.plan-note-list li::before{
  content:"";
  position:absolute;
  left:16px;
  top:19px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--orange), #ffd27c);
}

.contact-form .form-submit{
  margin-top:auto;
}

.faq-layout{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:22px;
  align-items:start;
}

.faq-list{
  display:grid;
  gap:14px;
}

.faq-item{
  position:relative;
  padding:0 20px;
  border-radius:var(--radius-md);
  border:1px solid var(--line-soft);
  background:linear-gradient(180deg, #ffffff, #fbfdff);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}

.faq-item::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(141,184,255,0.12), rgba(60,105,234,0.34), rgba(141,184,255,0.12));
}

.faq-item summary{
  position:relative;
  padding:18px 30px 18px 0;
  color:var(--text-strong);
  font-size:0.9rem;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-item summary::after{
  content:"+";
  position:absolute;
  right:0;
  top:17px;
  color:var(--blue);
  font-size:1.4rem;
  line-height:1;
}

.faq-item[open] summary::after{
  content:"-";
}

.faq-item p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:0.88rem;
  line-height:1.6;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:22px;
  align-items:start;
}

.contact-copy p{
  max-width:58ch;
}

.contact-points{
  display:grid;
  gap:16px;
  margin-top:28px;
}

.contact-points div{
  position:relative;
  padding:18px 20px;
  border-radius:var(--radius-md);
  background:linear-gradient(180deg, #ffffff, #fbfdff);
  border:1px solid var(--line-soft);
  box-shadow:var(--shadow-md);
  overflow:hidden;
}

.contact-points div::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(141,184,255,0.12), rgba(60,105,234,0.34), rgba(141,184,255,0.12));
}

.contact-points strong{
  display:block;
  margin-bottom:8px;
  color:var(--text-strong);
}

.contact-points a,
.contact-points span{
  color:var(--muted);
}

.contact-form{
  padding:20px;
  background:linear-gradient(180deg, #ffffff, #fbfdff);
}

#contactForm,
#contactos{
  scroll-margin-top:100px;
}

.contact-form-intro{
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:14px;
  background:#f1f6ff;
  border:1px solid #dbe8fc;
  color:var(--muted);
  font-size:0.84rem;
  line-height:1.55;
}

.honeypot{
  position:absolute;
  left:-9999px;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.tax-id-grid{
  align-items:start;
}

.form-row{
  display:grid;
  gap:8px;
  margin-bottom:16px;
}

.form-row label{
  color:var(--text-strong);
  font-size:0.88rem;
  font-weight:700;
}

.form-row input,
.form-row select,
.form-row textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#ffffff;
  color:var(--text-strong);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.form-row input::placeholder,
.form-row textarea::placeholder{
  color:#8a99b2;
}

.form-row select{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    calc(100% - 20px) calc(50% - 2px),
    calc(100% - 14px) calc(50% - 2px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:38px;
}

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{
  border-color:rgba(60,105,234,0.45);
  box-shadow:0 0 0 4px rgba(60,105,234,0.12);
}

.form-row textarea{
  min-height:136px;
  resize:vertical;
}

.form-submit{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  margin-top:10px;
}

.form-helper{
  margin:0;
  max-width:360px;
  color:var(--muted);
  font-size:0.84rem;
  line-height:1.65;
}

.contact-feedback{
  margin:18px 0 0;
  padding:14px 16px;
  border-radius:16px;
  font-weight:700;
  line-height:1.6;
}

.contact-feedback.is-success{
  background:rgba(29,122,97,0.08);
  border:1px solid rgba(29,122,97,0.16);
  color:var(--success);
}

.contact-feedback.is-error{
  background:rgba(255,80,80,0.08);
  border:1px solid rgba(255,80,80,0.16);
  color:#b42323;
}

.cta-section{
  padding-top:0;
  background:var(--surface-soft);
}

.cta-banner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:28px;
  border-radius:var(--radius-xl);
  background:linear-gradient(135deg, var(--navy) 0%, #213255 100%);
  box-shadow:0 26px 56px rgba(14,25,45,0.18);
  overflow:hidden;
}

.cta-banner::before{
  content:"";
  position:absolute;
  inset:-40% auto auto -10%;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(141,184,255,0.16), rgba(141,184,255,0));
  pointer-events:none;
}

.cta-banner::after{
  content:"";
  position:absolute;
  inset:auto -10% -52% auto;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(60,105,234,0.22), rgba(60,105,234,0));
  pointer-events:none;
}

.cta-banner > *{
  position:relative;
  z-index:1;
}

.cta-banner .section-label{
  background:rgba(141,184,255,0.14);
  border-color:rgba(141,184,255,0.16);
  color:#d9e8ff;
}

.cta-banner h2{
  margin:12px 0 8px;
  color:#ffffff;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(1.55rem, 2.6vw, 2rem);
  line-height:1.15;
  letter-spacing:-0.05em;
}

.cta-banner p{
  margin:0;
  max-width:60ch;
  color:var(--hero-muted);
  font-size:0.88rem;
  line-height:1.65;
}

.cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.site-footer{
  padding:28px 0 32px;
  position:relative;
  background:
    radial-gradient(circle at top right, rgba(141,184,255,0.14), transparent 26%),
    linear-gradient(180deg, var(--navy) 0%, #10192c 100%);
  overflow:hidden;
}

.site-footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(141,184,255,0.35), rgba(255,255,255,0));
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) repeat(3, minmax(0, .7fr));
  gap:20px;
  padding:28px 0;
  border-top:1px solid rgba(255,255,255,0.08);
}

.footer-brand p{
  margin:16px 0 0;
  max-width:48ch;
  color:var(--hero-muted);
  line-height:1.75;
}

.site-footer h3{
  margin:0 0 16px;
  color:#ffffff;
  font-size:0.94rem;
}

.site-footer ul{
  display:grid;
  gap:10px;
  padding:0;
  margin:0;
  list-style:none;
}

.site-footer li,
.site-footer a{
  color:var(--hero-muted);
}

.site-footer a:hover{
  color:#ffffff;
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,0.08);
}

.footer-bottom p,
.footer-bottom a{
  margin:0;
  color:var(--hero-muted);
}

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .6s ease, transform .6s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.checkout-page{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(141,184,255,0.18), transparent 28%),
    radial-gradient(circle at top right, rgba(60,105,234,0.14), transparent 24%),
    linear-gradient(180deg, #f5f9ff 0%, #eef4fd 48%, #f8fbff 100%);
}

.checkout-main{
  padding:46px 0 72px;
}

.checkout-hero{
  max-width:760px;
  margin-bottom:26px;
}

.checkout-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:22px;
  align-items:start;
}

.checkout-card{
  padding:22px;
}

.checkout-card h2{
  margin:12px 0 10px;
  color:var(--text-strong);
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:1.18rem;
  line-height:1.3;
}

.checkout-card p{
  margin:0;
  color:var(--muted);
  font-size:0.9rem;
  line-height:1.68;
}

.checkout-list{
  display:grid;
  gap:10px;
  padding:0;
  margin:18px 0 0;
  list-style:none;
}

.checkout-list li{
  position:relative;
  padding-left:24px;
  color:var(--text);
  font-size:0.88rem;
  line-height:1.55;
}

.checkout-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--blue-soft));
}

.checkout-total{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:20px 0 14px;
  padding:18px 20px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(9,21,38,0.97), #1b2944);
  border:1px solid rgba(255,255,255,0.06);
  box-shadow:0 22px 44px rgba(20,29,49,0.18);
}

.checkout-total strong{
  color:#ffffff;
  font-size:0.9rem;
  font-weight:700;
}

.checkout-total span{
  color:#d8e6ff;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:1.28rem;
  font-weight:700;
}

.checkout-actions{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.checkout-meta{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.checkout-meta strong{
  color:var(--text-strong);
  font-size:0.88rem;
}

.checkout-meta span,
.checkout-meta p{
  margin:0;
  color:var(--muted);
  font-size:0.84rem;
  line-height:1.6;
}

.checkout-status{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(60,105,234,0.1);
  border:1px solid rgba(60,105,234,0.18);
  color:var(--blue);
  font-size:0.76rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }

  .reveal{
    opacity:1;
    transform:none;
  }
}

@media (max-width:1180px){
  .nav-wrap{
    justify-content:space-between;
  }

  .header-actions .nav-toggle{
    display:block;
  }

  .header-actions{
    margin-left:auto;
    padding-left:12px;
    gap:6px;
  }

  .site-nav{
    position:absolute;
    left:20px;
    right:20px;
    top:calc(100% + 10px);
    display:none;
    flex-direction:column;
    align-items:stretch;
    flex:0 auto;
    justify-content:flex-start;
    padding:20px;
    border-radius:24px;
    background:var(--navy);
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:0 28px 48px rgba(0,0,0,0.18);
  }

  .site-nav.is-open{
    display:flex;
  }

  .site-nav > a{
    padding:8px 0;
  }

  .site-nav > a::after{
    display:none;
  }

  .nav-actions{
    margin:8px 0 0;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,0.08);
    flex-direction:column;
    align-items:stretch;
  }

  .nav-actions .btn{
    width:100%;
  }
}

@media (max-width:1120px){
  .hero-grid,
  .split-layout,
  .advantages-layout,
  .faq-layout,
  .contact-grid{
    grid-template-columns:1fr;
  }

  .trust-grid{
    grid-template-columns:1fr;
  }

  .feature-grid,
  .feature-grid-4,
  .audience-grid,
  .audience-grid--three,
  .pain-grid,
  .personal-grid,
  .pricing-grid,
  .pricing-grid--two,
  .testimonial-grid,
  .plan-overview-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .advantage-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .footer-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .plan-overview-note{
    grid-template-columns:1fr;
  }
}

@media (max-width:900px){
  .preview-stats,
  .preview-panels,
  .form-grid{
    grid-template-columns:1fr;
  }

  .cta-banner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:720px){
  .personal-section .container{
    display:flex;
    flex-direction:column;
  }

  .personal-section .section-heading{
    order:1;
  }

  .personal-section .personal-pricing{
    order:2;
    margin-bottom:8px;
  }

  .personal-section .personal-grid{
    order:3;
  }

  .personal-section .personal-footnote{
    order:4;
  }

  .personal-section .personal-grid .personal-card:nth-child(2){
    order:10;
  }

  .container{
    width:min(calc(100% - 32px), var(--container));
  }

  .site-header{
    padding:14px 0;
  }

  .section{
    padding:78px 0;
  }

  .hero-section{
    padding-top:8px;
  }

  .hero-copy h1{
    font-size:clamp(2.1rem, 11vw, 3.1rem);
  }

  .hero-proof-personal{
    display:none;
  }

  .section-heading h2,
  .cta-banner h2{
    font-size:clamp(1.7rem, 8vw, 2.2rem);
  }

  .feature-grid,
  .feature-grid-4,
  .audience-grid,
  .audience-grid--three,
  .pain-grid,
  .personal-grid,
  .pricing-grid,
  .pricing-grid--two,
  .plan-overview-grid,
  .testimonial-grid,
  .advantage-list,
  .footer-grid{
    grid-template-columns:1fr;
  }

  .hero-actions,
  .cta-actions,
  .personal-actions{
    width:100%;
  }

  .hero-actions .btn,
  .cta-actions .btn,
  .personal-actions .btn{
    width:100%;
  }

  .visual-card,
  .story-card,
  .contact-form,
  .cta-banner{
    padding:22px;
  }

  .preview-head__inner{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .preview-head h2{
    flex:none;
    width:100%;
  }

  .preview-chart-title{
    display:none;
  }

  .preview-chart-panel .chart-bars{
    margin-top:0;
    min-height:88px;
  }

  .capture-demo-actions{
    width:100%;
  }

  .capture-demo-actions .btn{
    flex:1 1 calc(50% - 5px);
    min-width:0;
  }

  .dashboard-preview{
    min-height:auto;
  }

  /* CTA final (Instalar App): largura útil — sem faixas claras laterais do .container */
  .cta-section .container.cta-banner{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    border-radius:0;
    box-shadow:none;
    padding-left:max(16px, env(safe-area-inset-left));
    padding-right:max(16px, env(safe-area-inset-right));
  }

  /* Antes scale(1.08) com overflow no link cortava «AppContabill» no ecrã estreito; ~7% menor evita o corte. */
  .site-header a.brand--stacked:has(> img.brand-logo-mark[src*="logo-appcontabill"]) .brand-logo-mark[src*="logo-appcontabill"]{
    transform:scale(0.93);
    transform-origin:left center;
  }

.footer-bottom{
  flex-direction:column;
  align-items:flex-start;
  }
}

.legal-page{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(86, 131, 255, 0.12), transparent 34%),
    linear-gradient(180deg, #f4f8ff 0%, #ffffff 38%, #f6f9ff 100%);
}

.legal-shell{
  max-width:980px;
  margin:0 auto;
  padding:48px 20px 80px;
}

.legal-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
}

.legal-back{
  color:var(--navy);
  font-weight:700;
  text-decoration:none;
}

.legal-card{
  background:rgba(255,255,255,0.96);
  border:1px solid rgba(125, 153, 217, 0.18);
  border-radius:32px;
  box-shadow:0 30px 80px rgba(8, 22, 46, 0.08);
  padding:36px;
}

.legal-header{
  display:grid;
  gap:14px;
  margin-bottom:28px;
}

.legal-header h1{
  margin:0;
  font-family:var(--font-display);
  color:var(--text-strong);
  font-size:clamp(2rem, 4vw, 3.2rem);
  line-height:1.06;
}

.legal-header p{
  margin:0;
  color:var(--muted);
  font-size:0.98rem;
  line-height:1.72;
}

.legal-meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin:18px 0 4px;
}

.legal-meta div{
  padding:16px 18px;
  border-radius:20px;
  background:#f5f8ff;
  border:1px solid rgba(125, 153, 217, 0.18);
}

.legal-meta strong{
  display:block;
  margin-bottom:6px;
  color:var(--text-strong);
  font-size:0.86rem;
}

.legal-meta span,
.legal-meta a{
  color:var(--muted);
  font-size:0.92rem;
  line-height:1.55;
  text-decoration:none;
}

.legal-notice{
  margin:24px 0 12px;
  padding:16px 18px;
  border-radius:20px;
  background:rgba(86, 131, 255, 0.08);
  border:1px solid rgba(86, 131, 255, 0.18);
  color:var(--navy);
  font-size:0.92rem;
  line-height:1.65;
}

.legal-section{
  margin-top:28px;
}

.legal-section h2{
  margin:0 0 10px;
  color:var(--text-strong);
  font-size:1.2rem;
  line-height:1.25;
}

.legal-section p,
.legal-section li{
  color:var(--muted);
  font-size:0.95rem;
  line-height:1.75;
}

.legal-section ul{
  margin:12px 0 0;
  padding-left:20px;
}

.legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.footer-legal-links a{
  color:var(--text-soft);
  text-decoration:none;
}

@media (max-width: 820px){
  .legal-meta{
    grid-template-columns:1fr;
  }

  .legal-card{
    padding:28px 20px;
    border-radius:24px;
  }

  .legal-topbar{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-legal-links{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
}

.split-layout-single{
  grid-template-columns:minmax(0, 1fr);
  max-width:720px;
  margin:0 auto;
}

.impact-section .impact-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  max-width:920px;
  margin:0 auto;
}

.impact-example{
  margin:0;
  padding:20px 18px;
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg, #ffffff, #f8fbff);
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}

.impact-example p{
  margin:0;
  font-size:0.9rem;
  line-height:1.55;
  color:var(--text);
}

.impact-example strong{
  color:var(--text-strong);
}

.impact-message{
  max-width:52ch;
  margin:28px auto 0;
  text-align:center;
  font-size:0.95rem;
  font-weight:700;
  color:var(--text-strong);
  line-height:1.5;
}

.narrow-readable{
  max-width:640px;
  margin:0 auto;
}

.download-section .section-actions-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:20px;
}

.archive-list,
.collab-list{
  margin:20px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.archive-list li,
.collab-list li{
  position:relative;
  padding:14px 16px 14px 44px;
  border-radius:var(--radius-md);
  background:var(--surface);
  border:1px solid var(--line-soft);
  font-size:0.9rem;
  line-height:1.5;
  color:var(--text);
}

.archive-list li::before,
.collab-list li::before{
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--blue), var(--blue-soft));
  transform:translateY(-50%);
}

.plan-overview-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

@media (max-width:900px){
  .impact-section .impact-grid{
    grid-template-columns:1fr;
  }

  .plan-overview-grid-3{
    grid-template-columns:1fr;
  }
}
