/*
  Site temporário SSCTAB / +SSCTAB
  Ficheiro único de estilos para a página principal, a página “O que é” e o Manual de Adesão +SSCTAB.
*/
:root {
  --azul:#2D93B4;
  --azul-escuro:#176178;
  --azul-profundo:#0e4355;
  --verde:#ACD137;
  --verde-escuro:#6f8d10;
  --fundo:#f4f8fb;
  --cartao:#ffffff;
  --texto:#17313b;
  --muted:#607783;
  --linha:#d9e8ee;
  --amarelo:#fff4cf;
  --amarelo-borda:#f1d36b;
  --verde-suave:#eef8d5;
  --azul-suave:#e8f5f9;
  --cinza-suave:#eef3f5;
  --sombra:0 18px 45px rgba(14,67,85,.12);
  --raio:22px;
  --largura:1160px;
}

* { box-sizing:border-box; }
html {
  scroll-behavior:smooth;
  scroll-padding-top:7.5rem;
}
body {
  margin:0;
  padding-top:0;
  font-family:"Encode Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--texto);
  background:radial-gradient(circle at top left, rgba(172,209,55,.20), transparent 34rem), radial-gradient(circle at 90% 8%, rgba(45,147,180,.20), transparent 28rem), var(--fundo);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a { color:var(--azul-escuro); text-decoration-thickness:.12em; text-underline-offset:.18em; }
a:hover { color:var(--azul-profundo); }
img { max-width:100%; height:auto; display:block; }
:focus-visible { outline:4px solid rgba(172,209,55,.85); outline-offset:3px; border-radius:8px; }

.skip-link {
  position:absolute;
  left:-999px;
  top:1rem;
  background:#fff;
  color:var(--azul-profundo);
  padding:.8rem 1rem;
  border-radius:10px;
  z-index:999;
}
.skip-link:focus { left:1rem; }

/* Cabeçalho e menu global comuns */
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--linha);
  box-shadow:0 8px 24px rgba(14,67,85,.06);
}
.header-inner {
  width:min(var(--largura), calc(100% - 2rem));
  min-height:54px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.9rem;
}
.site-brand {
  display:flex;
  align-items:center;
  flex:0 0 auto;
  text-decoration:none;
}
.site-brand img {
  display:block;
  width:52px;
  height:auto;
}
.site-nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.25rem;
  flex:1 1 auto;
  min-width:0;
}
.site-nav a {
  display:inline-flex;
  align-items:center;
  min-height:2.35rem;
  padding:.45rem .72rem;
  border-radius:999px;
  color:var(--azul-profundo);
  text-decoration:none;
  font-weight:800;
  font-size:.92rem;
  line-height:1.15;
  white-space:nowrap;
}
.site-nav a:hover,
.site-nav a.active,
.site-nav a[aria-current="page"] {
  background:var(--azul-suave);
  color:var(--azul-profundo);
}
.site-portal-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.4rem;
  padding:.62rem .95rem;
  border-radius:999px;
  background:var(--azul-profundo);
  color:#fff;
  text-decoration:none;
  font-weight:850;
  font-size:.9rem;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(14,67,85,.16);
}
.site-portal-button:hover {
  background:var(--azul-escuro);
  color:#fff;
}
.secondary-nav-label,
.visually-hidden {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Botões comuns */
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border:0;
  border-radius:999px;
  padding:.85rem 1.15rem;
  font-weight:850;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  white-space:nowrap;
}
.button.primary { background:var(--verde); color:#203000; }
.button.secondary {
  background:rgba(255,255,255,.16);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
}
.button.secondary.dark {
  color:var(--azul-profundo);
  background:#fff;
  border-color:var(--linha);
}
.button.ghost {
  background:#fff;
  border:1px solid var(--linha);
  color:var(--azul-profundo);
  box-shadow:none;
}
.button.small-button {
  box-shadow:none;
  padding:.6rem .85rem;
  font-size:.9rem;
  border:1px solid var(--linha);
  background:#fff;
  color:var(--azul-profundo);
  cursor:pointer;
}

/* Acordeões tipo H5P comuns */
.h5p-accordion {
  display:grid;
  gap:.8rem;
}
.h5p-accordion details {
  position:relative;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--linha);
  background:#fff;
  box-shadow:0 8px 24px rgba(14,67,85,.06);
}
.h5p-accordion summary {
  list-style:none;
  display:flex;
  align-items:center;
  gap:.85rem;
  cursor:pointer;
  font-weight:850;
  color:var(--azul-profundo);
  padding:1rem 1.1rem;
  background:linear-gradient(90deg,#fff,var(--azul-suave));
}
.h5p-accordion summary::-webkit-details-marker { display:none; }
.h5p-accordion summary::before {
  content:'+';
  width:1.7rem;
  height:1.7rem;
  border-radius:999px;
  background:var(--azul);
  color:#fff;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-weight:900;
  line-height:1;
}
.h5p-accordion details[open] summary::before {
  content:'−';
  background:var(--verde);
  color:#213000;
}
.h5p-accordion .accordion-body {
  padding:0 1.15rem 1.1rem 3.65rem;
  color:var(--texto);
}
.h5p-accordion .accordion-body p { margin:.25rem 0 .6rem; }
.h5p-accordion .accordion-body strong { color:var(--azul-profundo); }
.h5p-accordion .accordion-tag {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--verde-suave);
  color:var(--verde-escuro);
  font-size:.78rem;
  font-weight:850;
  padding:.18rem .55rem;
  margin-top:.15rem;
}

@media (max-width:980px) {
  .header-inner {
    flex-wrap:wrap;
    padding:.65rem 0 .7rem;
  }
  .site-brand img { width:48px; }
  .site-nav {
    order:3;
    width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:thin;
    padding-bottom:.15rem;
  }
  .site-portal-button { margin-left:auto; }
}
@media (max-width:700px) {
  .h5p-accordion .accordion-body { padding:0 1rem 1rem 1rem; }
}
@media (max-width:620px) {
  html { scroll-padding-top:8.8rem; }
  .header-inner { width:min(100% - 1rem, var(--largura)); }
  .site-nav a { font-size:.88rem; padding:.45rem .65rem; }
  .site-portal-button { font-size:.86rem; padding:.58rem .75rem; }
}
@media print {
  body { background:#fff; }
  .site-header { display:none!important; }
}


/* Página principal e página “O que é o +SSCTAB” */
body:not(.manual-page) .hero {
position:relative;
  overflow:hidden;
  padding:clamp(2rem,5vw,5rem) 1rem 2.3rem;
  background:linear-gradient(135deg,var(--azul-profundo),var(--azul) 60%,#5eb7cf);
  color:#fff;
}

body:not(.manual-page) .hero:before {
content:"";
  position:absolute;
  right:-8rem;
  top:-9rem;
  width:28rem;
  height:28rem;
  border-radius:50%;
  background:rgba(172,209,55,.24);
  filter:blur(1px);
}

body:not(.manual-page) .hero:after {
content:"";
  position:absolute;
  left:8%;
  bottom:-9rem;
  width:20rem;
  height:20rem;
  border-radius:50%;
  background:rgba(255,255,255,.09);
}

body:not(.manual-page) .hero-inner {
position:relative;
  z-index:1;
  width:min(var(--largura),100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:2rem;
  align-items:center;
}

body:not(.manual-page) .eyebrow {
display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.42rem .7rem;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-weight:750;
  font-size:.87rem;
}

body:not(.manual-page) h1 {
font-size:clamp(2.1rem,6vw,4.8rem);
  line-height:.98;
  margin:.9rem 0 1rem;
  letter-spacing:-.05em;
  max-width:780px;
}

body:not(.manual-page) .title-logo {
display:block;
  width:min(380px,78vw);
  height:auto;
  background:rgba(255,255,255,.96);
  border-radius:16px;
  padding:.32rem .55rem;
  margin-top:.45rem;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

body:not(.manual-page) .lead {
font-size:clamp(1.05rem,2vw,1.3rem);
  max-width:62ch;
  margin:0;
  color:rgba(255,255,255,.93);
}

body:not(.manual-page) .hero-actions {
display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.6rem;
}

body:not(.manual-page) .hero-card {
background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  border-radius:var(--raio);
  padding:1.2rem;
  backdrop-filter:blur(10px);
}

body:not(.manual-page) .hero-card-logo {
background:#fff;
  border-radius:18px;
  padding:.5rem;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  margin-bottom:1rem;
}

body:not(.manual-page) .hero-card-logo img {
width:min(310px,100%);
}

body:not(.manual-page) .hero-card h2 {
font-size:1.25rem;
  margin:0 0 .8rem;
  color:#fff;
}

body:not(.manual-page) .quick-list {
list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.75rem;
}

body:not(.manual-page) .quick-list li {
display:flex;
  align-items:flex-start;
  gap:.65rem;
  color:rgba(255,255,255,.94);
}

body:not(.manual-page) .quick-list span {
flex:0 0 1.7rem;
  width:1.7rem;
  height:1.7rem;
  border-radius:50%;
  background:rgba(172,209,55,.94);
  color:#243000;
  display:grid;
  place-items:center;
  font-weight:900;
}

body:not(.manual-page) .small {
font-size:.92rem; color:var(--muted);
}

body:not(.manual-page) .hero-card .small {
color:rgba(255,255,255,.82); margin:1rem 0 0;
}

body:not(.manual-page) .nav-strip {
width:min(var(--largura),calc(100% - 2rem));
  margin:-1.1rem auto 0;
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
}

body:not(.manual-page) .nav-strip a {
background:#fff;
  border:1px solid var(--linha);
  box-shadow:0 12px 28px rgba(14,67,85,.09);
  border-radius:16px;
  padding:.85rem 1rem;
  text-align:center;
  text-decoration:none;
  font-weight:850;
  color:var(--azul-profundo);
}

body:not(.manual-page) .section {
width:min(var(--largura),calc(100% - 2rem));
  margin:0 auto;
  padding:clamp(2.4rem,5vw,4rem) 0;
  scroll-margin-top:6rem;
}

body:not(.manual-page) .section-head {
margin:0 0 1rem;
}

body:not(.manual-page) .kicker {
font-size:.82rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--azul-escuro);
  margin:0 0 .25rem;
}

body:not(.manual-page) .section-head h2, body:not(.manual-page) .manual-grid h2 {
font-size:clamp(1.65rem,3vw,2.4rem);
  line-height:1.1;
  margin:0;
  color:var(--azul-profundo);
  letter-spacing:-.03em;
}

body:not(.manual-page) .section-head p, body:not(.manual-page) .manual-grid p {
color:var(--muted);
  max-width:82ch;
  margin:.55rem 0 0;
}

body:not(.manual-page) .grid {
display:grid;
  gap:1rem;
}

body:not(.manual-page) .grid.three {
grid-template-columns:repeat(3,minmax(0,1fr));
}

body:not(.manual-page) .grid.four {
grid-template-columns:repeat(4,minmax(0,1fr));
}

body:not(.manual-page) .card {
background:var(--cartao);
  border:1px solid var(--linha);
  border-radius:var(--raio);
  box-shadow:var(--sombra);
  padding:1.15rem;
}

body:not(.manual-page) .card h3 {
margin:.15rem 0 .55rem;
  color:var(--azul-profundo);
  font-size:1.16rem;
  line-height:1.25;
}

body:not(.manual-page) .card p {
margin:.35rem 0; color:var(--texto);
}

body:not(.manual-page) .mini-icon {
width:2.25rem;
  height:2.25rem;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--azul-suave);
  color:var(--azul-escuro);
  font-weight:900;
  margin-bottom:.7rem;
}

body:not(.manual-page) .mini-icon.green {
background:var(--verde-suave); color:var(--verde-escuro);
}

body:not(.manual-page) .muted-section {
border-radius:28px;
  padding-left:clamp(1rem,3vw,2rem);
  padding-right:clamp(1rem,3vw,2rem);
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(232,245,249,.66));
  border:1px solid var(--linha);
  box-shadow:0 12px 30px rgba(14,67,85,.06);
}

body:not(.manual-page) .stats {
display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:1rem;
}

body:not(.manual-page) .stats div {
background:#fff;
  border:1px solid var(--linha);
  border-radius:20px;
  padding:1rem;
  box-shadow:0 8px 22px rgba(14,67,85,.06);
}

body:not(.manual-page) .stats strong {
display:block;
  font-size:clamp(1.7rem,4vw,2.5rem);
  line-height:1;
  color:var(--azul-profundo);
  margin-bottom:.35rem;
}

body:not(.manual-page) .stats span {
color:var(--muted);
}

body:not(.manual-page) .process {
display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin:1rem 0;
}

body:not(.manual-page) .process .item {
position:relative;
  background:#fff;
  border:1px solid var(--linha);
  border-radius:20px;
  padding:1rem;
  box-shadow:var(--sombra);
}

body:not(.manual-page) .process .item:not(:last-child):after {
content:"→";
  position:absolute;
  right:-.9rem;
  top:50%;
  transform:translateY(-50%);
  font-size:1.5rem;
  color:var(--azul);
}

body:not(.manual-page) .process .num {
width:2rem;
  height:2rem;
  border-radius:50%;
  background:var(--verde);
  display:grid;
  place-items:center;
  font-weight:900;
  color:#203000;
  margin-bottom:.6rem;
}

body:not(.manual-page) .process h3 {
margin:.2rem 0 .4rem; color:var(--azul-profundo);
}

body:not(.manual-page) .process p {
margin:0;
}

body:not(.manual-page) .callout {
border-radius:18px;
  padding:1rem 1.1rem;
  border:1px solid #cfe9a0;
  background:var(--verde-suave);
  display:flex;
  gap:.8rem;
  align-items:flex-start;
}

body:not(.manual-page) .callout strong {
color:var(--azul-profundo);
}

body:not(.manual-page) .callout .badge {
font-size:1.25rem; line-height:1;
}

body:not(.manual-page) .manual-section {
background:linear-gradient(135deg,var(--azul-profundo),var(--azul));
  color:#fff;
  border-radius:28px;
  padding:clamp(1.3rem,4vw,2.2rem);
  box-shadow:var(--sombra);
}

body:not(.manual-page) .manual-grid {
display:grid;
  grid-template-columns:1fr .8fr;
  gap:1.5rem;
  align-items:center;
}

body:not(.manual-page) .manual-grid .kicker, body:not(.manual-page) .manual-grid h2 {
color:#fff;
}

body:not(.manual-page) .manual-grid p {
color:rgba(255,255,255,.9);
}

body:not(.manual-page) .manual-actions {
display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.35rem;
}

body:not(.manual-page) .qr-card {
background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  border-radius:22px;
  padding:1rem;
  display:grid;
  grid-template-columns:180px 1fr;
  gap:1rem;
  align-items:center;
}

body:not(.manual-page) .qr-card img {
background:#fff;
  border-radius:16px;
  padding:.45rem;
  border:1px solid rgba(255,255,255,.45);
}

body:not(.manual-page) .qr-card h3 {
margin:0 0 .35rem; color:#fff;
}

body:not(.manual-page) .qr-card p {
margin:0; color:rgba(255,255,255,.86);
}

body:not(.manual-page) .footer-cta {
background:linear-gradient(135deg,var(--azul-profundo),var(--azul));
  color:#fff;
  border-radius:28px;
  padding:clamp(1.3rem,4vw,2.2rem);
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:1rem;
  align-items:center;
  box-shadow:var(--sombra);
}

body:not(.manual-page) .footer-cta h2 {
margin:0;
  font-size:clamp(1.4rem,3vw,2.1rem);
}

body:not(.manual-page) .footer-cta p {
margin:.35rem 0 0; color:rgba(255,255,255,.92);
}

body:not(.manual-page) .support-box {
background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.25);
  border-radius:20px;
  padding:1rem;
}

body:not(.manual-page) .support-box a {
color:#fff;
}

body:not(.manual-page) .site-footer {
border-top:1px solid var(--linha);
  padding:2rem 1rem;
  color:var(--muted);
  text-align:center;
  background:#fff;
}

body:not(.manual-page) .site-footer p {
margin:.25rem auto;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.7rem;
}

body:not(.manual-page) .site-footer img {
width:150px;
}

body:not(.manual-page) .site-footer .small {
display:block;
}

@media (max-width:980px) {
  body:not(.manual-page) .hero-inner, body:not(.manual-page) .grid.three, body:not(.manual-page) .grid.four, body:not(.manual-page) .manual-grid, body:not(.manual-page) .footer-cta {
grid-template-columns:1fr;
  }

  body:not(.manual-page) .nav-strip, body:not(.manual-page) .stats {
grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body:not(.manual-page) .qr-card {
grid-template-columns:150px 1fr;
  }
}

@media (max-width:700px) {
  body:not(.manual-page) .home-topbar {
align-items:flex-start; flex-direction:column;
  }

  body:not(.manual-page) .home-hero-card {
grid-template-columns:1fr;
  }

  body:not(.manual-page) .home-actions .button {
width:100%;
  }

  body:not(.manual-page) .hero {
padding-top:2.2rem;
  }

  body:not(.manual-page) .hero-actions .button, body:not(.manual-page) .manual-actions .button {
width:100%;
  }

  body:not(.manual-page) .nav-strip, body:not(.manual-page) .stats, body:not(.manual-page) .process {
grid-template-columns:1fr;
  }

  body:not(.manual-page) .process .item:not(:last-child):after {
display:none;
  }

  body:not(.manual-page) .muted-section {
border-radius:22px;
  }

  body:not(.manual-page) .qr-card {
grid-template-columns:1fr;
  }

  body:not(.manual-page) .qr-card img {
width:min(260px,100%); margin:0 auto;
  }
}

@media print {
  body:not(.manual-page) .nav-strip, body:not(.manual-page) .hero-actions, body:not(.manual-page) .manual-actions {
display:none!important;
  }

  body:not(.manual-page) .hero, body:not(.manual-page) .manual-section, body:not(.manual-page) .footer-cta {
background:#fff; color:#000; padding:1rem;
  }

  body:not(.manual-page) .hero p, body:not(.manual-page) .manual-grid p, body:not(.manual-page) .footer-cta p, body:not(.manual-page) .qr-card p {
color:#000;
  }

  body:not(.manual-page) .card, body:not(.manual-page) details, body:not(.manual-page) .process .item, body:not(.manual-page) .stats div {
box-shadow:none; break-inside:avoid;
  }
}

body:not(.manual-page) .home-body {
min-height:100vh;
  background:radial-gradient(circle at 8% 0%,rgba(172,209,55,.26),transparent 32rem),radial-gradient(circle at 92% 8%,rgba(45,147,180,.23),transparent 28rem),var(--fundo);
}

body:not(.manual-page) .home-page {
min-height:100vh;
  display:grid;
  place-items:center;
  padding:clamp(1rem,3vw,2rem);
}

body:not(.manual-page) .home-shell {
width:min(1120px,100%);
  background:rgba(255,255,255,.92);
  border:1px solid var(--linha);
  border-radius:28px;
  box-shadow:var(--sombra);
  overflow:hidden;
}

body:not(.manual-page) .home-topbar {
min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem clamp(1rem,3vw,1.6rem);
  border-bottom:1px solid var(--linha);
}

body:not(.manual-page) .home-logo img {
width:min(104px,30vw);
  height:auto;
}

body:not(.manual-page) .home-badge {
display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.45rem .75rem;
  background:var(--verde-suave);
  border:1px solid rgba(172,209,55,.55);
  color:var(--azul-profundo);
  font-weight:850;
  white-space:nowrap;
}

body:not(.manual-page) .home-hero-card {
display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(1.2rem,4vw,2.5rem);
  padding:clamp(1.5rem,5vw,3rem);
  align-items:center;
}

body:not(.manual-page) .home-copy h1 {
font-size:clamp(2rem,5.5vw,4.2rem);
  line-height:1;
  margin:.55rem 0 1rem;
  letter-spacing:-.05em;
  color:var(--azul-profundo);
}

body:not(.manual-page) .lead-home {
font-size:clamp(1.05rem,2vw,1.24rem);
  max-width:58ch;
  color:var(--texto);
}

body:not(.manual-page) .home-actions {
display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.5rem;
}

body:not(.manual-page) .home-cards {
display:grid;
  gap:1rem;
}

body:not(.manual-page) .home-link-card {
background:#fff;
  border:1px solid var(--linha);
  border-radius:22px;
  padding:1.2rem;
  box-shadow:0 12px 30px rgba(14,67,85,.08);
}

body:not(.manual-page) .home-link-card.feature {
background:linear-gradient(135deg,var(--azul-profundo),var(--azul));
  color:#fff;
  border-color:rgba(255,255,255,.22);
}

body:not(.manual-page) .home-link-card h2 {
margin:.15rem 0 .45rem;
  font-size:1.35rem;
  line-height:1.15;
  color:var(--azul-profundo);
}

body:not(.manual-page) .home-link-card.feature h2, body:not(.manual-page) .home-link-card.feature p, body:not(.manual-page) .home-link-card.feature a {
color:#fff;
}

body:not(.manual-page) .home-link-card p {
margin:.35rem 0 1rem;
  color:var(--muted);
}

body:not(.manual-page) .home-link-card a {
font-weight:850;
}

body:not(.manual-page) .home-footer {
display:flex;
  flex-wrap:wrap;
  gap:.45rem 1rem;
  padding:1rem clamp(1rem,3vw,1.6rem) 1.3rem;
  color:var(--muted);
  border-top:1px solid var(--linha);
}

body:not(.manual-page) .home-footer a {
font-weight:750;
}

body:not(.manual-page) .home-page {
min-height:calc(100vh - 66px);
  place-items:start center;
  padding-top:clamp(1rem,3vw,2rem);
}

body:not(.manual-page) .home-shell {
margin:0 auto;
}

body:not(.manual-page) .home-topbar {
justify-content:flex-end;
}

body:not(.manual-page) .nav-strip {
grid-template-columns:repeat(5,minmax(0,1fr));
}

body:not(.manual-page) .nav-strip a {
font-size:.94rem;
}

@media (max-width:980px) {
  body:not(.manual-page) .nav-strip {
grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:700px) {
  body:not(.manual-page) .nav-strip {
grid-template-columns:1fr;
  }
}

/* Manual de Adesão +SSCTAB */
body.manual-page .top-progress {
position:fixed;
  inset:0 0 auto 0;
  height:5px;
  background:transparent;
  z-index:80;
}

body.manual-page .top-progress span {
display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--verde),var(--azul));
  transition:width .12s linear;
}

body.manual-page header.hero {
position:relative;
   overflow:hidden;
   padding:clamp(2rem,5vw,5rem) 1rem 2.3rem;
   background:linear-gradient(135deg,var(--azul-profundo),var(--azul) 60%,#5eb7cf);
   color:#fff;
}

body.manual-page header.hero:before {
content:"";
  position:absolute;
  right:-8rem;
  top:-9rem;
  width:28rem;
  height:28rem;
  border-radius:50%;
   background:rgba(172,209,55,.24);
  filter:blur(1px);
}

body.manual-page header.hero:after {
content:"";
  position:absolute;
  left:8%;
  bottom:-9rem;
  width:20rem;
  height:20rem;
  border-radius:50%;
   background:rgba(255,255,255,.09);
}

body.manual-page .hero-inner {
position:relative;
  z-index:1;
  max-width:var(--largura);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:2rem;
  align-items:center;
}

body.manual-page .brand {
display:flex;
  align-items:center;
  gap:.8rem;
  margin-bottom:1.8rem;
}

body.manual-page .brand-mark {
width:46px;
  height:46px;
  border-radius:14px;
  background:#fff;
  display:grid;
  place-items:center;
  color:var(--azul);
  font-weight:900;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

body.manual-page .brand-text {
font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.92;
  font-weight:700;
}

body.manual-page .eyebrow {
display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.42rem .7rem;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  font-weight:700;
  font-size:.87rem;
}

body.manual-page h1 {
font-size:clamp(2.1rem,6vw,4.9rem);
  line-height:.97;
  margin:.9rem 0 1rem;
  letter-spacing:-.05em;
  max-width:11ch;
}

body.manual-page .hero p {
font-size:clamp(1.05rem,2vw,1.3rem);
  max-width:58ch;
  margin:0 0 1.2rem;
  color:rgba(255,255,255,.93);
}

body.manual-page .hero-actions {
display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.6rem;
}

body.manual-page .hero-card {
background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  border-radius:var(--raio);
  padding:1.2rem;
  backdrop-filter:blur(10px);
}

body.manual-page .hero-card h2 {
font-size:1.1rem;
  margin:0 0 .8rem;
  color:#fff;
}

body.manual-page .hero-card ul {
list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.75rem;
}

body.manual-page .hero-card li {
display:flex;
  gap:.65rem;
  align-items:flex-start;
  color:rgba(255,255,255,.93);
}

body.manual-page .hero-card .icon {
flex:0 0 1.65rem;
  width:1.65rem;
  height:1.65rem;
  border-radius:50%;
  background:rgba(172,209,55,.92);
  color:#243000;
  display:grid;
  place-items:center;
  font-weight:900;
}

body.manual-page .nav-wrap {
position:sticky;
  top:66px;
  z-index:70;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--linha);
}

body.manual-page .nav-wrap nav {
max-width:var(--largura);
  margin:0 auto;
  padding:.7rem 1rem;
  display:flex;
  gap:.45rem;
  overflow-x:auto;
  scrollbar-width:thin;
}

body.manual-page .nav-wrap nav a {
white-space:nowrap;
  text-decoration:none;
  color:var(--azul-profundo);
  font-weight:750;
  font-size:.93rem;
  padding:.55rem .78rem;
  border-radius:999px;
}

body.manual-page .nav-wrap nav a:hover, body.manual-page .nav-wrap nav a.active {
background:var(--azul-suave);
  color:var(--azul-profundo);
}

body.manual-page main {
max-width:var(--largura);
  margin:0 auto;
  padding:2rem 1rem 4rem;
}

body.manual-page section {
scroll-margin-top:5.5rem;
  margin:0 0 2rem;
}

body.manual-page .section-head {
margin:0 0 1rem;
}

body.manual-page .section-head .kicker {
font-size:.82rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--azul-escuro);
  margin:0 0 .25rem;
}

body.manual-page .section-head h2 {
font-size:clamp(1.65rem,3vw,2.4rem);
  line-height:1.1;
  margin:0;
  color:var(--azul-profundo);
  letter-spacing:-.03em;
}

body.manual-page .section-head p {
color:var(--muted);
  max-width:78ch;
  margin:.55rem 0 0;
}

body.manual-page .grid {
display:grid;
  gap:1rem;
}

body.manual-page .grid.two {
grid-template-columns:repeat(2,minmax(0,1fr));
}

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

body.manual-page .grid.four {
grid-template-columns:repeat(4,minmax(0,1fr));
}

body.manual-page .card {
background:var(--cartao);
  border:1px solid var(--linha);
  border-radius:var(--raio);
  box-shadow:var(--sombra);
  padding:1.15rem;
}

body.manual-page .card h3 {
margin:.15rem 0 .55rem;
  color:var(--azul-profundo);
  font-size:1.16rem;
  line-height:1.25;
}

body.manual-page .card p {
margin:.35rem 0;
  color:var(--texto);
}

body.manual-page .mini-icon {
width:2.25rem;
  height:2.25rem;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--azul-suave);
  color:var(--azul-escuro);
  font-weight:900;
  margin-bottom:.7rem;
}

body.manual-page .mini-icon.green {
background:var(--verde-suave);
  color:var(--verde-escuro);
}

body.manual-page .callout {
border-radius:18px;
  padding:1rem 1.1rem;
  border:1px solid var(--linha);
  background:var(--azul-suave);
  display:flex;
  gap:.8rem;
  align-items:flex-start;
}

body.manual-page .callout strong {
color:var(--azul-profundo);
}

body.manual-page .callout .badge {
font-size:1.25rem;
  line-height:1;
}

body.manual-page .callout.tip {
background:var(--verde-suave);
  border-color:#cfe9a0;
}

body.manual-page .callout.warn {
background:var(--amarelo);
  border-color:var(--amarelo-borda);
}

body.manual-page .steps {
counter-reset:step;
  display:grid;
  gap:.85rem;
}

body.manual-page .step {
counter-increment:step;
  background:#fff;
  border:1px solid var(--linha);
  border-radius:18px;
  padding:1rem;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.85rem;
  align-items:start;
}

body.manual-page .step:before {
content:counter(step);
  width:2.1rem;
  height:2.1rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--azul),var(--verde));
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
}

body.manual-page .step h3 {
margin:0 0 .2rem;
  font-size:1.05rem;
  color:var(--azul-profundo);
}

body.manual-page .step p {
margin:0;
  color:var(--texto);
}

body.manual-page .process {
display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin:1rem 0;
}

body.manual-page .process .item {
position:relative;
  background:#fff;
  border:1px solid var(--linha);
  border-radius:20px;
  padding:1rem;
}

body.manual-page .process .item:not(:last-child):after {
content:"→";
  position:absolute;
  right:-.9rem;
  top:50%;
  transform:translateY(-50%);
  font-size:1.5rem;
  color:var(--azul);
}

body.manual-page .process .num {
width:2rem;
  height:2rem;
  border-radius:50%;
  background:var(--verde);
  display:grid;
  place-items:center;
  font-weight:900;
  color:#203000;
  margin-bottom:.6rem;
}

body.manual-page .mock {
background:#102b36;
  border-radius:22px;
  padding:.75rem;
  box-shadow:var(--sombra);
  border:1px solid rgba(0,0,0,.08);
  overflow:hidden;
}

body.manual-page .mock-bar {
height:2rem;
  background:#eaf2f5;
  border-radius:14px 14px 0 0;
  display:flex;
  align-items:center;
  gap:.4rem;
  padding:0 .8rem;
}

body.manual-page .dot {
width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:#bdd1d8;
}

body.manual-page .mock-screen {
background:#fff;
  border-radius:0 0 14px 14px;
  padding:1.2rem;
  min-height:280px;
  display:grid;
  place-items:center;
  text-align:center;
}

body.manual-page .mock-panel {
max-width:360px;
  width:100%;
  border:1px solid var(--linha);
  border-radius:18px;
  padding:1rem;
  background:linear-gradient(180deg,#fff,#f7fbfc);
}

body.manual-page .mock-logo {
font-weight:900;
  color:var(--azul);
  font-size:1.4rem;
  margin-bottom:.6rem;
}

body.manual-page .input {
height:42px;
  border:1px solid #cfdfe5;
  border-radius:10px;
  background:#f7fafb;
  margin:.5rem 0;
  display:flex;
  align-items:center;
  padding:0 .75rem;
  color:#7a8c94;
  font-size:.9rem;
}

body.manual-page .mock-button {
height:42px;
  border-radius:999px;
  background:var(--azul);
  color:#fff;
  font-weight:800;
  display:grid;
  place-items:center;
  margin-top:.8rem;
}

body.manual-page .mock-note {
font-size:.82rem;
  color:var(--muted);
  margin-top:.8rem;
}

body.manual-page .sample {
font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:#edf7fa;
  border:1px solid #cce8ef;
  border-radius:8px;
  padding:.1rem .35rem;
  white-space:nowrap;
}

body.manual-page table {
width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--linha);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--sombra);
}

body.manual-page th, body.manual-page td {
text-align:left;
  vertical-align:top;
  padding:1rem;
  border-bottom:1px solid var(--linha);
}

body.manual-page th {
background:var(--azul-profundo);
  color:#fff;
  font-weight:800;
}

body.manual-page tr:last-child td {
border-bottom:0;
}

body.manual-page td:first-child {
font-weight:800;
  color:var(--azul-profundo);
}

body.manual-page .table-wrap {
overflow-x:auto;
  border-radius:18px;
}

body.manual-page .dos-donts {
display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}

body.manual-page .list-clean {
margin:.4rem 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:.45rem;
}

body.manual-page .list-clean li {
display:flex;
  gap:.55rem;
  align-items:flex-start;
}

body.manual-page .check {
color:var(--verde-escuro);
  font-weight:900;
}

body.manual-page .cross {
color:#b34848;
  font-weight:900;
}

body.manual-page details {
background:#fff;
  border:1px solid var(--linha);
  border-radius:18px;
  padding:.95rem 1rem;
  box-shadow:0 8px 24px rgba(14,67,85,.06);
}

body.manual-page details+details {
margin-top:.75rem;
}

body.manual-page summary {
cursor:pointer;
  font-weight:850;
  color:var(--azul-profundo);
}

body.manual-page details p {
margin:.7rem 0 0;
  color:var(--texto);
}

body.manual-page .checklist {
display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}

body.manual-page .check-item {
background:#fff;
  border:1px solid var(--linha);
  border-radius:16px;
  padding:.8rem 1rem;
  display:flex;
  gap:.7rem;
  align-items:center;
  font-weight:800;
}

body.manual-page .box {
width:1.35rem;
  height:1.35rem;
  border:2px solid var(--azul);
  border-radius:6px;
  flex:0 0 auto;
}

body.manual-page .footer-cta {
margin-top:2rem;
  background:linear-gradient(135deg,var(--azul-profundo),var(--azul));
  color:#fff;
  border-radius:28px;
  padding:clamp(1.3rem,4vw,2.2rem);
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
  box-shadow:var(--sombra);
}

body.manual-page .footer-cta h2 {
margin:0;
  font-size:clamp(1.4rem,3vw,2.1rem);
}

body.manual-page .footer-cta p {
margin:.35rem 0 0;
  color:rgba(255,255,255,.9);
}

body.manual-page footer {
border-top:1px solid var(--linha);
  padding:2rem 1rem;
  color:var(--muted);
  text-align:center;
  background:#fff;
}

body.manual-page .small {
font-size:.9rem;
  color:var(--muted);
}

body.manual-page .brand-mark.logo {
width:auto;
  min-width:0;
  height:auto;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:block;
  padding:0;
}

body.manual-page .brand-mark.logo img {
display:block;
  width:min(230px,58vw);
  height:auto;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.16));
}

body.manual-page .brand-text.visually-hidden {
position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

body.manual-page h1.hero-title {
max-width:760px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.35rem;
}

body.manual-page .title-logo {
display:block;
  width:min(390px,78vw);
  height:auto;
  background:rgba(255,255,255,.96);
  border-radius:16px;
  padding:.32rem .55rem;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

body.manual-page .inline-logo-plus {
display:inline-block;
  height:1.25em;
  width:auto;
  vertical-align:-.28em;
  margin-left:.18em;
  background:#fff;
  border-radius:.35em;
  padding:.08em .18em;
}

body.manual-page .mock-logo img {
max-width:170px;
  width:68%;
  height:auto;
  display:block;
  margin:0 auto .55rem;
}

body.manual-page .check-item {
position:relative;
  cursor:pointer;
  user-select:none;
}

body.manual-page .check-item input {
position:absolute;
  opacity:0;
  pointer-events:none;
}

body.manual-page .check-box {
width:1.35rem;
  height:1.35rem;
  border:2px solid var(--azul);
  border-radius:6px;
  flex:0 0 auto;
  background:#fff;
  display:grid;
  place-items:center;
  transition:all .15s ease;
}

body.manual-page .check-box::after {
content:"";
  width:.42rem;
  height:.78rem;
  border:solid #fff;
  border-width:0 .18rem .18rem 0;
  transform:rotate(45deg) scale(.6);
  opacity:0;
  transition:all .15s ease;
  margin-top:-.08rem;
}

body.manual-page .check-item input:checked + .check-box {
background:var(--azul);
  border-color:var(--azul);
}

body.manual-page .check-item input:checked + .check-box::after {
opacity:1;
  transform:rotate(45deg) scale(1);
}

body.manual-page .check-item input:focus-visible + .check-box {
outline:4px solid rgba(172,209,55,.85);
  outline-offset:3px;
}

body.manual-page .check-item input:checked ~ span:last-child {
text-decoration:line-through;
  color:var(--muted);
}

body.manual-page .check-tools {
margin-top:.85rem;
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}

body.manual-page .footer-title {
display:flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  flex-wrap:wrap;
  margin:.2rem 0 .4rem;
}

body.manual-page .footer-logo {
height:42px;
  width:auto;
  display:inline-block;
  vertical-align:middle;
}

body.manual-page .footer-plus-logo {
height:1.8em;
  width:auto;
  display:inline-block;
  vertical-align:-.42em;
  background:#fff;
  border-radius:.38em;
  padding:.08em .18em;
}

@media (max-width:620px) {
  body.manual-page .brand-mark.logo img {
width:min(200px,70vw);
  }

  body.manual-page .title-logo {
width:min(300px,82vw);
  }

  body.manual-page .footer-logo {
height:34px;
  }

  body.manual-page .footer-plus-logo {
height:1.55em;
  }
}

@media (max-width:900px) {
  body.manual-page .hero-inner {
grid-template-columns:1fr;
  }

  body.manual-page .grid.three, body.manual-page .grid.four {
grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.manual-page .process {
grid-template-columns:1fr;
  }

  body.manual-page .process .item:not(:last-child):after {
display:none;
  }

  body.manual-page .footer-cta {
grid-template-columns:1fr;
  }

  body.manual-page .dos-donts {
grid-template-columns:1fr;
  }
}

@media (max-width:620px) {
  body.manual-page header.hero {
padding-top:2.2rem;
  }

  body.manual-page nav {
padding:.55rem .7rem;
  }

  body.manual-page .grid.two, body.manual-page .grid.three, body.manual-page .grid.four, body.manual-page .checklist {
grid-template-columns:1fr;
  }

  body.manual-page .step {
grid-template-columns:1fr;
  }

  body.manual-page .step:before {
width:2.4rem;
    height:2.4rem;
  }

  body.manual-page .card {
padding:1rem;
  }

  body.manual-page th, body.manual-page td {
padding:.8rem;
  }

  body.manual-page .mock-screen {
min-height:240px;
  }
}

@media print {
  body.manual-page .top-progress, body.manual-page .nav-wrap, body.manual-page .hero-actions {
display:none!important;
  }

  body.manual-page header.hero {
background:#fff;
    color:#000;
    padding:1rem;
  }

  body.manual-page .hero p, body.manual-page .brand-text {
color:#000;
  }

  body.manual-page .hero-inner {
display:block;
  }

  body.manual-page .hero-card {
border:1px solid #aaa;
    background:#fff;
    color:#000;
  }

  body.manual-page .card, body.manual-page .mock, body.manual-page table, body.manual-page details, body.manual-page .footer-cta {
box-shadow:none;
    break-inside:avoid;
  }

  body.manual-page .footer-cta {
background:#fff;
    color:#000;
    border:1px solid #aaa;
  }
}

body.manual-page .u-mt-1 {
margin-top: 1rem;
}

body.manual-page .nav-wrap {
top:66px;
  z-index:80;
}

body.manual-page section {
scroll-margin-top:9rem;
}

@media (max-width:980px) {
  body.manual-page .nav-wrap {
top:122px;
  }

  body.manual-page section {
scroll-margin-top:12rem;
  }
}

@media (max-width:620px) {
  body.manual-page .nav-wrap {
top:128px;
  }
}

body.manual-page header.hero .brand {
display:none;
}

/* Correções finais depois dos estilos específicos: o menu global e os acordeões mantêm sempre o mesmo comportamento. */
body.site-page .site-nav {
  padding:0;
}
body.site-page .site-nav a {
  display:inline-flex;
  align-items:center;
  min-height:2.35rem;
  padding:.45rem .72rem;
  border-radius:999px;
  color:var(--azul-profundo);
  text-decoration:none;
  font-weight:800;
  font-size:.92rem;
  line-height:1.15;
  white-space:nowrap;
}
body.site-page .site-brand img {
  width:52px;
  height:auto;
}
body.site-page .h5p-accordion details {
  position:relative;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--linha);
  background:#fff;
  box-shadow:0 8px 24px rgba(14,67,85,.06);
}
body.site-page .h5p-accordion summary {
  list-style:none;
  display:flex;
  align-items:center;
  gap:.85rem;
  cursor:pointer;
  font-weight:850;
  color:var(--azul-profundo);
  padding:1rem 1.1rem;
  background:linear-gradient(90deg,#fff,var(--azul-suave));
}
body.site-page .h5p-accordion summary::-webkit-details-marker { display:none; }
body.site-page .h5p-accordion summary::before {
  content:'+';
  width:1.7rem;
  height:1.7rem;
  border-radius:999px;
  background:var(--azul);
  color:#fff;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-weight:900;
  line-height:1;
}
body.site-page .h5p-accordion details[open] summary::before {
  content:'−';
  background:var(--verde);
  color:#213000;
}
body.site-page .h5p-accordion .accordion-body {
  padding:0 1.15rem 1.1rem 3.65rem;
  color:var(--texto);
}
body.site-page .h5p-accordion .accordion-body p { margin:.25rem 0 .6rem; }
body.site-page .h5p-accordion .accordion-body strong { color:var(--azul-profundo); }
body.site-page .h5p-accordion .accordion-tag {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--verde-suave);
  color:var(--verde-escuro);
  font-size:.78rem;
  font-weight:850;
  padding:.18rem .55rem;
  margin-top:.15rem;
}
@media (max-width:980px) {
  body.site-page .site-brand img { width:48px; }
  body.site-page .site-nav {
    order:3;
    width:100%;
    justify-content:flex-start;
    overflow-x:auto;
    scrollbar-width:thin;
    padding:0 0 .15rem;
  }
}
@media (max-width:700px) {
  body.site-page .h5p-accordion .accordion-body { padding:0 1rem 1rem 1rem; }
}
@media (max-width:620px) {
  body.site-page .site-nav a {
    font-size:.88rem;
    padding:.45rem .65rem;
  }
}
@media print {
  body.site-page .site-header { display:none!important; }
}
