:root{--navy:#171F2E;--navy2:#1F2A3E;--navy3:#2A3750;--cream:#FFF6E8;--cream2:#F6E9D3;--amber:#E0873A;--amber-d:#B96820;--ink:#171F2E;--soft:rgba(255,246,232,.74);--ink-soft:#4A5468;--line:rgba(23,31,46,.14);--ok:#2F8F5B;--err:#FF8A7A;--err-d:#B3261E}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font:400 18px/1.6 'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;overflow-x:hidden;min-height:100vh}
body.dark{background:var(--navy);color:var(--cream)}
body.light{background:var(--cream);color:var(--ink)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.08}
.wrap{max-width:560px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}

/* topo */
.top{background:var(--navy);color:var(--cream)}
.top .wrap{display:flex;align-items:center;gap:12px;padding-top:14px;padding-bottom:14px}
.top img{width:36px;height:36px;border-radius:50%}
.top b{font:800 19px/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.01em}
.top a{text-decoration:none;display:flex;align-items:center;gap:12px}

.kicker{font:600 15px/1.2 'IBM Plex Sans',sans-serif;letter-spacing:.14em;color:var(--amber);text-transform:uppercase}

/* botões */
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:60px;background:var(--amber);color:var(--navy);font:700 20px/1.1 'IBM Plex Sans',sans-serif;padding:16px 24px;border:0;border-radius:999px;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.7}
.btn.ghost{background:transparent;color:inherit;border:2px solid currentColor}

/* landing */
.hero{padding:28px 0 8px}
.hero h1{font-size:clamp(34px,9.4vw,46px);margin:12px 0 14px}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero .lead{color:var(--soft);font-size:19px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;list-style:none}
.chips li{background:var(--navy2);border:1px solid rgba(255,246,232,.14);border-radius:999px;padding:8px 14px;font-size:17px;line-height:1.2}
.cover{width:168px;margin:26px auto 22px;border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.5);aspect-ratio:4/5;height:auto}
.card{background:var(--navy2);border:1px solid rgba(255,246,232,.12);border-radius:22px;padding:22px 18px 20px;margin-bottom:20px}
.field{margin-bottom:16px}
.field label.lbl{display:block;font-weight:600;font-size:17px;margin-bottom:8px}
.field input[type=text],.field input[type=tel]{width:100%;min-height:58px;font:400 19px/1.2 'IBM Plex Sans',sans-serif;color:var(--navy);background:var(--cream);border:2px solid transparent;border-radius:14px;padding:14px 16px;-webkit-appearance:none;appearance:none}
.field input:focus{outline:none;border-color:var(--amber)}
.field input.bad{border-color:var(--err)}
.err{display:none;color:var(--err);font-size:17px;margin-top:6px}
.err.show{display:block}
.consent{display:flex;gap:14px;align-items:flex-start;margin:6px 0 18px}
.consent input{flex:0 0 28px;width:28px;height:28px;margin-top:2px;accent-color:var(--amber)}
.consent label{font-size:17px;line-height:1.45;color:var(--soft)}
.consent a{color:var(--cream)}
.fine{text-align:center;color:var(--soft);font-size:17px;margin-top:14px}
.foot{padding:26px 0 40px;text-align:center;color:var(--soft);font-size:17px}
.foot a{color:var(--cream)}
.foot nav{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

/* leitura */
.read{padding-bottom:96px}
.progress{position:fixed;top:0;left:0;height:4px;width:0;background:var(--amber);z-index:50;transition:width .1s linear}
.intro{padding:28px 0 6px}
.intro h1{font-size:clamp(32px,9vw,44px);margin:10px 0 12px}
.intro .sub{font-size:20px;color:var(--ink-soft)}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 4px;list-style:none}
.toc a{display:block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:17px;text-decoration:none;min-height:44px;line-height:1.5}
.sec{padding:34px 0 8px;border-top:1px solid var(--line);margin-top:30px;scroll-margin-top:12px}
.sec:first-of-type{border-top:0;margin-top:14px}
.sec h2{font-size:clamp(28px,7.6vw,36px);margin-bottom:14px}
.num{display:inline-block;font:800 15px/1 'IBM Plex Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-d);margin-bottom:8px}
.sec p{margin-bottom:14px}
.task{background:var(--navy);color:var(--cream);border-radius:20px;padding:20px 18px;margin:20px 0}
.task .tag{display:inline-block;background:var(--amber);color:var(--navy);font:700 15px/1 'IBM Plex Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:7px 12px;border-radius:999px;margin-bottom:12px}
.task p{margin-bottom:10px}
.task .time{font-weight:600;color:var(--amber);margin-bottom:0}
.box{border-left:4px solid var(--amber);background:#fff;border-radius:0 14px 14px 0;padding:14px 16px;margin:14px 0}
.box b{display:block;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-d);margin-bottom:4px}
.box.warn{border-left-color:var(--navy3)}
.box.warn b{color:var(--navy3)}
.box p{margin:0}

/* tabela -> cards */
.paths{width:100%;border-collapse:collapse;margin:16px 0}
.paths thead{position:absolute;left:-9999px}
.paths tr{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin-bottom:12px}
.paths td{display:block;padding:6px 0}
.paths td:first-child{font:800 22px/1.15 'Bricolage Grotesque',sans-serif;padding-bottom:8px}
.paths td+td::before{content:attr(data-l);display:block;font:600 14px/1.2 'IBM Plex Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-d);margin-bottom:2px}
@media(min-width:760px){
  .wrap.wide{max-width:760px}
  .paths thead{position:static}
  .paths tr{display:table-row;background:none;border:0;border-radius:0;padding:0;margin:0}
  .paths th,.paths td{display:table-cell;padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:17px}
  .paths td:first-child{font-size:18px}
  .paths td+td::before{display:none}
}

/* checklist */
.check{list-style:none;margin:16px 0}
.check li{margin-bottom:10px}
.check label{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer;min-height:60px}
.check input{flex:0 0 28px;width:28px;height:28px;margin-top:1px;accent-color:var(--amber)}
.check b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;margin-right:6px}
.check input:checked+span{color:var(--ink-soft);text-decoration:line-through}
.count{font-weight:600;color:var(--amber-d)}

.tools{list-style:none;margin:14px 0}
.tools li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px}
.tools b{font:800 20px/1.2 'Bricolage Grotesque',sans-serif;display:block;margin-bottom:2px}

.next{background:var(--navy);color:var(--cream);border-radius:24px;padding:26px 20px;margin:40px 0 20px}
.next h2{font-size:30px;margin-bottom:10px}
.next p{color:var(--soft);margin-bottom:18px}

.pdf{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:48px;background:var(--navy);color:var(--cream);border:1px solid rgba(255,246,232,.3);border-radius:999px;padding:10px 18px;font:600 17px/1 'IBM Plex Sans',sans-serif;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.28);opacity:.94}

/* texto legal */
.legal{padding:28px 0 56px}
.legal h1{font-size:clamp(32px,9vw,42px);margin-bottom:8px}
.legal h2{font-size:24px;margin:28px 0 8px}
.legal p,.legal li{margin-bottom:12px}
.legal ul{padding-left:22px}
.legal .upd{color:var(--ink-soft);font-size:17px}
