/* Leitor do guia — tipografia de leitura longa no celular.
   Papel creme por padrão, modo noturno para quem lê na cabine. */

.reader{background:var(--paper)}
.reader.night{
  --paper:#12151A; --ink:#E7EAEF; --muted:#98A3B3; --muted-2:#6E7A8A;
  --rule:#252C36; --rust:#E8845A;
}
.reader.night body,.reader.night{background:#12151A;color:#E7EAEF}
/* à noite a nota e os cartões precisam subir de tom, senão somem no fundo */
.reader.night .note{background:#1E2530}
.reader.night .card{border-color:#39424F}
.reader.night .mb{background:#12151A}
.reader.night .mb:hover{background:#1E2530;color:#E7EAEF}

/* ---- porta de acesso ---- */
#gate{min-height:100dvh;display:grid;place-items:center;padding:32px 22px}
#gate[hidden]{display:none}
.gwrap{width:100%;max-width:520px}
.gback{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.gback:hover{color:var(--rust)}
.glogo{display:block;width:108px;height:auto;margin:22px 0 0}
.reader.night .glogo{filter:invert(1) hue-rotate(180deg);opacity:.9}
#gate h1{font-size:clamp(30px,7vw,46px);margin:20px 0 0}
#gate .lede{font-size:17px;margin-top:14px}
.gform{margin-top:34px;border-top:6px solid var(--ink);padding-top:22px;display:grid;gap:6px}
.gform label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:12px}
.gform input{font-family:var(--mono);font-size:16px;padding:14px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:0}
.gform input:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.gform .btn{margin-top:22px}
.gnote{font-size:14.5px;color:var(--muted);margin-top:18px}
.gate-err{font-size:14.5px;color:var(--rust);margin-top:14px;line-height:1.45}
.gate-err[hidden]{display:none}

/* ---- barra ---- */
.rbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;
  gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-top,0));background:#14181F;color:#E4E9F0;
  border-bottom:1px solid #2A313D}
.rtitle{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;margin:0;
  text-align:center;color:#98A3B3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ricon{width:44px;height:44px;display:grid;place-items:center;gap:4px;background:none;border:none;cursor:pointer;color:#E4E9F0;font-size:17px;padding:0}
.ricon span{display:block;width:19px;height:1.5px;background:#E4E9F0}
.ricon:hover{color:#E8845A}
.ricon:hover span{background:#E8845A}
.ricon:focus-visible{outline:2px solid #E8845A;outline-offset:-4px}
.rprogress{grid-column:1/-1;height:2px;background:#2A313D;margin:10px -14px -10px}
.rprogress i{display:block;height:100%;width:0;background:var(--rust);transition:width .12s linear}

/* ---- sumário ---- */
.toc{position:fixed;z-index:30;top:0;left:0;bottom:0;width:min(86vw,340px);background:var(--paper);
  border-right:1px solid var(--rule);overflow-y:auto;padding:14px 20px 40px}
.toc-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--paper);padding:6px 0 12px}
.toc-head p{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);margin:0}
.toc-head .ricon{color:var(--ink)}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:c}
.toc li{counter-increment:c;border-top:1px solid var(--rule)}
.toc a{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:baseline;padding:13px 0;
  text-decoration:none;color:var(--ink);font-size:16px;line-height:1.3}
.toc a::before{content:counter(c,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--rust)}
.toc a:hover{color:var(--rust)}
.toc a[aria-current="true"]{font-weight:700}
.toc li.is-phase a::before{color:var(--ink)}
.toc li.is-phase a{font-weight:600}
.toc a[aria-current="true"]::before{color:var(--ink)}
.toc-foot{font-family:var(--mono);font-size:10.5px;line-height:1.5;color:var(--muted-2);margin-top:26px;border-top:1px solid var(--rule);padding-top:14px}
.toc-veil{position:fixed;inset:0;z-index:29;background:rgba(20,24,31,.5)}

/* ---- a página ----
   O leitor reproduz o documento: cada capítulo é uma página, com cabeçalho
   corrido, título, olho e rodapé numerado. No celular a página ocupa a tela
   inteira; a partir de 760px ela vira folha sobre a mesa. */
.pages{padding:0 0 8px}
.sheet{background:var(--paper);scroll-margin-top:58px;
  border-bottom:6px solid var(--ink);padding-bottom:0}
.sheet:last-of-type{border-bottom:none}
.sheet .inner{max-width:660px;margin:0 auto;padding:0 22px}

.lic{font-family:var(--mono);font-size:9px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--muted-2);text-align:center;margin:0;padding:12px 0 11px;border-bottom:1px solid var(--rule)}
.rhead{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:16px 0 14px;border-bottom:1px solid var(--rule)}
.rhead span{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.rhead span:last-child{color:var(--rust);text-align:right}
.rhead:empty{display:none}

.sheet h2{font-size:clamp(29px,7.4vw,44px);line-height:1.02;font-weight:800;letter-spacing:-.03em;
  margin:30px 0 0;text-wrap:balance}
.sheet .dek{font-size:17px;line-height:1.5;color:var(--muted);margin:14px 0 0;max-width:48ch;text-wrap:pretty}

.body{padding:6px 0 34px}
.sfoot{display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  border-top:1px solid var(--rule);padding:13px 0 16px}
.sfoot p{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2);margin:0}
.sfoot .pn{color:var(--ink);letter-spacing:.2em;white-space:nowrap}
.sfoot .dis{display:none}

/* ---- blocos ---- */
.lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);
  margin:34px 0 0;padding-top:13px;border-top:1px solid var(--rule)}
.par{font-size:17px;line-height:1.62;margin:13px 0 0;text-wrap:pretty}
.lab + .par{margin-top:11px}

.step{display:grid;grid-template-columns:42px 1fr;gap:0 14px;margin-top:26px;
  padding-top:14px;border-top:1px solid var(--rule)}
.step .sn{font-family:var(--mono);font-size:19px;color:var(--rust);line-height:1.1;grid-row:1/3}
.step h4{font-size:19px;font-weight:800;margin:0;letter-spacing:-.01em}
.step p{font-size:16px;line-height:1.55;color:var(--muted);margin:6px 0 0}

.stats{display:grid;gap:0;margin-top:14px}
.stat{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:4px 18px;align-items:baseline;
  padding:13px 0;border-top:1px solid var(--rule)}
.stat b{font-size:25px;font-weight:800;letter-spacing:-.02em;line-height:1}
.stat span{font-size:15px;line-height:1.45;color:var(--muted)}

.defs{margin-top:12px}
.def{padding:13px 0;border-top:1px solid var(--rule)}
.def dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.def dd{font-size:16px;line-height:1.55;color:var(--muted);margin:5px 0 0}
.def.q dt{color:var(--rust);text-transform:none;letter-spacing:.02em;font-size:14px}

.lis{margin:12px 0 0;padding:0;list-style:none}
.lis li{position:relative;padding:9px 0 9px 20px;border-top:1px solid var(--rule);
  font-size:16px;line-height:1.5}
.lis li::before{content:"—";position:absolute;left:0;color:var(--rust);font-family:var(--mono);font-size:12px;top:11px}
.lis li b{font-weight:700}

.card{border:1px solid var(--ink);padding:20px;margin-top:22px}
.card .tag{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--rust);margin:0}
.card h4{font-size:21px;font-weight:800;margin:8px 0 0;letter-spacing:-.01em}
.card p{font-size:16px;line-height:1.55;margin:9px 0 0;color:var(--muted)}
.card p b{color:var(--ink)}

.note{background:var(--ink);color:var(--paper);padding:19px 20px;margin-top:30px}
.note .nh{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:#E8A32C;margin:0}
.note p{font-size:15.5px;line-height:1.55;margin:8px 0 0;color:rgba(243,236,217,.9)}

.cos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:14px}
.co{display:flex;gap:9px;align-items:baseline;padding:10px 0;border-top:1px solid var(--rule);font-size:15.5px}
.co i{font-family:var(--mono);font-size:11px;color:var(--rust);font-style:normal}
.co em{font-style:normal;color:var(--rust);font-size:11px}
.co s{text-decoration:none;font-family:var(--mono);font-size:10px;color:var(--muted-2)}
.bfoot{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-2);margin:16px 0 0;border-top:1px solid var(--rule);padding-top:11px}

.map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:16px;
  background:var(--rule);border:1px solid var(--rule)}
.mb{background:var(--paper);padding:14px 13px;text-decoration:none;color:inherit;display:block}
.mb .mt{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--rust)}
.mb h4{font-size:17px;font-weight:800;margin:5px 0 0;letter-spacing:-.01em}
.mb p{font-size:13.5px;line-height:1.42;color:var(--muted);margin:5px 0 0}
.mb:hover{background:var(--ink);color:var(--paper)}
.mb:hover p{color:rgba(243,236,217,.82)}
.mb:hover .mt{color:#E8A32C}

/* páginas-declaração: capa do hub, quem somos, fecho */
.sheet.statement h2{font-size:clamp(46px,13vw,86px);line-height:.92;letter-spacing:-.04em;margin-top:40px}
.sheet.statement .body{padding-bottom:40px}
.big{font-size:clamp(19px,4.6vw,25px);line-height:1.38;font-weight:700;margin:24px 0 0;
  max-width:34ch;text-wrap:pretty}
.cta{display:inline-block;font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rust);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;margin-top:26px}
.cta:hover{color:var(--ink)}

/* endereços dentro do corpo */
.body a{color:var(--rust);text-decoration:none;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.body a:hover{color:var(--ink);border-color:currentColor}

/* ---- rodapé + marca d'água ---- */
.rfoot{max-width:760px;margin:0 auto;padding:26px 22px calc(40px + env(safe-area-inset-bottom,0));
  border-top:6px solid var(--ink);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rfoot p{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--muted-2);margin:0}
.wm{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden;display:none}
.wm.on{display:block}
.wm span{position:absolute;font-family:var(--mono);font-size:12px;letter-spacing:.12em;white-space:nowrap;
  color:var(--ink);opacity:.055;transform:rotate(-32deg);transform-origin:0 0}

@media (min-width:760px){
  /* a partir daqui a página vira folha sobre a mesa */
  body.reader{background:#E7DFC8}
  .reader.night body,.reader.night{background:#0D1014}
  .pages{padding:26px 0 40px}
  .sheet{max-width:760px;margin:0 auto 26px;border:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .reader.night .sheet{border-color:#2A313D}
  .sheet .inner{padding:0 46px}
  .lic{padding:14px 0 13px}
  .sheet h2{margin-top:36px}
  .body{padding-bottom:40px}
  .par{font-size:17.5px}
  .sfoot .dis{display:block}
  .cos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .map{grid-template-columns:repeat(3,minmax(0,1fr))}
  .defs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
  .lab,.note,.card{grid-column:1/-1}
}
@media print{
  /* leitura online: nada de imprimir uma cópia limpa */
  #reader,#gate{display:none !important}
  body::after{content:"Cópia licenciada — leitura online em expeditedhub.co";
    font-family:monospace;font-size:14px;display:block;padding:40px}
}

/* emblema */
.cmark{display:block;width:96px;height:auto;margin:6px 0 0}
.reader.night .cmark,.reader.night .sig img{filter:invert(1) hue-rotate(180deg);opacity:.9}
.sig{display:flex;align-items:center;gap:8px}
.sig img{width:20px;height:auto;display:block;opacity:.85}
.sig span{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.rfoot .sig{margin:0}

/* índice da capa */
.cover-sheet h2{font-size:clamp(34px,8.4vw,54px);line-height:1.02;margin-top:22px}
.idx{margin-top:12px}
.ix{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:baseline;
  padding:11px 0;border-top:1px solid var(--rule);text-decoration:none;color:var(--ink);border-bottom:none}
.ix i{font-family:var(--mono);font-size:12px;color:var(--rust);font-style:normal}
.ix span{font-size:17px;font-weight:700;letter-spacing:-.01em}
.ix b{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--muted-2)}
.ix:hover{color:var(--rust)}
.ix:hover b{color:var(--rust)}
.cown{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2);margin:26px 0 0;border-top:1px solid var(--rule);padding-top:13px}

/* espera de verificação — cobre a tela para o portão não piscar */
#checking{position:fixed;inset:0;z-index:60;display:grid;place-content:center;justify-items:center;
  gap:16px;background:var(--paper);text-align:center;padding:24px}
#checking[hidden]{display:none}
#checking .ck-mark{font-family:var(--mono);font-size:15px;letter-spacing:.06em;border:2px solid var(--ink);
  padding:6px 10px;margin:0;color:var(--ink)}
#checking .ck-txt{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:0;animation:ckpulse 1.4s ease-in-out infinite}
@keyframes ckpulse{0%,100%{opacity:.45}50%{opacity:1}}
body.night #checking{background:#12161C}
body.night #checking .ck-mark{color:#E8E2D2;border-color:#E8E2D2}

/* recuperação dobrada — não compete com a compra */
.rec-toggle{display:inline-block;background:none;border:none;padding:0;margin:26px 0 0;cursor:pointer;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.rec-toggle:hover{color:var(--rust)}
.rec-toggle[hidden]{display:none}
#gate-form[hidden]{display:none}

.gbuy{margin-top:28px}
#gate-form:not([hidden]) + .gate-err + .gbuy,
#gate-form:not([hidden]) ~ .gbuy{margin-top:20px}
.gbuy:not(.btn-rust){background:transparent;color:var(--ink);border:1px solid var(--ink)}
.gbuy:not(.btn-rust):hover{background:var(--ink);color:var(--paper)}
