:root{
  --parchment:#F7F4EA; --parchment-deep:#F0EBDC; --ink:#211D16; --ink-soft:#4A4335;
  --stone:#8A8271; --lacre:#6E1E32; --hairline:#E2DAC8; --hairline-soft:#EBE5D6;
  --serif-display:"Baskerville","Baskerville Old Face","Hoefler Text",Georgia,serif;
  --serif-body:"Hoefler Text","Baskerville",Georgia,serif;
  --mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--parchment);color:var(--ink);font-family:var(--serif-body);line-height:1.85;font-size:17px;padding-bottom:8px;}
.wrap{max-width:680px;margin:0 auto;padding:0 24px;}
a{color:var(--lacre);}
:focus-visible{outline:2px solid var(--lacre);outline-offset:3px;}

/* Cabeçalho */
header.wrap{padding:150px 24px 110px;text-align:center;}
header.wrap.inner{padding:96px 24px 64px;}
.wordmark{font-family:var(--serif-display);font-size:74px;letter-spacing:.32em;padding-left:.32em;margin-top:10mm;line-height:1;}
.wordmark a{color:inherit;text-decoration:none;}
.wordmark .ma{color:var(--lacre);}
header.inner .wordmark{font-size:40px;margin-top:0;}
.descriptor{font-family:var(--serif-display);font-size:14px;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:var(--stone);margin-top:34px;}
.descriptor .ini{color:var(--lacre);}
header.inner .descriptor{font-size:11px;margin-top:18px;}
.rule{width:56px;height:1px;background:var(--lacre);margin:88px auto;}
.rule.tight{margin:56px auto;}
.lede{font-family:var(--serif-display);font-size:22px;font-weight:300;line-height:1.55;text-align:center;color:var(--stone);margin-top:15mm;}
.lede.thesis{color:var(--ink);font-size:26px;}
.second{font-family:var(--serif-body);font-size:18px;line-height:1.75;text-align:center;color:var(--ink-soft);max-width:560px;margin:28px auto 0;}

/* Página de frente */
.eyebrow{font-family:var(--serif-display);font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--lacre);text-align:center;}
h1{font-family:var(--serif-display);font-weight:400;font-size:34px;line-height:1.25;text-align:center;margin:18px 0 0;text-wrap:balance;letter-spacing:-.005em;}
.falta{font-family:var(--serif-display);font-size:21px;font-weight:300;line-height:1.55;text-align:center;color:var(--stone);margin:26px auto 0;max-width:560px;}

section{padding:8px 0;}
h2{font-family:var(--serif-display);font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--lacre);margin:56px 0 18px;font-weight:400;}
h3{font-family:var(--serif-display);font-weight:400;font-size:20px;margin:26px 0 8px;color:var(--ink);}
p{color:var(--ink-soft);margin-bottom:18px;}
p.mais{margin-top:-6px;}
p.mais a{font-family:var(--serif-display);letter-spacing:.06em;text-decoration:none;border-bottom:1px solid var(--hairline);}
p.mais a:hover{border-bottom-color:var(--lacre);}
strong{color:var(--ink);font-weight:600;}

/* As quatro faltas */
.faltas{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);margin-top:8px;}
.faltas > div{padding:26px 24px 22px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.faltas .nome{font-family:var(--serif-display);font-size:22px;color:var(--ink);margin-bottom:8px;}
.faltas p{font-size:16px;line-height:1.7;margin-bottom:12px;}
.faltas p.mais{margin-top:0;margin-bottom:0;font-size:15px;}
@media (max-width:600px){.faltas{grid-template-columns:1fr;}}

/* Passos e listas */
ol.passos{list-style:none;counter-reset:p;margin:0 0 18px;}
ol.passos li{counter-increment:p;display:grid;grid-template-columns:34px 1fr;gap:0 10px;padding:12px 0;border-bottom:1px solid var(--hairline-soft);color:var(--ink-soft);line-height:1.7;}
ol.passos li:last-child{border-bottom:none;}
ol.passos li::before{content:counter(p);font-family:var(--serif-display);font-size:22px;color:var(--lacre);line-height:1.2;}
ol.passos b{color:var(--ink);font-weight:600;}
ul.lista{list-style:none;margin:0 0 18px;}
ul.lista li{position:relative;padding:6px 0 6px 22px;color:var(--ink-soft);line-height:1.7;}
ul.lista li::before{content:"";position:absolute;left:2px;top:19px;width:5px;height:5px;border-radius:50%;background:var(--lacre);}
ul.lista b{color:var(--ink);font-weight:600;}
.nota{margin:22px 0;padding:18px 22px;background:var(--parchment-deep);box-shadow:inset 2px 0 0 var(--lacre);font-size:16px;line-height:1.7;color:var(--ink-soft);}
.nota p:last-child{margin-bottom:0;}

/* Formulário */
form.comece{margin-top:8px;}
.campo{margin-bottom:18px;}
.campo label{display:block;font-family:var(--serif-display);font-size:17px;color:var(--ink);margin-bottom:6px;line-height:1.4;}
.campo small{display:block;color:var(--stone);font-size:14px;margin-bottom:8px;line-height:1.5;}
.campo input,.campo textarea{width:100%;font-family:var(--serif-body);font-size:16px;color:var(--ink);background:#FDFBF5;border:1px solid var(--hairline);padding:10px 12px;line-height:1.5;}
.campo textarea{min-height:76px;resize:vertical;}
.campo input:focus,.campo textarea:focus{border-color:var(--lacre);outline:none;}
.dois{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
@media (max-width:600px){.dois{grid-template-columns:1fr;}}
button.btn,a.btn{display:inline-block;font-family:var(--serif-display);font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--parchment);background:var(--lacre);border:none;padding:14px 26px;cursor:pointer;text-decoration:none;}
button.btn:hover,a.btn:hover{background:#561526;}
button.btn.sec,a.btn.sec{background:transparent;color:var(--lacre);border:1px solid var(--lacre);}
.form-nota{font-size:14px;color:var(--stone);margin-top:12px;line-height:1.6;}

/* Teste de aderência */
.teste{border:1px solid var(--hairline);padding:26px 26px 22px;margin-top:8px;background:#FBF9F2;}
.teste .q{display:grid;grid-template-columns:1fr auto;gap:12px 18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--hairline-soft);}
.teste .q:last-of-type{border-bottom:none;}
.teste .q span{color:var(--ink-soft);line-height:1.6;font-size:16px;}
.teste .opts{display:flex;gap:6px;}
.teste .opts label{font-family:var(--serif-display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--hairline);padding:6px 12px;cursor:pointer;color:var(--stone);background:#FDFBF5;}
.teste .opts input{position:absolute;opacity:0;width:0;height:0;}
.teste .opts input:checked + label{border-color:var(--lacre);color:var(--lacre);}
.teste .opts input:focus-visible + label{outline:2px solid var(--lacre);outline-offset:2px;}
@media (max-width:520px){.teste .q{grid-template-columns:1fr;}}
.teste .acoes{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.resultado{margin-top:22px;padding:20px 22px;background:var(--parchment-deep);box-shadow:inset 2px 0 0 var(--lacre);}
.resultado .nota-num{font-family:var(--serif-display);font-size:30px;color:var(--lacre);line-height:1.1;}
.resultado .faixa{font-family:var(--serif-display);font-size:19px;color:var(--ink);margin:6px 0 10px;}
.resultado p{font-size:16px;margin-bottom:10px;}
.resultado ul{margin:6px 0 12px 20px;color:var(--ink-soft);font-size:15px;line-height:1.7;}

/* Contato, rodapé */
.contact{margin:72px 0 0;padding:44px 0 0;border-top:1px solid var(--hairline);text-align:center;}
.contact p{margin-bottom:8px;}
a.mail{font-family:var(--serif-display);font-size:20px;color:var(--lacre);text-decoration:none;letter-spacing:.06em;border-bottom:1px solid var(--hairline);padding-bottom:2px;}
a.mail:hover{border-bottom-color:var(--lacre);}
.wide-rule{height:1px;background:var(--hairline);width:100vw;position:relative;left:50%;transform:translateX(-50%);margin:10mm 0;}
nav.rodape-nav{margin-top:56px;padding-top:26px;border-top:1px solid var(--hairline);display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;font-family:var(--serif-display);font-size:12px;letter-spacing:.24em;text-transform:uppercase;}
nav.rodape-nav a{color:var(--stone);text-decoration:none;}
nav.rodape-nav a:hover,nav.rodape-nav a[aria-current="page"]{color:var(--lacre);}
footer{margin-top:15mm;padding:0 0 40px;text-align:center;font-size:12px;letter-spacing:.12em;color:var(--stone);}
footer .sep{color:var(--lacre);padding:0 6px;}

@media (max-width:520px){
  header.wrap{padding:96px 24px 72px;}
  header.wrap.inner{padding:64px 24px 44px;}
  .wordmark{font-size:40px;}
  header.inner .wordmark{font-size:32px;}
  .descriptor{font-size:10px;letter-spacing:.3em;margin-top:24px;}
  .lede{font-size:21px;}
  .lede.thesis{font-size:23px;}
  h1{font-size:27px;}
  .falta{font-size:19px;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
