:root{
  --ib:#0062ab;
  --ib-dark:#003f76;
  --ib-ink:#071827;
  --ib-soft:#eef7ff;
  --line:#d6e5f2;
  --paper:#fbfdff;
  --muted:#5d7182;
  --white:#fff;
  --sidebar:316px;
  --ease:cubic-bezier(.22,.9,.22,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Atkinson Hyperlegible",system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--ib-ink);
  background:
    radial-gradient(circle at 85% 4%, rgba(0,98,171,.14), transparent 26rem),
    linear-gradient(135deg,#f7fbff 0%,#ffffff 38%,#edf7ff 100%);
  font-size:18px;
  line-height:1.78;
}
a{color:inherit}

.progress{position:fixed;top:0;left:0;right:0;height:4px;background:rgba(0,98,171,.12);z-index:80}
.progress span{display:block;width:0;height:100%;background:var(--ib);transition:width .12s linear}

.sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:var(--sidebar);
  background:#fff;
  border-right:1px solid var(--line);
  z-index:60;
  box-shadow:18px 0 50px rgba(0,42,81,.06);
}
.sidebar-inner{height:100%;display:flex;flex-direction:column;padding:30px 22px 24px;overflow:auto}
.brand{display:block;text-decoration:none;padding:12px 12px 26px;border-bottom:1px solid var(--line);margin-bottom:18px}
.brand img{display:block;width:182px;max-width:100%;background:#fff;margin:0 0 18px}
.brand span{display:block;font-family:"Saira",sans-serif;font-weight:760;font-stretch:90%;font-size:1.3rem;line-height:1.05;letter-spacing:-.03em;color:var(--ib-dark)}
.brand small{display:block;margin-top:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}

.nav-menu{display:grid;gap:4px;padding:2px 0 24px}
.nav-menu a{
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-height:50px;
  padding:6px 12px;
  border-radius:999px;
  color:#29465d;
  font-size:.92rem;
  line-height:1.15;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
.nav-menu a i{font-size:1.72rem;color:var(--ib);transition:color .25s var(--ease)}
.nav-menu a:hover,.nav-menu a.active{background:var(--ib);color:#fff;transform:translateX(4px)}
.nav-menu a:hover i,.nav-menu a.active i{color:#fff}

.main{margin-left:var(--sidebar);min-height:100vh}
.hero{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:8vw 8vw 7vw;
  background:
    linear-gradient(115deg,rgba(0,98,171,.98),rgba(0,72,130,.96) 58%,rgba(0,43,85,.98)),
    var(--ib);
  color:#fff;
}
.hero:before{display:none}
.hero:after{
  content:"";
  position:absolute;
  right:-12vw;
  bottom:-20vw;
  width:46vw;
  aspect-ratio:1;
  border-radius:50%;
  border:clamp(60px,9vw,150px) solid rgba(255,255,255,.07);
}
.hero-content{position:relative;z-index:2;max-width:900px}
.hero-logo-panel{display:inline-flex;background:#fff;padding:22px 24px;margin-bottom:60px;box-shadow:0 28px 70px rgba(0,0,0,.18)}
.hero-logo-panel img{display:block;width:min(340px,58vw)}
.eyebrow{margin:0 0 12px;font-family:"Saira",sans-serif;font-size:.9rem;font-weight:650;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.hero h1{margin:0;font-family:"Saira",sans-serif;font-weight:800;font-stretch:85%;font-size:clamp(3rem,8vw,8.2rem);line-height:.82;letter-spacing:-.075em;text-transform:uppercase;max-width:860px}
.subtitle{margin:28px 0 0;font-size:clamp(1.15rem,2vw,1.8rem);color:rgba(255,255,255,.86)}
.year{font-family:"Saira",sans-serif;font-weight:700;font-size:clamp(3rem,7vw,7.4rem);line-height:1;margin:56px 0 0;color:rgba(255,255,255,.16);letter-spacing:-.08em}
.hero-mark{display:none}

.chapter{
  position:relative;
  padding:clamp(72px,9vw,135px) clamp(28px,7vw,110px);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.64);
}
.chapter:nth-child(odd){background:rgba(239,248,255,.56)}
.chapter:before{
  content:"";
  position:absolute;
  top:0;left:clamp(28px,7vw,110px);right:clamp(28px,7vw,110px);
  height:1px;
  background:linear-gradient(90deg,var(--ib),transparent);
  opacity:.35;
}
.chapter-head{display:grid;grid-template-columns:minmax(86px,126px) 1fr;gap:clamp(18px,4vw,46px);align-items:end;margin-bottom:42px}
.chapter-head.compact{margin-bottom:32px}
.chapter-number{font-family:"Saira",sans-serif;font-weight:800;font-stretch:80%;font-size:clamp(3.5rem,8vw,8.8rem);line-height:.75;letter-spacing:-.06em;color:rgba(0,98,171,.18)}
.chapter-head i{display:inline-flex;color:var(--ib);font-size:3rem;margin-bottom:16px}
.chapter h2{font-family:"Saira",sans-serif;font-size:clamp(1.4rem,2.8vw,2.95rem);font-stretch:95%;font-weight:780;line-height:1.04;letter-spacing:-.015em;margin:0;color:var(--ib-dark);text-transform:uppercase;max-width:980px}
.text-flow{max-width:980px}
.text-flow p{margin:0 0 1.35em}
.lead-flow p:first-child{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.55;color:var(--ib-dark);font-weight:700}
.two-column-text{columns:2 330px;column-gap:54px;max-width:1100px}
.two-column-text p{break-inside:avoid}
.emphasis-flow p{padding-left:28px;border-left:4px solid rgba(0,98,171,.22)}
.numbered-flow{counter-reset:item;max-width:1100px}
.numbered-flow p{position:relative;padding-left:76px;min-height:54px}
.numbered-flow p:before{counter-increment:item;content:counter(item,decimal-leading-zero);position:absolute;left:0;top:.18em;font-family:"Saira",sans-serif;font-weight:760;color:var(--ib);font-size:1.6rem;line-height:1}

.principles{background:linear-gradient(135deg,#fff 0%,#eff8ff 100%)}
.principle-list{display:grid;gap:34px;max-width:1050px}
.principle-list article{display:grid;grid-template-columns:180px 1fr;gap:38px;align-items:start;padding:0 0 30px;border-bottom:1px solid var(--line)}
.principle-list span{font-family:"Saira",sans-serif;color:var(--ib);font-size:1.4rem;font-weight:780;letter-spacing:-.045em;line-height:1}
.principle-list p{margin:0 0 .85em}

.benefit-panel{background:#fff}
.line-list{max-width:980px;border-top:1px solid var(--line)}
.line-list p{display:grid;grid-template-columns:52px 1fr;gap:22px;margin:0;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.line-list i{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--ib);color:#fff;font-size:2.15rem}

.chapter.privacy{background:linear-gradient(140deg,#003a6a 0%,#0062ab 100%);color:#eef6ff}
.chapter.privacy:before{background:rgba(255,255,255,.3)}
.chapter.privacy .chapter-number{color:rgba(255,255,255,.22)}
.chapter.privacy .chapter-head i,.chapter.privacy h2{color:#fff}
.chapter.privacy p{color:#f5fbff}
.chapter.privacy .emphasis-flow p{border-left-color:rgba(255,255,255,.36)}

.areas-list{max-width:1100px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--line)}
.areas-list p{margin:0;padding:28px 0;border-bottom:1px solid var(--line)}
.areas-list strong{font-family:"Saira",sans-serif;font-size:1.12em;font-weight:780;color:var(--ib-dark)}

.contact-lines{max-width:960px;display:grid;gap:0;border-top:1px solid var(--line)}
.contact-lines p{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:20px;margin:0;padding:26px 0;border-bottom:1px solid var(--line)}
.contact-lines i{font-size:2rem;color:var(--ib)}
.contact-lines a{text-decoration:none;color:var(--ib-dark);font-weight:700}
.contact-lines a:hover{text-decoration:underline}

.annex-list{max-width:850px;font-family:"Saira",sans-serif;font-weight:580;font-size:clamp(1.2rem,2.4vw,2rem);line-height:1.35;color:var(--ib-dark)}
.annex-list p{margin:0 0 22px}

.term{background:#fff}
.term-box{max-width:980px;padding:42px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f5fbff)}
.term-box p:first-child{font-size:1.14rem;color:var(--ib-dark);font-weight:700}
.signature-lines{margin-top:34px;display:grid;gap:10px}
.signature-lines p{display:grid;grid-template-columns:220px 1fr;gap:20px;margin:0;font-size:1rem;align-items:center}
.signature-lines span{font-weight:700;color:var(--ib-dark)}
.signature-lines b{font-weight:400;letter-spacing:.04em;white-space:nowrap}

.mobile-bar{display:none}
.overlay{position:fixed;inset:0;background:rgba(4,29,49,.45);opacity:0;visibility:hidden;pointer-events:none;z-index:50;transition:opacity .45s var(--ease),visibility .45s var(--ease)}
.to-top{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border:0;border-radius:50%;background:var(--ib);color:#fff;display:grid;place-items:center;font-size:1.4rem;box-shadow:0 18px 40px rgba(0,49,91,.22);opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--ease);z-index:45;cursor:pointer}
.to-top.visible{opacity:1;visibility:visible;transform:none}

@media (max-width:1100px){
  :root{--sidebar:292px}
  body{font-size:17px}
  .areas-list{grid-template-columns:1fr}
}

@media (max-width:860px){
  body{padding-top:74px;font-size:16px}
  .mobile-bar{position:fixed;top:0;left:0;right:0;height:74px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);z-index:70;padding:0 18px;box-shadow:0 10px 28px rgba(0,42,81,.08)}
  .mobile-brand img{display:block;width:138px;background:#fff}
  .menu-toggle{width:46px;height:46px;border:0;border-radius:50%;background:var(--ib);display:grid;place-content:center;gap:5px;cursor:pointer}
  .menu-toggle span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .35s var(--ease),opacity .25s var(--ease)}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .sidebar{width:min(86vw,340px);transform:translateX(-105%);transition:transform .48s var(--ease);box-shadow:28px 0 80px rgba(0,24,43,.26)}
  body.menu-open .sidebar{transform:translateX(0)}
  body.menu-open .overlay{opacity:1;visibility:visible;pointer-events:auto}
  .main{margin-left:0}
  .hero{min-height:calc(100vh - 74px);padding:68px 26px 54px}
  .hero:before{display:none}
  .hero-logo-panel{margin-bottom:44px;padding:16px}
  .hero-logo-panel img{width:min(260px,70vw)}
  .chapter{padding:64px 24px}
  .chapter:before{left:24px;right:24px}
  .chapter-head{grid-template-columns:1fr;gap:22px;margin-bottom:32px}
  .chapter-number{font-size:4.8rem}
  .principle-list article{grid-template-columns:1fr;gap:12px}
  .numbered-flow p{padding-left:54px}
  .line-list p,.contact-lines p{grid-template-columns:52px 1fr;gap:16px}
  .line-list i{width:52px;height:52px;font-size:1.7rem}
  .term-box{padding:28px 22px}
  .signature-lines p{grid-template-columns:1fr;gap:2px}
  .signature-lines b{white-space:normal}
}

@media print{
  body{background:#fff;color:#000;padding:0;font-size:11pt;line-height:1.5}
  .sidebar,.mobile-bar,.overlay,.to-top,.progress{display:none!important}
  .main{margin:0}
  .hero{min-height:auto;color:#000;background:#fff;padding:40px 0;border-bottom:1px solid #999}
  .hero:before,.hero:after,.hero-mark{display:none}
  .hero-logo-panel{box-shadow:none;padding:0;margin-bottom:20px}
  .chapter{page-break-inside:avoid;background:#fff;padding:35px 0;border-bottom:1px solid #ddd}
  .chapter:before{display:none}
  .chapter h2,.chapter-head i,.chapter-number,.principle-list span,.areas-list strong{color:#000}
  .privacy{background:#fff;color:#000}
  .areas-list{grid-template-columns:1fr}
}


/* privacy contrast fix */
.chapter.privacy{background:linear-gradient(140deg,#003a6a 0%,#0062ab 100%) !important;color:#eef6ff !important;}
.chapter.privacy .chapter-head i,.chapter.privacy h2,.chapter.privacy p{color:#f5fbff !important;}


body.gate-open{
  overflow:hidden;
}

.flow-status{
  position:fixed;
  right:22px;
  top:18px;
  z-index:76;
  min-height:54px;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  column-gap:18px;
  align-items:center;
  padding:10px 12px 10px 18px;
  border-radius:999px;
  background:#fff;
  color:#003f76;
  box-shadow:0 18px 44px rgba(0,49,91,.18);
  border:1px solid #d8e7f3;
}

.flow-status strong{
  font-family:"Saira",sans-serif;
  font-weight:800;
  line-height:1;
}

.flow-status span{
  grid-column:1;
  font-size:.78rem;
  color:#557086;
  line-height:1.1;
}

.flow-status button{
  grid-column:2;
  grid-row:1 / span 2;
  min-height:42px;
  border:0;
  border-radius:999px;
  padding:0 18px;
  font-family:"Saira",sans-serif;
  font-weight:800;
  background:#d9e5ef;
  color:#6a7f91;
  cursor:not-allowed;
}

.flow-status.ready button{
  background:#0062ab;
  color:#fff;
  cursor:pointer;
}

.gate-modal,
.accept-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(4,29,49,.72);
  backdrop-filter:blur(10px);
}

.accept-modal[aria-hidden="true"]{
  display:none;
}

.gate-card,
.accept-card{
  width:min(620px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  background:#fff;
  border:1px solid #d8e7f3;
  box-shadow:0 34px 90px rgba(0,24,43,.28);
  padding:34px;
}

.gate-card img{
  width:230px;
  max-width:70%;
  background:#fff;
  display:block;
  margin:0 0 28px;
}

.gate-kicker{
  color:#0062ab;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.78rem;
  font-weight:800;
  margin:0 0 12px;
}

.gate-card h2,
.accept-card h2{
  font-family:"Saira",sans-serif;
  font-size:clamp(1.8rem,4vw,3.2rem);
  line-height:1;
  letter-spacing:-.035em;
  color:#003f76;
  margin:0 0 18px;
}

.gate-card p,
.accept-card p{
  color:#284359;
  margin:0 0 22px;
}

.gate-field{
  margin-bottom:18px;
}

.gate-field label{
  display:block;
  font-weight:800;
  color:#003f76;
  margin-bottom:8px;
}

.gate-field input{
  width:100%;
  height:54px;
  border:1px solid #c8ddec;
  padding:0 15px;
  font:inherit;
  color:#071827;
  background:#fff;
  outline:none;
}

.gate-field input:focus{
  border-color:#0062ab;
  box-shadow:0 0 0 4px rgba(0,98,171,.11);
}

.gate-field input.invalid{
  border-color:#b32121;
}

.gate-field small{
  display:block;
  margin-top:6px;
  color:#557086;
  font-size:.86rem;
}

.gate-field small.ok{
  color:#087036;
  font-weight:800;
}

.gate-card button,
.accept-card button,
.accept-button{
  min-height:58px;
  border:0;
  border-radius:999px;
  padding:0 24px;
  background:#0062ab;
  color:#fff;
  font:inherit;
  font-family:"Saira",sans-serif;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.gate-card button{
  width:100%;
}

.gate-alert{
  padding:14px 16px;
  margin-bottom:20px;
  background:#fff2f2;
  border-left:5px solid #b32121;
  color:#7e1818;
  font-weight:800;
}

.accept-card{
  position:relative;
  width:min(760px,100%);
}

.accept-close{
  position:absolute;
  top:16px;
  right:16px;
  width:42px;
  min-height:42px !important;
  height:42px;
  padding:0 !important;
  border-radius:50%;
  background:#eef8ff !important;
  color:#003f76 !important;
}

.confirm-data{
  margin:22px 0;
  border-top:1px solid #d8e7f3;
}

.confirm-data div{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid #d8e7f3;
}

.confirm-data dt{
  font-weight:800;
  color:#003f76;
}

.confirm-data dd{
  margin:0;
  color:#071827;
}

.final-term{
  background:#eef8ff;
  border-left:6px solid #0062ab;
  padding:22px;
  margin:22px 0;
}

.final-term strong{
  display:block;
  color:#003f76;
  margin-bottom:8px;
}

.final-term p{
  margin:0 0 18px;
  color:#071827;
}

.check{
  display:grid;
  grid-template-columns:22px 1fr;
  gap:12px;
  align-items:start;
  margin:0;
}

.check input{
  width:20px;
  height:20px;
  margin-top:3px;
}

.final-box p{
  max-width:760px;
}

@media(max-width:860px){
  .flow-status{
    top:auto;
    left:14px;
    right:14px;
    bottom:14px;
    border-radius:24px;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:8px;
  }

  .flow-status button{
    grid-column:1;
    grid-row:auto;
    width:100%;
  }

  .to-top{
    bottom:118px;
  }

  .gate-card,
  .accept-card{
    padding:24px;
  }

  .confirm-data div{
    grid-template-columns:1fr;
    gap:2px;
  }
}


/* Logo SVG local */
.brand img,
.mobile-brand img,
.hero-logo-panel img,
.gate-card img,
.receipt img{
  background:transparent;
}

.logo-white,
.hero-logo-panel.logo-white img,
.dark-logo img{
  filter:brightness(0) invert(1);
}

/* Na capa, o logo fica branco sobre o fundo azul, sem caixa branca. */
.hero-logo-panel{
  background:transparent;
  padding:0;
  box-shadow:none;
}

.hero-logo-panel img{
  width:min(360px,58vw);
  filter:brightness(0) invert(1);
}


/* Ajuste compacto do modal obrigatório */
.gate-modal,
.accept-modal{
  align-items:center !important;
  justify-items:center !important;
  padding:20px !important;
}

.gate-card{
  width:min(520px,calc(100vw - 40px)) !important;
  max-height:calc(100vh - 40px) !important;
  padding:22px 26px 24px !important;
  overflow:auto !important;
}

.gate-card img{
  width:178px !important;
  max-width:58% !important;
  margin:0 0 16px !important;
}

.gate-kicker{
  font-size:.68rem !important;
  letter-spacing:.20em !important;
  margin:0 0 8px !important;
}

.gate-card h2{
  font-size:clamp(1.8rem,3vw,2.55rem) !important;
  line-height:.96 !important;
  margin:0 0 12px !important;
  max-width:420px !important;
}

.gate-card p{
  font-size:.98rem !important;
  line-height:1.42 !important;
  margin:0 0 16px !important;
}

.gate-field{
  margin-bottom:11px !important;
}

.gate-field label{
  font-size:.94rem !important;
  margin-bottom:5px !important;
}

.gate-field input{
  height:44px !important;
  font-size:1rem !important;
  padding:0 12px !important;
}

.gate-field small{
  margin-top:4px !important;
  font-size:.76rem !important;
  line-height:1.25 !important;
}

.gate-card button{
  min-height:48px !important;
  margin-top:8px !important;
}

.gate-alert{
  padding:10px 12px !important;
  margin-bottom:12px !important;
  font-size:.9rem !important;
}

@media(max-width:640px){
  .gate-modal,
  .accept-modal{
    padding:12px !important;
    align-items:start !important;
  }

  .gate-card{
    width:100% !important;
    max-height:calc(100vh - 24px) !important;
    padding:18px 18px 20px !important;
    margin-top:0 !important;
  }

  .gate-card img{
    width:150px !important;
    margin-bottom:12px !important;
  }

  .gate-card h2{
    font-size:1.85rem !important;
  }

  .gate-card p{
    font-size:.94rem !important;
  }

  .gate-field{
    margin-bottom:9px !important;
  }

  .gate-field input{
    height:42px !important;
  }

  .gate-card button{
    min-height:46px !important;
  }
}


/* Refinamento visual do modal obrigatório */
.gate-card,
.accept-card{
  border-radius:22px !important;
}

.gate-kicker{
  font-size:.56rem !important;
  letter-spacing:.30em !important;
  line-height:1.1 !important;
  margin:0 0 12px !important;
}

.gate-card h2{
  font-size:clamp(1.45rem,2.45vw,2.08rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
  margin:0 0 14px !important;
  max-width:390px !important;
}

.gate-card p{
  font-size:1rem !important;
  line-height:1.48 !important;
  margin:0 0 18px !important;
  max-width:470px !important;
}

.gate-field input{
  border-radius:8px !important;
}

.gate-card button{
  min-height:56px !important;
  padding-top:14px !important;
  padding-bottom:14px !important;
  border-radius:999px !important;
}

@media(max-width:640px){
  .gate-card,
  .accept-card{
    border-radius:18px !important;
  }

  .gate-card h2{
    font-size:1.62rem !important;
  }

  .gate-card button{
    min-height:54px !important;
  }
}


/* =========================================================
   MODAL OBRIGATÓRIO — VERSÃO FINAL COMPACTA
   ========================================================= */

html body .gate-modal{
  padding:24px !important;
  align-items:center !important;
  justify-items:center !important;
}

html body .gate-modal .gate-card{
  width:480px !important;
  max-width:calc(100vw - 48px) !important;
  max-height:none !important;
  overflow:visible !important;
  padding:22px 24px 24px !important;
  border-radius:24px !important;
  border:1px solid rgba(216,231,243,.95) !important;
  box-shadow:0 32px 90px rgba(0,24,43,.30) !important;
}

html body .gate-modal .gate-card img{
  width:158px !important;
  max-width:158px !important;
  margin:0 0 14px !important;
}

html body .gate-modal .gate-card .gate-kicker{
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.28em !important;
  margin:0 0 10px !important;
  font-weight:900 !important;
}

html body .gate-modal .gate-card h2{
  font-size:28px !important;
  line-height:1.02 !important;
  letter-spacing:-.02em !important;
  max-width:360px !important;
  margin:0 0 10px !important;
}

html body .gate-modal .gate-card p{
  font-size:15px !important;
  line-height:1.38 !important;
  max-width:410px !important;
  margin:0 0 16px !important;
}

html body .gate-modal .gate-card .gate-field{
  margin-bottom:9px !important;
}

html body .gate-modal .gate-card .gate-field label{
  font-size:14px !important;
  line-height:1.15 !important;
  margin:0 0 5px !important;
}

html body .gate-modal .gate-card .gate-field input{
  height:40px !important;
  min-height:40px !important;
  padding:0 11px !important;
  border-radius:8px !important;
  font-size:15px !important;
  line-height:40px !important;
}

html body .gate-modal .gate-card .gate-field small{
  font-size:11px !important;
  line-height:1.2 !important;
  margin-top:3px !important;
}

html body .gate-modal .gate-card button[type="submit"]{
  width:100% !important;
  min-height:56px !important;
  height:56px !important;
  padding:15px 22px !important;
  margin-top:10px !important;
  border-radius:999px !important;
  font-size:17px !important;
  line-height:1 !important;
}

@media(max-width:640px){
  html body .gate-modal{
    padding:12px !important;
    align-items:center !important;
  }

  html body .gate-modal .gate-card{
    width:100% !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100vh - 24px) !important;
    overflow:auto !important;
    padding:18px 18px 20px !important;
    border-radius:18px !important;
  }

  html body .gate-modal .gate-card img{
    width:132px !important;
    max-width:132px !important;
    margin-bottom:10px !important;
  }

  html body .gate-modal .gate-card .gate-kicker{
    font-size:8px !important;
    margin-bottom:8px !important;
  }

  html body .gate-modal .gate-card h2{
    font-size:24px !important;
    max-width:300px !important;
    margin-bottom:8px !important;
  }

  html body .gate-modal .gate-card p{
    font-size:14px !important;
    line-height:1.32 !important;
    margin-bottom:12px !important;
  }

  html body .gate-modal .gate-card .gate-field{
    margin-bottom:8px !important;
  }

  html body .gate-modal .gate-card .gate-field input{
    height:38px !important;
    min-height:38px !important;
    line-height:38px !important;
  }

  html body .gate-modal .gate-card button[type="submit"]{
    min-height:52px !important;
    height:52px !important;
    margin-top:8px !important;
  }
}


/* Validação e aviso de campos obrigatórios */
html body .gate-modal .required-note{
  margin:-6px 0 14px !important;
  font-size:13px !important;
  line-height:1.25 !important;
  color:#003f76 !important;
  font-weight:800 !important;
}

html body .gate-modal .gate-field small.ok{
  color:#087036 !important;
  font-weight:900 !important;
}

html body .gate-modal .gate-field input.invalid{
  border-color:#b32121 !important;
  box-shadow:0 0 0 4px rgba(179,33,33,.10) !important;
}


/* Campos obrigatórios e alerta sem filete lateral */
html body .gate-modal .required-note{
  display:none !important;
}

html body .gate-modal .required-star{
  color:#b32121 !important;
  font-weight:900 !important;
  margin-left:2px !important;
}

html body .gate-modal .gate-alert{
  border-left:0 !important;
  border-radius:10px !important;
  background:#fff1f1 !important;
  color:#821d1d !important;
  padding:12px 14px !important;
}

html body .gate-modal .gate-alert::before,
html body .gate-modal .gate-alert::after{
  display:none !important;
  content:none !important;
}


/* Ajustes da capa e alerta de ciência */
html body .hero h1{
  letter-spacing:-.013em !important;
}

html body .hero .subtitle{
  max-width:720px !important;
  line-height:1.42 !important;
}

html body .flow-status{
  background:#fff !important;
  border:1px solid rgba(179,33,33,.26) !important;
  color:#821d1d !important;
  box-shadow:0 18px 44px rgba(130,29,29,.18) !important;
}

html body .flow-status::before{
  content:"!";
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#b32121;
  color:#fff;
  font-weight:900;
  grid-row:1 / span 2;
  grid-column:1;
}

html body .flow-status{
  grid-template-columns:28px auto auto !important;
}

html body .flow-status strong{
  grid-column:2;
  color:#821d1d !important;
}

html body .flow-status span{
  grid-column:2 !important;
  color:#821d1d !important;
}

html body .flow-status button{
  grid-column:3 !important;
  background:#f1d7d7 !important;
  color:#821d1d !important;
}

html body .flow-status::after{
  content:"É necessário ler o manual até o final para liberar o registro de ciência.";
  position:absolute;
  right:18px;
  top:calc(100% + 10px);
  width:280px;
  padding:12px 14px;
  border-radius:14px;
  background:#821d1d;
  color:#fff;
  font-size:.78rem;
  line-height:1.3;
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}

html body .flow-status:hover::after{
  opacity:1;
  transform:translateY(0);
}

html body .flow-status.ready{
  border-color:rgba(8,112,54,.28) !important;
  color:#087036 !important;
  box-shadow:0 18px 44px rgba(8,112,54,.15) !important;
}

html body .flow-status.ready::before{
  content:"✓";
  background:#087036;
}

html body .flow-status.ready strong,
html body .flow-status.ready span{
  color:#087036 !important;
}

html body .flow-status.ready button{
  background:#087036 !important;
  color:#fff !important;
}

html body .flow-status.ready::after{
  content:"Leitura concluída. Agora você pode registrar sua ciência.";
  background:#087036;
}

@media(max-width:860px){
  html body .flow-status{
    grid-template-columns:28px 1fr !important;
  }

  html body .flow-status button{
    grid-column:1 / span 2 !important;
  }

  html body .flow-status::after{
    display:none !important;
  }
}


/* Ajustes finais de conteúdo, termo, alerta e rolagem */
html body .hero h1{
  letter-spacing:-.013em !important;
}

html body .hero .subtitle strong{
  font-weight:800 !important;
  color:#fff !important;
}

html body .principle-list article > p{
  grid-column:2 !important;
}

html body .principle-list article > p + p{
  grid-column:2 !important;
}

html body .digital-term-box{
  max-width:980px !important;
}

html body .digital-term-text{
  font-size:1.18rem !important;
  line-height:1.6 !important;
  color:#003f76 !important;
  font-weight:800 !important;
}

html body .identified-data{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 28px;
  margin:28px 0;
  padding:24px 0;
  border-top:1px solid #d8e7f3;
  border-bottom:1px solid #d8e7f3;
}

html body .identified-data p{
  margin:0 !important;
}

html body .identified-data span{
  display:block;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#557086;
  font-weight:800;
  margin-bottom:4px;
}

html body .identified-data strong{
  color:#071827;
  font-size:1rem;
}

html body .digital-term-warning{
  margin:0 0 22px !important;
  color:#003f76 !important;
  font-weight:800 !important;
}

html body .force-accept{
  min-height:62px !important;
  padding:0 32px !important;
  background:#b32121 !important;
  border-radius:999px !important;
  box-shadow:0 18px 42px rgba(179,33,33,.18);
}

html body .flow-status.ready{
  border-color:rgba(179,33,33,.32) !important;
  color:#821d1d !important;
  box-shadow:0 18px 44px rgba(130,29,29,.18) !important;
}

html body .flow-status.ready::before{
  content:"!";
  background:#b32121 !important;
}

html body .flow-status.ready strong,
html body .flow-status.ready span{
  color:#821d1d !important;
}

html body .flow-status.ready button{
  background:#b32121 !important;
  color:#fff !important;
}

html body .flow-status.ready::after{
  content:"O registro da ciência está liberado e deve ser concluído agora.";
  background:#821d1d !important;
}

/* Barras de rolagem mais discretas */
html{
  scrollbar-width:thin;
  scrollbar-color:#b8c7d3 #eef6fc;
}

html body .sidebar-inner{
  scrollbar-width:thin;
  scrollbar-color:#b8c7d3 transparent;
}

html::-webkit-scrollbar,
html body .sidebar-inner::-webkit-scrollbar{
  width:7px;
}

html::-webkit-scrollbar-track,
html body .sidebar-inner::-webkit-scrollbar-track{
  background:#eef6fc;
}

html body .sidebar-inner::-webkit-scrollbar-track{
  background:transparent;
}

html::-webkit-scrollbar-thumb,
html body .sidebar-inner::-webkit-scrollbar-thumb{
  background:#b8c7d3;
  border-radius:999px;
}

@media(max-width:860px){
  html body .flow-status{
    top:82px !important;
    bottom:auto !important;
    left:12px !important;
    right:12px !important;
    border-radius:18px !important;
    grid-template-columns:28px 1fr auto !important;
    grid-template-rows:auto auto !important;
    padding:10px 12px !important;
  }

  html body .flow-status button{
    grid-column:3 !important;
    grid-row:1 / span 2 !important;
    width:auto !important;
    min-height:40px !important;
    padding:0 13px !important;
    font-size:.82rem !important;
  }

  html body .flow-status span{
    font-size:.72rem !important;
  }

  html body .identified-data{
    grid-template-columns:1fr !important;
  }

  html body .force-accept{
    width:100% !important;
  }
}


/* Valores, canais, anexos e autorização de imagem */
html body .values-article .values-list{
  grid-column:2;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 28px;
}

html body .values-article .values-list li{
  position:relative;
  padding-left:18px;
  color:#071827;
}

html body .values-article .values-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.75em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#0062ab;
}

html body .contact-lines-links p,
html body .contact-lines-links .social-row{
  display:grid;
  grid-template-columns:56px 1fr;
  align-items:center;
  gap:20px;
  margin:0;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}

html body .contact-lines-links strong{
  display:block;
  color:#003f76;
  font-weight:900;
  margin-bottom:2px;
}

html body .contact-lines-links a{
  color:#0062ab;
  font-weight:800;
  text-decoration:none;
}

html body .contact-lines-links a:hover{
  text-decoration:underline;
}

html body .social-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}

html body .social-links a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid #d8e7f3;
}

html body .social-links a i{
  font-size:1.25rem;
}

html body .annex-links p{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  margin:0 0 20px;
}

html body .annex-links strong,
html body .annex-links a{
  color:#003f76;
  text-decoration:none;
}

html body .annex-links a{
  font-weight:900;
}

html body .annex-links small{
  display:block;
  font-family:"Atkinson Hyperlegible",system-ui,sans-serif;
  font-size:1rem;
  line-height:1.5;
  color:#557086;
  margin-top:5px;
}

html body .image-auth-preview{
  margin-top:18px !important;
  padding-top:18px;
  border-top:1px solid #d8e7f3;
}

html body .final-term .check + .check{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(0,98,171,.18);
}

@media(max-width:860px){
  html body .values-article .values-list{
    grid-column:1;
    grid-template-columns:1fr;
  }

  html body .contact-lines-links p,
  html body .contact-lines-links .social-row{
    grid-template-columns:44px 1fr;
  }

  html body .social-links{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* Canais e Anexos — versão final */
html body .contact-lines-links a,
html body .contact-lines-links a:hover,
html body .social-links a,
html body .social-links a:hover,
html body .annex-button,
html body .annex-button:hover{
  text-decoration:none !important;
}

html body .contact-lines-links em{
  display:block;
  font-style:normal;
  color:#284359;
  line-height:1.45;
  max-width:780px;
}

html body .social-links a{
  transition:background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

html body .social-links a:hover{
  background:#0062ab !important;
  border-color:#0062ab !important;
  color:#fff !important;
  transform:translateY(-1px);
}

html body .social-links a:hover i,
html body .social-links a:hover span{
  color:#fff !important;
}

html body .annex-grid{
  max-width:1040px;
  display:grid;
  gap:18px;
}

html body .annex-item{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:22px;
  align-items:start;
  padding:28px;
  background:#fff;
  border:1px solid #d8e7f3;
  border-radius:24px;
  box-shadow:0 18px 50px rgba(0,49,91,.06);
}

html body .annex-icon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:#eef8ff;
  color:#0062ab;
}

html body .annex-icon i{
  font-size:2rem;
}

html body .annex-item h3{
  margin:0 0 8px;
  font-family:"Saira",sans-serif;
  font-size:clamp(1.35rem,2.3vw,2rem);
  line-height:1.08;
  letter-spacing:-.02em;
  color:#003f76;
}

html body .annex-item p{
  margin:0;
  color:#284359;
  font-family:"Atkinson Hyperlegible",system-ui,sans-serif;
  font-size:1.03rem;
  line-height:1.55;
}

html body .annex-item small{
  display:block;
  margin-top:10px;
  color:#557086;
  font-family:"Atkinson Hyperlegible",system-ui,sans-serif;
  font-size:.95rem;
  line-height:1.45;
}

html body .annex-button{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  padding:0 18px;
  border-radius:999px;
  background:#0062ab;
  color:#fff !important;
  font-weight:900;
}

html body .annex-button:hover{
  background:#003f76;
}

html body .image-auth-preview{
  margin-top:22px !important;
  padding:22px !important;
  border:1px solid #d8e7f3 !important;
  border-radius:20px;
  background:#fff !important;
}

html body .image-auth-preview strong{
  display:block;
  color:#003f76;
  font-family:"Saira",sans-serif;
  font-size:1.35rem;
  line-height:1.1;
  margin-bottom:10px;
}

html body .image-auth-preview p{
  margin:0 0 10px !important;
  color:#003f76 !important;
  font-weight:800 !important;
}

html body .image-auth-preview small,
html body .final-term .check small{
  display:block;
  margin-top:8px;
  color:#557086;
  font-size:.92rem;
  line-height:1.45;
}

html body .final-term .check span{
  display:block;
}

@media(max-width:860px){
  html body .annex-item{
    grid-template-columns:1fr;
    gap:14px;
    padding:22px;
  }

  html body .annex-icon{
    width:56px;
    height:56px;
    border-radius:18px;
  }
}


/* Fluxo com memória do navegador e comprovante */
html body .flow-status a{
  grid-column:3;
  grid-row:1 / span 2;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 18px;
  background:#087036;
  color:#fff;
  text-decoration:none !important;
  font-family:"Saira",sans-serif;
  font-weight:800;
}

html body .flow-status.registered{
  border-color:rgba(8,112,54,.28) !important;
  color:#087036 !important;
  box-shadow:0 18px 44px rgba(8,112,54,.15) !important;
}

html body .flow-status.registered::before{
  content:"✓";
  background:#087036 !important;
}

html body .flow-status.registered strong,
html body .flow-status.registered span{
  color:#087036 !important;
}

html body .flow-status.registered::after{
  content:"Ciência já registrada neste navegador. O comprovante pode ser consultado a qualquer momento.";
  background:#087036 !important;
}

html body .registered-link{
  background:#087036 !important;
  box-shadow:0 18px 42px rgba(8,112,54,.18) !important;
  text-decoration:none !important;
}

@media(max-width:860px){
  html body .flow-status a{
    grid-column:3 !important;
    grid-row:1 / span 2 !important;
    width:auto !important;
    min-height:40px !important;
    padding:0 13px !important;
    font-size:.82rem !important;
  }
}


/* Estado liberado para registro em laranja */
html body .flow-status.ready:not(.registered){
  border-color:rgba(216,113,0,.36) !important;
  color:#9a4f00 !important;
  box-shadow:0 18px 44px rgba(216,113,0,.18) !important;
}

html body .flow-status.ready:not(.registered)::before{
  content:"!";
  background:#d87100 !important;
}

html body .flow-status.ready:not(.registered) strong,
html body .flow-status.ready:not(.registered) span{
  color:#9a4f00 !important;
}

html body .flow-status.ready:not(.registered) button{
  background:#d87100 !important;
  color:#fff !important;
}

html body .flow-status.ready:not(.registered)::after{
  content:"Você já pode registrar a ciência. Clique no botão e confirme o termo.";
  background:#9a4f00 !important;
}

html body .accept-card .gate-kicker::after{
  content:"";
}

html body .accept-card h2{
  max-width:620px;
}

html body .accept-card .final-term::before{
  content:"Ao registrar a ciência, você confirma que leu o Manual do Colaborador, está ciente das normas e orientações apresentadas e concorda com os termos abaixo.";
  display:block;
  margin:0 0 18px;
  color:#003f76;
  font-weight:900;
  line-height:1.45;
}

/* Aviso de cookies */
.cookie-banner{
  position:fixed;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:160;
  max-width:980px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px;
  align-items:center;
  padding:20px 22px;
  border-radius:22px;
  background:#fff;
  border:1px solid #d8e7f3;
  box-shadow:0 26px 80px rgba(0,24,43,.22);
}

.cookie-banner[hidden]{
  display:none !important;
}

.cookie-banner strong{
  display:block;
  color:#003f76;
  font-weight:900;
  margin-bottom:4px;
}

.cookie-banner p{
  margin:0;
  color:#284359;
  font-size:.94rem;
  line-height:1.45;
}

.cookie-banner button{
  min-height:46px;
  border:0;
  border-radius:999px;
  padding:0 22px;
  background:#0062ab;
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.cookie-links{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px;
}

.cookie-links a{
  color:#0062ab;
  font-weight:900;
  text-decoration:none !important;
  font-size:.9rem;
}

.legal-page{
  min-height:100vh;
  padding:56px 20px;
  background:#eef8ff;
  color:#071827;
}

.legal-card{
  width:min(920px,100%);
  margin:0 auto;
  background:#fff;
  border:1px solid #d8e7f3;
  border-radius:26px;
  padding:42px;
  box-shadow:0 24px 70px rgba(0,49,91,.10);
}

.legal-card img{
  width:220px;
  max-width:70%;
  margin-bottom:28px;
}

.legal-card h1{
  font-family:"Saira",sans-serif;
  color:#003f76;
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1;
  margin:0 0 18px;
  letter-spacing:-.025em;
}

.legal-card h2{
  color:#003f76;
  margin:30px 0 8px;
  font-size:1.25rem;
}

.legal-card p,
.legal-card li{
  line-height:1.65;
  color:#284359;
}

.legal-card a{
  color:#0062ab;
  font-weight:900;
  text-decoration:none;
}

.legal-back{
  display:inline-flex;
  margin-top:26px;
  min-height:46px;
  align-items:center;
  padding:0 18px;
  border-radius:999px;
  background:#0062ab;
  color:#fff !important;
}

@media(max-width:860px){
  .cookie-banner{
    grid-template-columns:1fr;
    left:12px;
    right:12px;
    bottom:12px;
    padding:18px;
  }

  .cookie-banner button{
    width:100%;
  }

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


/* Correção final dos botões de registrar ciência */
html body .force-accept{
  background:#d87100 !important;
  border:0 !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(216,113,0,.20) !important;
}

html body .force-accept:hover{
  background:#b85f00 !important;
  color:#fff !important;
}

html body .flow-status.ready:not(.registered) button,
html body #openAcceptTop:not(:disabled){
  background:#d87100 !important;
  color:#fff !important;
  cursor:pointer !important;
}

html body #openAcceptTop:disabled{
  pointer-events:none;
}


/* Políticas dentro do mesmo layout do manual */
html body.legal-body{
  background:
    radial-gradient(circle at 85% 4%, rgba(0,98,171,.14), transparent 26rem),
    linear-gradient(135deg,#f7fbff 0%,#ffffff 38%,#edf7ff 100%) !important;
}

html body .legal-main{
  min-height:100vh;
}

html body .legal-chapter{
  min-height:100vh;
  background:rgba(255,255,255,.72) !important;
}

html body .legal-flow{
  max-width:920px;
  color:#071827;
}

html body .legal-flow p,
html body .legal-flow li{
  font-size:1.06rem;
  line-height:1.72;
  color:#284359;
}

html body .legal-flow h3{
  margin:32px 0 8px;
  color:#003f76;
  font-size:1.25rem;
  line-height:1.25;
}

html body .legal-flow ul{
  margin:12px 0 0;
  padding-left:24px;
}

/* Modal de confirmação refinado */
html body .accept-modal{
  padding:26px !important;
}

html body .accept-card{
  width:min(780px,calc(100vw - 52px)) !important;
  max-height:calc(100vh - 52px) !important;
  overflow:hidden !important;
  border-radius:30px !important;
  padding:0 !important;
  display:flex;
  flex-direction:column;
}

html body .accept-card > *{
  margin-left:34px;
  margin-right:34px;
}

html body .accept-card > .accept-close{
  margin:0 !important;
}

html body .accept-card::before{
  content:"";
  display:block;
  height:30px;
  flex:0 0 auto;
}

html body .accept-card{
  overflow-y:auto !important;
  scrollbar-width:thin;
  scrollbar-color:#c2d0dc transparent;
  padding-bottom:34px !important;
}

html body .accept-card::-webkit-scrollbar{
  width:6px;
}

html body .accept-card::-webkit-scrollbar-track{
  background:transparent;
  margin:22px 0;
}

html body .accept-card::-webkit-scrollbar-thumb{
  background:#c2d0dc;
  border-radius:999px;
}

html body .accept-close{
  width:58px !important;
  height:58px !important;
  min-height:58px !important;
  top:18px !important;
  right:18px !important;
  font-size:1.35rem !important;
  font-weight:900 !important;
  background:#eef8ff !important;
  color:#003f76 !important;
  border:1px solid #d8e7f3 !important;
  box-shadow:0 12px 28px rgba(0,49,91,.10);
}

html body .accept-close:hover{
  background:#0062ab !important;
  color:#fff !important;
}

html body .final-term{
  border-left:0 !important;
  border-radius:22px !important;
  background:#eef8ff !important;
  padding:26px 28px !important;
}

html body .final-term::before{
  border-bottom:1px solid rgba(0,98,171,.16);
  padding-bottom:18px;
}

html body .confirm-science-button{
  background:#b8c7d3 !important;
  color:#fff !important;
  cursor:not-allowed !important;
}

html body .confirm-science-button:not(:disabled){
  background:#0062ab !important;
  cursor:pointer !important;
  box-shadow:0 16px 36px rgba(0,98,171,.18);
}

html body .confirm-science-button:not(:disabled):hover{
  background:#003f76 !important;
}

html body .check input{
  accent-color:#0062ab;
}

@media(max-width:860px){
  html body .accept-modal{
    padding:12px !important;
  }

  html body .accept-card{
    width:100% !important;
    max-height:calc(100vh - 24px) !important;
    border-radius:22px !important;
  }

  html body .accept-card > *{
    margin-left:22px;
    margin-right:22px;
  }

  html body .accept-close{
    width:50px !important;
    height:50px !important;
    min-height:50px !important;
    top:14px !important;
    right:14px !important;
  }
}


/* Refinamento final da modal de confirmação */
html body .accept-modal{
  transition:background-color .28s ease, backdrop-filter .28s ease !important;
}

html body .accept-card{
  max-height:calc(100vh - 72px) !important;
  border-radius:30px !important;
  padding:34px 34px 38px !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#b9c9d6 transparent;
  transition:transform .28s cubic-bezier(.22,.9,.22,1), opacity .28s ease, box-shadow .28s ease !important;
}

html body .accept-modal[aria-hidden="false"] .accept-card{
  animation:acceptModalIn .28s cubic-bezier(.22,.9,.22,1) both;
}

@keyframes acceptModalIn{
  from{
    opacity:0;
    transform:translateY(14px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

html body .accept-card > *{
  margin-left:0 !important;
  margin-right:0 !important;
}

html body .accept-card::before{
  display:none !important;
}

html body .accept-card::-webkit-scrollbar{
  width:6px !important;
}

html body .accept-card::-webkit-scrollbar-track{
  background:transparent !important;
  margin-top:22px !important;
  margin-bottom:22px !important;
}

html body .accept-card::-webkit-scrollbar-thumb{
  background:#b9c9d6 !important;
  border-radius:999px !important;
}

html body .accept-card::-webkit-scrollbar-button{
  height:22px !important;
  background:transparent !important;
}

html body .accept-card .gate-kicker{
  display:block !important;
  margin:0 0 14px !important;
  padding-right:92px !important;
  font-size:.68rem !important;
  line-height:1 !important;
  letter-spacing:.32em !important;
  color:#003f76 !important;
  transform:none !important;
}

html body .accept-card h2{
  padding-right:92px !important;
  max-width:680px !important;
}

html body .accept-close{
  width:68px !important;
  height:68px !important;
  min-height:68px !important;
  top:28px !important;
  right:28px !important;
  z-index:3 !important;
  font-size:1.55rem !important;
  line-height:1 !important;
  border-radius:50% !important;
  transition:background-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease !important;
}

html body .accept-close:hover{
  transform:scale(1.04);
}

html body .confirm-science-button{
  transition:background-color .26s ease, color .26s ease, box-shadow .26s ease, transform .26s ease !important;
}

html body .confirm-science-button:not(:disabled):hover{
  transform:translateY(-1px);
}

html body .final-term{
  transition:background-color .26s ease, border-color .26s ease, box-shadow .26s ease !important;
}

@media(max-width:860px){
  html body .accept-card{
    max-height:calc(100vh - 32px) !important;
    padding:26px 22px 30px !important;
    border-radius:24px !important;
  }

  html body .accept-card .gate-kicker,
  html body .accept-card h2{
    padding-right:70px !important;
  }

  html body .accept-close{
    width:56px !important;
    height:56px !important;
    min-height:56px !important;
    top:18px !important;
    right:18px !important;
  }

  html body .accept-card::-webkit-scrollbar-track{
    margin-top:18px !important;
    margin-bottom:18px !important;
  }

  html body .accept-card::-webkit-scrollbar-button{
    height:18px !important;
  }
}


/* Correção final: fechar, rolagem e cookies */
html body .accept-modal{
  overflow:hidden !important;
}

html body .accept-card{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  border-radius:34px !important;
  box-shadow:0 34px 90px rgba(0,24,43,.32) !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}

html body .accept-card::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

html body .accept-close{
  width:78px !important;
  height:78px !important;
  min-width:78px !important;
  min-height:78px !important;
  top:28px !important;
  right:28px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  border-radius:50% !important;
  background:#eef8ff !important;
  color:#003f76 !important;
  border:1px solid #cfe2f1 !important;
  box-shadow:0 14px 34px rgba(0,49,91,.14) !important;
}

html body .accept-close span{
  display:block !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:translateY(-1px);
}

html body .accept-close:hover{
  background:#0062ab !important;
  color:#fff !important;
  transform:scale(1.035);
}

html body .cookie-banner{
  opacity:1 !important;
  transform:none !important;
}

html body .cookie-banner[hidden]{
  display:none !important;
}

@media(max-width:860px){
  html body .accept-close{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    min-height:64px !important;
    top:18px !important;
    right:18px !important;
  }

  html body .accept-close span{
    font-size:29px !important;
  }
}


/* Fluxo corrigido: identificação sempre abre o manual */
html body .flow-status.registered{
  border-color:rgba(8,112,54,.28) !important;
}

html body .flow-status.registered a{
  text-decoration:none !important;
}


/* Identificação não mostra verde automaticamente */
html body .flow-status.registered.only-after-confirmation{
  border-color:rgba(8,112,54,.28) !important;
}


/* Ajuste único: scroll interno das modais */
html body .accept-card,
html body .gate-card{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:#b8c7d3 transparent !important;
}

html body .accept-card::-webkit-scrollbar,
html body .gate-card::-webkit-scrollbar{
  width:7px !important;
  display:block !important;
}

html body .accept-card::-webkit-scrollbar-track,
html body .gate-card::-webkit-scrollbar-track{
  background:transparent !important;
  margin-top:30px !important;
  margin-bottom:30px !important;
  border-radius:999px !important;
}

html body .accept-card::-webkit-scrollbar-thumb,
html body .gate-card::-webkit-scrollbar-thumb{
  background:#b8c7d3 !important;
  border-radius:999px !important;
}

html body .accept-card::-webkit-scrollbar-button,
html body .gate-card::-webkit-scrollbar-button{
  height:30px !important;
  background:transparent !important;
}

html body .accept-card::-webkit-scrollbar-corner,
html body .gate-card::-webkit-scrollbar-corner{
  background:transparent !important;
}

@media(max-width:860px){
  html body .accept-card::-webkit-scrollbar-track,
  html body .gate-card::-webkit-scrollbar-track{
    margin-top:30px !important;
    margin-bottom:30px !important;
  }

  html body .accept-card::-webkit-scrollbar-button,
  html body .gate-card::-webkit-scrollbar-button{
    height:30px !important;
  }
}


/* Estabilização: hidden precisa esconder de verdade */
html body .cookie-banner[hidden],
html body .accept-modal[aria-hidden="true"],
html body .gate-modal[hidden]{
  display:none !important;
}

/* Cookie banner não deve travar o formulário depois do aceite */
html body .cookie-banner{
  z-index:140 !important;
}

/* Scroll das modais, sem destruir cantos */
html body .accept-modal .accept-card,
html body .gate-modal .gate-card{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:#b8c7d3 transparent !important;
  -ms-overflow-style:auto !important;
}

html body .accept-modal .accept-card::-webkit-scrollbar,
html body .gate-modal .gate-card::-webkit-scrollbar{
  width:7px !important;
  display:block !important;
}

html body .accept-modal .accept-card::-webkit-scrollbar-track,
html body .gate-modal .gate-card::-webkit-scrollbar-track{
  background:transparent !important;
  margin-top:30px !important;
  margin-bottom:30px !important;
  border-radius:999px !important;
}

html body .accept-modal .accept-card::-webkit-scrollbar-thumb,
html body .gate-modal .gate-card::-webkit-scrollbar-thumb{
  background:#b8c7d3 !important;
  border-radius:999px !important;
  border:2px solid transparent !important;
  background-clip:content-box !important;
}

html body .accept-modal .accept-card::-webkit-scrollbar-button,
html body .gate-modal .gate-card::-webkit-scrollbar-button{
  height:30px !important;
  background:transparent !important;
}

/* Botão fechar maior preservado */
html body .accept-close{
  width:78px !important;
  height:78px !important;
  min-width:78px !important;
  min-height:78px !important;
}

html body .accept-close span{
  font-size:34px !important;
  line-height:1 !important;
  font-weight:900 !important;
}


/* Aviso de cookies no mobile: não cobre a identificação */
html body.gate-open .cookie-banner{
  display:none !important;
}

@media(max-width:860px){
  html body:not(.gate-open) .cookie-banner{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    max-height:46vh !important;
    overflow:auto !important;
    border-radius:20px !important;
  }

  html body:not(.gate-open) .cookie-banner p{
    font-size:.9rem !important;
    line-height:1.4 !important;
  }

  html body:not(.gate-open) .cookie-banner button{
    min-height:50px !important;
  }
}


/* Botão do alerta superior sempre reage */
html body #openAcceptTop{
  cursor:pointer !important;
  pointer-events:auto !important;
}

html body .flow-status:not(.ready):not(.registered) #openAcceptTop,
html body .flow-status:not(.ready):not(.registered) button{
  background:#f1d7d7 !important;
  color:#821d1d !important;
  cursor:pointer !important;
}


/* Downloads de Segurança do Trabalho */
html body .work-safety-docs{
  align-items:start !important;
}

html body .download-list{
  display:grid;
  gap:10px;
  margin-top:18px;
}

html body .download-list a{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 16px;
  align-items:center;
  min-height:72px;
  padding:14px 16px;
  border:1px solid #d8e7f3;
  border-radius:18px;
  background:#f7fbff;
  text-decoration:none !important;
  transition:background-color .22s ease, border-color .22s ease, transform .22s ease;
}

html body .download-list a:hover{
  background:#eef8ff;
  border-color:#b9d8ee;
  transform:translateY(-1px);
  text-decoration:none !important;
}

html body .download-list span{
  display:block;
  color:#003f76;
  font-weight:900;
  line-height:1.25;
}

html body .download-list small{
  display:block;
  grid-column:1;
  color:#557086;
  font-size:.9rem;
  line-height:1.25;
  margin:0;
}

html body .download-list strong{
  grid-column:2;
  grid-row:1 / span 2;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  background:#0062ab;
  color:#fff;
  font-size:.88rem;
  white-space:nowrap;
}

@media(max-width:760px){
  html body .download-list a{
    grid-template-columns:1fr;
  }

  html body .download-list strong{
    grid-column:1;
    grid-row:auto;
    width:max-content;
    margin-top:6px;
  }
}
