/* Termos de Uso e Política de Privacidade.
   Mesmos tokens da marca (seção 3 do CLAUDE.md), com Nunito como no app. */
@view-transition { navigation: auto; }
:root{
    --teal:#17708F;
    --teal-deep:#14303C;
    --pink:#E0559A;
    --foam:#F7F4EE;
    --green:#2E7D5B;
    --ink:#14303C;
    --ink-soft:#4A5B63;
    --rule:#E6DFD3;
    --paper:#FFFFFF;
    --measure:68ch;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:2rem}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{
    margin:0;background:var(--foam);color:var(--ink);
    font-family:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
    font-size:16.5px;line-height:1.72;-webkit-font-smoothing:antialiased;
  }
  .masthead{
    background:linear-gradient(160deg,var(--teal-deep) 0%,var(--teal) 100%);
    color:#fff;padding:3.25rem 1.5rem 4.5rem;position:relative;overflow:hidden;
  }
  .masthead::after{
    content:"";position:absolute;left:0;right:0;bottom:-1px;height:44px;background:var(--foam);
    -webkit-mask:radial-gradient(28px 44px at 50% 0,transparent 99%,#000 100%) repeat-x;
    mask:radial-gradient(28px 44px at 50% 0,transparent 99%,#000 100%) repeat-x;
    -webkit-mask-size:56px 44px;mask-size:56px 44px;
  }
  .masthead-inner{max-width:1080px;margin:0 auto;position:relative;z-index:1}
  .brand{display:flex;align-items:center;gap:.85rem;margin-bottom:2.5rem}
  .brand svg{flex:none}
  .brand-name{font-family:"Nunito",sans-serif;font-weight:900;font-size:1.05rem;letter-spacing:.06em}
  .brand-tag{font-style:italic;font-size:.9rem;opacity:.82;margin-top:.1rem}
  h1{font-family:"Nunito",sans-serif;font-weight:800;font-size:clamp(2rem,5.5vw,3rem);
     line-height:1.12;margin:0 0 .6rem;letter-spacing:-.015em}
  .stamp{font-size:.92rem;opacity:.85;max-width:52ch}
  .stamp span{display:block}

  .shell{max-width:1080px;margin:0 auto;padding:0 1.5rem 5rem;display:grid;gap:3rem}
  @media(min-width:960px){.shell{grid-template-columns:255px minmax(0,1fr);align-items:start;gap:4rem}}
  nav.toc{background:var(--paper);border:1px solid var(--rule);border-radius:14px;
          padding:1.4rem 1.3rem;margin-top:-2.25rem;position:relative;z-index:2}
  @media(min-width:960px){nav.toc{position:sticky;top:1.75rem;max-height:calc(100vh - 3.5rem);overflow-y:auto}}
  nav.toc h2{font-family:"Nunito",sans-serif;font-size:.78rem;letter-spacing:.11em;
             text-transform:uppercase;color:var(--ink-soft);margin:0 0 .85rem;font-weight:600}
  nav.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
  nav.toc li{counter-increment:toc;margin:0}
  nav.toc a{display:flex;gap:.6rem;padding:.32rem 0;font-size:.9rem;line-height:1.4;
            color:var(--ink-soft);text-decoration:none;border-radius:4px}
  nav.toc a::before{content:counter(toc);color:var(--teal);font-variant-numeric:tabular-nums;min-width:1.35em;font-weight:700}
  nav.toc a:hover,nav.toc a:focus-visible{color:var(--teal-deep)}

  main{padding-top:.5rem;max-width:var(--measure)}
  @media(max-width:959px){main{margin-top:-.5rem}}
  section{margin:0 0 2.75rem;scroll-margin-top:1.5rem}
  h2{font-family:"Nunito",sans-serif;font-weight:800;color:var(--teal-deep);
     font-size:1.42rem;line-height:1.25;margin:0 0 .35rem;letter-spacing:-.01em}
  h2 .num{color:var(--teal);font-variant-numeric:tabular-nums;margin-right:.5rem;font-weight:700}
  h2 + .rule{height:2px;width:54px;background:var(--pink);border:0;margin:0 0 1.15rem;border-radius:2px}
  h3{font-family:"Nunito",sans-serif;font-weight:800;color:var(--teal);font-size:1.05rem;margin:1.6rem 0 .4rem}
  p{margin:0 0 1rem}
  ul,ol.body{margin:0 0 1rem;padding-left:1.25rem}
  ul li,ol.body li{margin-bottom:.5rem}
  ul{list-style:none;padding-left:1.15rem}
  ul li{position:relative}
  ul li::before{content:"";position:absolute;left:-1.05rem;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--teal);opacity:.55}
  strong{font-weight:700;color:var(--teal-deep)}
  a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:2px}
  a:hover{color:var(--teal-deep)}
  :focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:3px}

  .lead,.warn,.tip{border-radius:12px;padding:1.1rem 1.25rem;margin:0 0 1.35rem;font-size:.97rem}
  .lead{background:#E4F1F5;border-left:4px solid var(--teal)}
  .warn{background:#FBD9E9;border-left:4px solid var(--pink)}
  .tip{background:#EDF6F1;border-left:4px solid var(--green)}
  .lead p:last-child,.warn p:last-child,.tip p:last-child{margin-bottom:0}
  .warn strong{color:#C23B7C}
  .tip strong{color:#226247}

  .idcard{background:var(--paper);border:1px solid var(--rule);border-radius:14px;
          padding:1.3rem 1.4rem;margin:0 0 1.5rem;font-size:.95rem}
  .idcard dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.1rem;margin:0}
  .idcard dt{color:var(--ink-soft);font-weight:600;font-size:.86rem;white-space:nowrap}
  .idcard dd{margin:0}

  .table-wrap{overflow-x:auto;margin:0 0 1.35rem}
  table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
  th{background:var(--teal-deep);color:#fff;text-align:left;padding:.6rem .75rem;
     font-family:"Nunito",sans-serif;font-weight:800}
  td{padding:.6rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
  tbody tr:nth-child(odd){background:var(--foam)}

  footer.page{border-top:1px solid var(--rule);background:var(--paper);
              padding:2.5rem 1.5rem 3.5rem;font-size:.88rem;color:var(--ink-soft)}
  footer.page div{max-width:1080px;margin:0 auto}
  footer.page a{color:var(--teal)}
  .footer-links{margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}

  @media print{
    .masthead{background:none;color:var(--ink);padding-bottom:1rem}
    .masthead::after{display:none}
    nav.toc{display:none}
    body{background:#fff;font-size:10.5pt}
    section{break-inside:avoid-page}
    .table-wrap{overflow:visible}
    table{min-width:0}
  }

.brand{color:#fff;text-decoration:none}
.brand-pilula{width:46px;height:46px;border-radius:999px;background:#fff;display:grid;place-items:center;flex:none}
.brand-pilula img{width:32px;height:32px}
.brand-name span{font-family:"Caveat",cursive;font-size:1.35rem;letter-spacing:0;color:#FBD9E9;margin-left:.2rem;text-transform:none}
.voltar-app{display:inline-block;margin-top:1.4rem;color:#fff;font-weight:700;font-size:.9rem;opacity:.9}
.voltar-app:hover{color:#fff;opacity:1}
.aviso-legal{display:flex;gap:1rem;align-items:flex-start;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--rule)}
.aviso-legal img{width:40px;height:40px;flex:none}
footer.page button.link{background:none;border:0;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer}
