:root { --night:#06142b; --ink:#091d38; --cyan:#21d4fd; --gold:#f9cc62; --paper:#eef2f4; --steel:#a8b6c9; --display:"Avenir Next Condensed","DIN Condensed",sans-serif; --body:"Avenir Next","Helvetica Neue",sans-serif; }
/* Navegação própria da página do livro, sem dependência de JavaScript. */
.site-header {
  position:sticky; top:0; z-index:10;
  display:grid; grid-template-columns:auto minmax(0,1fr);
  gap:8px 24px; padding:12px 5vw 10px;
  background:var(--night); box-shadow:0 4px 18px #0002;
}
.site-header .wordmark { width:180px; max-width:100%; }
.site-header__status { justify-self:end; text-align:right; line-height:1.6; }
.portal-nav { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; }
.portal-nav a {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:8px 12px;
  border:1px solid transparent; border-radius:4px;
  color:var(--paper); font-size:13px; font-weight:700;
  line-height:1.2; text-decoration:none;
}
.portal-nav a:hover { color:var(--cyan); background:#21d4fd12; }
.portal-nav .portal-nav__home { border-color:#21d4fd66; color:var(--cyan); }
.footer-home { display:inline-flex; flex-direction:column; justify-content:center; gap:8px; min-height:44px; text-decoration:none; }
.footer-home span { color:var(--cyan); text-decoration:underline; text-underline-offset:4px; }
body > .skip-link { z-index:20; }
#conteudo, #topo { scroll-margin-top:180px; }
@media(min-width:1200px) {
  .site-header { grid-template-columns:auto 1fr auto; }
  .site-header__status { grid-column:3; grid-row:1; }
  .portal-nav { grid-column:2; grid-row:1; justify-content:center; }
}
@media(max-width:700px) {
  body > .site-header { padding:10px 16px; gap:8px 12px; }
  .site-header .wordmark { width:140px; }
  .site-header__status { max-width:145px; font-size:9px; }
  .portal-nav { gap:4px; }
  .portal-nav a { padding:8px 10px; font-size:12px; }
}
@media(max-height:500px) { .site-header { position:static; } }
* { box-sizing:border-box; } body { margin:0; background:var(--night); color:var(--paper); font-family:var(--body); } a { color:inherit; }.skip-link { position:fixed; top:10px; left:10px; z-index:2; transform:translateY(-200%); padding:12px; background:var(--paper); color:var(--night); font-weight:800; }.skip-link:focus { transform:none; }:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
header { min-height:76px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; gap:22px; border-bottom:1px solid rgba(238,242,244,.16); }.wordmark { display:block; width:230px; }.wordmark img { display:block; width:100%; height:auto; } header p,.kicker { margin:0; color:var(--cyan); font:900 10px var(--display); letter-spacing:.16em; }
.hero { min-height:700px; padding:80px 8vw; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.63fr); gap:9vw; align-items:center; background:radial-gradient(circle at 72% 38%,#173b61 0,transparent 32%),var(--night); } h1,h2 { margin:14px 0; font-family:var(--display); font-weight:900; letter-spacing:-.04em; text-transform:uppercase; } h1 { font-size:clamp(68px,10vw,136px); line-height:.77; } h2 { font-size:clamp(42px,6vw,78px); line-height:.86; } em { color:var(--gold); font-style:normal; }.lead { max-width:580px; color:#d2dbea; font-size:clamp(17px,2vw,22px); line-height:1.55; }.hero dl { display:flex; flex-wrap:wrap; gap:20px; margin:38px 0; }.hero dl div { min-width:135px; border-left:2px solid var(--gold); padding-left:12px; }.hero dt { font:900 22px var(--display); letter-spacing:.05em; }.hero dd { margin:3px 0 0; color:var(--steel); font-size:11px; text-transform:uppercase; }.hero button,.reading-lab button { min-height:50px; padding:0 20px; border:1px solid rgba(238,242,244,.3); background:#11294a; color:#a8b6c9; font:800 12px var(--display); letter-spacing:.08em; text-transform:uppercase; }.hero button { cursor:not-allowed; }.note { max-width:500px; color:var(--steel); font-size:12px; line-height:1.5; }.hero figure { margin:0; justify-self:center; }.hero figure img { width:min(100%,350px); display:block; box-shadow:22px 27px 0 rgba(33,212,253,.12),0 24px 55px rgba(0,0,0,.45); } figcaption { margin-top:16px; color:var(--steel); font:800 9px var(--display); letter-spacing:.14em; text-align:center; }
.promise,.chapters,.workbook,.reading-lab,.faq,.author { padding:110px 8vw; }.promise { display:grid; grid-template-columns:.75fr 1fr; gap:10vw; background:var(--paper); color:var(--ink); }.promise p:last-child { max-width:680px; font-size:19px; line-height:1.65; }.chapters { background:#0a2342; }.chapters>header,.faq>header { min-height:0; padding:0 0 42px; display:block; border:0; }.chapters ol { margin:0; padding:0; list-style:none; border-top:1px solid rgba(238,242,244,.18); }.chapters li { padding:20px 0; display:grid; grid-template-columns:60px 1fr; gap:16px; border-bottom:1px solid rgba(238,242,244,.18); }.chapters li>b { color:var(--cyan); font:900 18px var(--display); }.chapters strong { display:block; font-size:17px; }.chapters small { display:block; margin-top:5px; color:var(--steel); font-size:13px; }.workbook { display:grid; grid-template-columns:1fr 1fr; gap:9vw; background:linear-gradient(120deg,#122f4e,#06142b); }.workbook__facts { display:grid; gap:1px; background:rgba(238,242,244,.15); border:1px solid rgba(238,242,244,.15); }.workbook__facts p { margin:0; padding:24px; background:#0c2340; }.workbook__facts b { color:var(--gold); font:900 33px var(--display); }
.reading-lab { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; background:#071a32; }.reading-lab__console { padding:26px; border:1px solid rgba(33,212,253,.35); background:#0d2948; box-shadow:16px 16px 0 rgba(249,204,98,.1); }.reading-lab__console div { display:flex; gap:8px; flex-wrap:wrap; }.reading-lab button { color:var(--paper); cursor:pointer; }.reading-lab button[aria-pressed="true"] { border-color:var(--cyan); background:var(--cyan); color:var(--night); }.reading-lab output { min-height:154px; margin-top:18px; padding:22px; display:grid; align-content:center; gap:7px; background:#06142b; }.reading-lab output b { color:var(--gold); font:900 12px var(--display); letter-spacing:.12em; }.reading-lab output strong { font:900 30px var(--display); text-transform:uppercase; }.reading-lab output span { color:var(--steel); line-height:1.5; }.faq { background:var(--paper); color:var(--ink); }.faq details { padding:20px 0; border-top:1px solid #b9c5d0; }.faq summary { cursor:pointer; font:800 19px var(--display); text-transform:uppercase; }.faq p { max-width:720px; margin:14px 0 0; line-height:1.6; }.author { display:grid; grid-template-columns:190px 1fr; gap:48px; align-items:center; background:#dce5ec; color:var(--ink); }.author img { width:100%; border-radius:50%; filter:grayscale(1); }.author h2 span { color:#197c9c; }.author p:last-child { max-width:660px; line-height:1.65; } footer { padding:36px 8vw; display:flex; justify-content:space-between; gap:24px; color:var(--steel); font-size:12px; } footer p { margin:0; }
/* Light sections use darker brand accents to preserve readable contrast. */
.promise { grid-template-columns:1.25fr .85fr; gap:28px 48px; }
.promise .kicker { grid-column:1/-1; }
.promise h2 { margin:0; }
.promise p:last-child { margin:0; align-self:end; }
.promise .kicker,.faq .kicker,.author .kicker,.author h2 span { color:#175a70; }
.promise em { color:#795511; }
.faq :focus-visible { outline-color:#175a70; }
@media(max-width:700px) { header { min-height:70px; padding:10px 20px; align-items:center; flex-direction:row; }.wordmark { width:160px; }.wordmark img { max-height:50px; object-fit:contain; }.hero,.promise,.workbook,.reading-lab,.author { grid-template-columns:1fr; padding:70px 20px; }.faq { padding:70px 20px; }.hero { gap:34px; }.hero figure { order:initial; }.hero figure img { width:min(62vw,240px); }.chapters { padding:70px 20px; }.author { gap:28px; }.author img { width:150px; }.workbook { gap:24px; } footer { padding:28px 20px; flex-direction:column; } } @media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }

/* Runtime final: CTA, teaser e aviso privado injetado apenas pelo servidor local. */
.hero > *, .promise > *, .workbook > *, .reading-lab > *, .teaser > *, .author > *, footer > * { min-width:0; max-width:100%; } .hero img, .author img, .teaser video { max-width:100%; height:auto; } .cta { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:12px 20px; border:1px solid var(--gold); background:var(--gold); color:var(--ink); font:800 12px var(--display); letter-spacing:.08em; text-align:center; text-decoration:none; text-transform:uppercase; } .cta:hover { background:#ffe09a; } .teaser { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:8vw; align-items:center; padding:110px 8vw; background:#102b4a; } .teaser p { max-width:580px; color:#d2dbea; line-height:1.6; } .teaser video { display:block; width:100%; background:#000; } .credits { color:var(--steel)!important; font-size:12px; overflow-wrap:anywhere; } .private-notice { margin:0; padding:8px 5vw; background:#f9cc62; color:#091d38; font:800 10px var(--display); letter-spacing:.12em; text-align:center; } .disclaimer { max-width:440px; overflow-wrap:anywhere; } @media(max-width:700px) { .teaser { grid-template-columns:minmax(0,1fr); padding:70px 20px; gap:28px; } }
