@font-face{font-family:Literata;src:url('fonts/literata-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Literata;src:url('fonts/literata-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-bold.ttf') format('truetype');font-weight:700;font-display:swap}
/* Calmaria de leitura (V3): mesmos valores de apps/mobile/src/theme/calmaria.ts. Tema noturno nao aprovado. */
:root{--paper:#F2EEE5;--surface:#FAF7F0;--surfaceSunk:#E7E2D4;--line:#DDD5C4;--fieldBorder:#857E6F;
  --ink:#26302B;--inkSoft:#3E4A43;--muted:#5A635C;--sage:#3F5B4C;--sageDeep:#2F4A3E;--sageHover:#34503F;--sageSoft:#DDE6DA;--sageMist:#E3EAE0;--onSage:#FBF8F2;
  --hover:#EEE9DB;--gutter:clamp(1rem,5vw,3.5rem);
  font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:100%;line-height:1.5;letter-spacing:0}
*{box-sizing:border-box}
html{scrollbar-gutter:stable;scroll-padding-top:1rem}
body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}
a{color:var(--sageDeep);text-underline-offset:.2em;overflow-wrap:anywhere}
a:hover{color:var(--sage)}
:focus-visible{outline:3px solid var(--sage);outline-offset:3px;border-radius:.625rem}
h1,h2,h3{font-family:Literata,Georgia,serif;font-weight:500;margin:0;overflow-wrap:anywhere}
h1{font-size:2.25rem;line-height:1.1;letter-spacing:-.02em}
h2{font-size:1.5rem;line-height:1.2}
p,dt,dd,li{overflow-wrap:anywhere}
p{margin:0}
ul,ol{margin:0;padding:0}
.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:fixed;z-index:10;top:.5rem;left:.5rem;display:block;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--fieldBorder);border-radius:.75rem}

.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding:1.25rem var(--gutter);border-bottom:1px solid var(--line)}
.brand{font-family:Literata,Georgia,serif;font-weight:500;font-size:1.75rem;line-height:1.2;letter-spacing:-.01em;color:var(--sage);text-decoration:none;min-height:2.75rem;display:inline-flex;align-items:center}
.top nav{display:flex;flex-wrap:wrap;gap:.25rem .5rem}
.top nav a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.25rem .875rem;border-radius:.875rem;color:var(--inkSoft);font-weight:500;text-decoration:none}
.top nav a:hover{background:var(--hover)}
.top nav a[aria-current="page"]{background:var(--sageSoft);color:var(--sageDeep);font-weight:600}

.page{flex:1;width:100%;max-width:64rem;margin:0 auto;padding:clamp(2rem,6vw,4rem) var(--gutter) clamp(3rem,8vw,5rem);display:flex;flex-direction:column;gap:clamp(2rem,5vw,3rem)}
.page:focus{outline:0}
.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);overflow-wrap:anywhere}
.hero,.doc-head{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;max-width:42rem}
.lede{font-size:1.125rem;color:var(--inkSoft)}
.meta,.muted{font-size:.9375rem;color:var(--muted)}
.band{display:flex;flex-direction:column;gap:.75rem;max-width:42rem}
.band p,.prose p{color:var(--inkSoft)}

.card-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin-top:.75rem}
.card{display:flex;flex-direction:column;gap:.375rem;height:100%;padding:1.25rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface);color:var(--inkSoft);text-decoration:none}
.card:hover{background:var(--hover)}
.card-title{font-family:Literata,Georgia,serif;font-size:1.1875rem;font-weight:600;color:var(--ink)}
.button{display:inline-flex;align-items:center;min-height:3rem;padding:.5rem 1.125rem;border:1px solid var(--fieldBorder);border-radius:.875rem;color:var(--sageDeep);font-weight:600;text-decoration:none}
.button:hover{background:var(--hover)}

.doc-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.toc{padding:1.25rem;border-radius:1.25rem;background:var(--sageMist)}
.toc h2{font-size:1.1875rem;font-weight:600;margin-bottom:.5rem}
.toc ol{list-style:decimal;padding-left:1.5rem}
.toc li::marker{color:var(--muted)}
.toc a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--sageDeep)}
.prose{display:flex;flex-direction:column;gap:2.5rem;min-width:0;max-width:44rem;font-size:1.0625rem;line-height:1.65}
.prose section{display:flex;flex-direction:column;gap:1rem;scroll-margin-top:1rem}
.prose h2{font-size:1.5rem;padding-top:.5rem;border-top:1px solid var(--line)}
.points,.steps{display:flex;flex-direction:column;gap:.5rem;padding-left:1.5rem;color:var(--inkSoft)}
.steps{list-style:decimal}
.terms{display:flex;flex-direction:column;gap:.75rem;margin:0}
.terms>div{padding:.875rem 1.125rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}
.terms dt{font-weight:600;color:var(--ink)}
.terms dd{margin:.25rem 0 0;color:var(--inkSoft)}
.back{font-size:.9375rem}
.back a{display:inline-flex;align-items:center;min-height:2.75rem}

.ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}
.way{display:flex;flex-direction:column;gap:.75rem;min-width:0;padding:1.25rem;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface)}
.way h2{font-size:1.25rem}
.way .steps{color:var(--ink)}
.timeline{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.timeline li{display:flex;flex-direction:column;gap:.125rem;padding:.875rem 1.125rem;border-left:4px solid var(--sage);border-radius:.25rem 1rem 1rem .25rem;background:var(--surface)}
.timeline strong{color:var(--sageDeep)}
.timeline span{color:var(--inkSoft)}

.foot{display:flex;flex-direction:column;gap:.25rem;padding:1.5rem var(--gutter) max(2rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);font-size:.9375rem}
.foot a{display:inline-flex;align-items:center;min-height:2.75rem}

@media (min-width:62rem){
  .doc-layout{grid-template-columns:15rem minmax(0,1fr);gap:3rem;align-items:start}
  .toc{position:sticky;top:1rem;max-height:calc(100dvh - 2rem);overflow:auto}
  .back{display:none}
}
@media (max-width:30rem){h1{font-size:1.875rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
