/* ============================================================
   MICAH 6 AI · Identidade
   Tinta: #101013 · Papel: #F7F6F2 · Latão: #444444
   Display: Archivo · Corpo: Instrument Sans · Dados: IBM Plex Mono
   ============================================================ */

:root{
  --ink:#101013;
  --ink-2:#1B1B20;
  --ink-3:#26262D;
  --paper:#FFFFFF;
  --paper-2:#F4F4F3;
  --grey:#6E6E76;
  --grey-2:#9A9AA2;
  --line:#E7E7E7;
  --line-ink:#33333B;
  --brass:#101013;
  --brass-soft:#FFFFFF;
  --ok:#3E7C4F;
  --max:1160px;
  --r:14px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

body{
  font-family:"Instrument Sans",system-ui,-apple-system,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}

h1,h2,h3,.display{
  font-family:"Archivo",system-ui,sans-serif;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.12;
}

a{color:inherit}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:4px}

/* ---------- Eyebrow / labels ---------- */
.eyebrow{
  font-family:"IBM Plex Mono",monospace;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brass);display:block;margin-bottom:14px;
}
.on-ink .eyebrow{color:var(--brass-soft)}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:"Archivo";font-weight:800;font-size:17px;letter-spacing:-.01em;text-decoration:none}
.brand em{font-style:normal;color:var(--brass)}
.topnav{display:flex;gap:22px;align-items:center;font-size:14px}
.topnav a{text-decoration:none;color:var(--grey)}
.topnav a:hover,.topnav a.active{color:var(--ink)}
.topnav .pill{
  border:1px solid var(--ink);border-radius:99px;padding:7px 16px;color:var(--ink);
  transition:background .15s,color .15s;
}
.topnav .pill:hover{background:var(--ink);color:var(--paper)}

/* ---------- Banner de personalização / urgência ---------- */
.banner{
  background:var(--ink);color:var(--paper);
  font-size:14px;padding:10px 0;text-align:center;
}
.banner .mono{color:var(--brass-soft)}
.banner.urgency{background:var(--ink);color:var(--paper);font-weight:500}
.banner.urgency .sub{font-weight:400;opacity:.85}

/* ---------- Hero ---------- */
.hero{padding:84px 0 64px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(34px,5.4vw,58px);max-width:15ch}
.hero .lede{max-width:58ch;margin-top:22px;color:var(--grey);font-size:18px}
.hero .client-line{margin-top:10px;font-size:15px}
.hero .validity{font-size:13.5px;color:var(--grey);margin-top:8px}
.hero .cta-row{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  border-radius:99px;padding:13px 26px;font-size:15px;font-weight:600;
  text-decoration:none;transition:transform .12s,background .15s,color .15s;
}
.btn:active{transform:scale(.98)}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover{background:var(--ink-3)}
.btn-brass{background:#FFFFFF;color:var(--ink)}
.btn-brass:hover{background:#E2E2E2}
.btn-ghost{border:1px solid var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-text{color:var(--grey);font-weight:500;padding:13px 6px}
.btn-text:hover{color:var(--ink)}
.on-ink .btn-ghost{border-color:var(--paper);color:var(--paper)}
.on-ink .btn-ghost:hover{background:var(--paper);color:var(--ink)}

/* ---------- Seções ---------- */
section{padding:76px 0}
section.tight{padding:56px 0}
.sec-head{max-width:64ch;margin-bottom:40px}
.sec-head h2{font-size:clamp(26px,3.6vw,38px)}
.sec-head p{color:var(--grey);margin-top:14px;font-size:17px}

.on-ink{background:var(--ink);color:var(--paper)}
.on-ink .sec-head p{color:var(--grey-2)}
.on-ink2{background:var(--ink-2)}

/* ---------- Configurador ---------- */
.config-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}

.area-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.area-tab{
  border:1px solid var(--line);border-radius:99px;padding:9px 18px;
  font-size:14px;font-weight:600;color:var(--grey);background:transparent;
  transition:all .15s;
}
.area-tab:hover{border-color:var(--ink);color:var(--ink)}
.area-tab.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.area-intro{color:var(--grey);font-size:15.5px;margin-bottom:22px;max-width:60ch}

.item-card{
  border:1px solid var(--line);border-radius:var(--r);background:#fff;
  margin-bottom:14px;overflow:hidden;transition:border-color .15s;
}
.item-card:hover{border-color:var(--grey-2)}
.item-card.in-cart{border-color:var(--brass)}
.item-head{
  display:flex;align-items:flex-start;gap:16px;padding:20px 22px;cursor:pointer;
}
.item-head .t{flex:1;min-width:0}
.item-head h3{font-size:18px;font-weight:700;letter-spacing:-.01em}
.item-head .limit{
  font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--grey);
  margin-top:5px;letter-spacing:.02em;
}
.item-head .what{color:var(--grey);font-size:14.5px;margin-top:8px}
.item-price{
  font-family:"IBM Plex Mono",monospace;font-size:16px;font-weight:600;
  white-space:nowrap;text-align:right;
}
.item-price .per{display:block;font-size:11px;color:var(--grey);font-weight:400;margin-top:2px}
.item-toggle{
  flex-shrink:0;width:38px;height:38px;border-radius:99px;
  border:1.5px solid var(--ink);display:grid;place-items:center;
  font-size:20px;font-weight:500;line-height:1;transition:all .15s;
}
.item-toggle:hover{background:var(--ink);color:var(--paper)}
.in-cart .item-toggle{background:var(--ink);border-color:var(--ink);color:#FFFFFF}

.item-body{display:none;padding:0 22px 22px;border-top:1px dashed var(--line)}
.item-card.open .item-body{display:block}
.item-body dl{display:grid;gap:14px;padding-top:18px;font-size:14.5px}
.item-body dt{
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--brass);margin-bottom:3px;
}
.item-body dd{color:#3A3A40}

.item-controls{display:flex;gap:18px;align-items:center;margin-top:18px;flex-wrap:wrap}
.qty{display:flex;align-items:center;gap:12px;font-size:14px}
.qty button{
  width:30px;height:30px;border:1px solid var(--line);border-radius:8px;
  font-size:16px;display:grid;place-items:center;
}
.qty button:hover{border-color:var(--ink)}
.qty .n{font-family:"IBM Plex Mono";font-weight:600;min-width:2ch;text-align:center}
.sel{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--grey)}
.sel select{
  font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:8px;
  background:#fff;color:var(--ink);min-width:220px;
}

.expand-hint{font-size:13px;color:var(--grey-2);margin-top:6px}

/* ---------- Carrinho (elemento-assinatura: memorando de proposta) ---------- */
.cart{
  position:sticky;top:84px;
  background:var(--ink);color:var(--paper);
  border-radius:var(--r);padding:26px 24px;
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  box-shadow:0 24px 60px -24px rgba(16,16,19,.45);
}
.cart .cart-brand{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-soft);
  display:flex;justify-content:space-between;align-items:baseline;
  padding-bottom:14px;border-bottom:1px solid var(--line-ink);
}
.cart .cart-brand .v{color:var(--grey-2);letter-spacing:.04em;text-transform:none}
.cart-lines{padding:14px 0;border-bottom:1px solid var(--line-ink);min-height:64px}
.cart-empty{color:var(--grey-2);font-size:12.5px;line-height:1.7;padding:6px 0}
.cart-line{
  display:flex;justify-content:space-between;gap:14px;font-size:12.5px;
  padding:5px 0;align-items:baseline;
}
.cart-line .nm{color:#D8D6CF;flex:1;min-width:0}
.cart-line .nm small{display:block;color:var(--grey-2);font-size:10.5px;margin-top:1px}
.cart-line .vl{white-space:nowrap}
.cart-line .rm{color:var(--grey-2);font-size:14px;padding:0 4px;line-height:1}
.cart-line .rm:hover{color:var(--paper)}
.cart-calc{padding:14px 0;border-bottom:1px solid var(--line-ink);font-size:12.5px;display:grid;gap:7px}
.cart-calc .row{display:flex;justify-content:space-between;gap:12px}
.cart-calc .lbl{color:var(--grey-2)}
.cart-calc .neg{color:var(--brass-soft)}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 6px}
.cart-total .lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2)}
.cart-total .vl{font-size:26px;font-weight:600;color:var(--brass-soft);transition:opacity .2s}
.cart-total .vl.tick{opacity:.35}
.cart-sched{font-size:12px;color:#C9C7C0;display:grid;gap:5px;padding:8px 0 14px}
.cart-sched .row{display:flex;justify-content:space-between}

.cart-opts{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--line-ink);font-family:"Instrument Sans";font-size:13.5px}
.opt{display:flex;align-items:flex-start;gap:10px;cursor:pointer;user-select:none}
.opt input{margin-top:3px;accent-color:#FFFFFF}
.opt .d{color:var(--grey-2);font-size:12px;display:block}

.cart-actions{display:grid;gap:10px;padding-top:16px;font-family:"Instrument Sans"}
.cart-actions .btn{justify-content:center;width:100%}
.cart-actions .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cart-actions .btn-ghost{border-color:#4A4A52;color:var(--paper);font-size:13.5px;padding:11px 10px}
.cart-actions .btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cart-actions .btn-text{color:var(--grey-2)}
.cart-actions .btn-text:hover{color:#FFFFFF}
.cart-note{font-family:"Instrument Sans";font-size:12px;color:var(--grey-2);text-align:center;padding-top:10px}
.cart-feedback{
  font-family:"Instrument Sans";font-size:13px;color:var(--brass-soft);
  text-align:center;padding-top:8px;min-height:20px;
}

/* mobile: carrinho vira barra fixa expansível */
.cart-mobile-bar{display:none}
@media (max-width:980px){
  .config-grid{grid-template-columns:1fr}
  .cart{position:fixed;left:0;right:0;bottom:0;top:auto;border-radius:18px 18px 0 0;
    max-height:82vh;overflow:auto;transform:translateY(calc(100% - 62px));
    transition:transform .25s ease;z-index:70;padding-top:0}
  .cart.expanded{transform:translateY(0)}
  .cart-mobile-bar{
    display:flex;justify-content:space-between;align-items:center;
    padding:18px 4px 14px;cursor:pointer;position:sticky;top:0;background:var(--ink);
    font-size:13px;
  }
  .cart-mobile-bar .vl{color:var(--brass-soft);font-size:18px;font-weight:600}
  body{padding-bottom:74px}
}

/* ---------- Bio ---------- */
.bio-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.bio-grid p+p{margin-top:16px}
.bio-name{font-size:22px;font-weight:700;font-family:"Archivo"}
.bio-creds{display:grid;gap:0;border-top:1px solid var(--line-ink)}
.bio-creds .cred{padding:16px 0;border-bottom:1px solid var(--line-ink);display:flex;gap:16px;align-items:baseline}
.bio-creds .k{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-soft);width:120px;flex-shrink:0}
.bio-creds .v{font-size:14.5px;color:#D8D6CF}
@media (max-width:860px){.bio-grid{grid-template-columns:1fr;gap:36px}}

/* ---------- Argumentos (3 colunas) ---------- */
.args{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.arg{
  border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;background:#fff;
}
.arg h3{font-size:19px;margin-bottom:14px}
.arg p{font-size:14.5px;color:#3A3A40}
.arg p+p{margin-top:12px}
@media (max-width:860px){.args{grid-template-columns:1fr}}

/* ---------- Radar ---------- */
.radar{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.radar .r-item{
  padding:16px 20px 16px 0;border-bottom:1px solid var(--line);
  display:flex;gap:14px;align-items:baseline;
}
.radar .r-item::before{content:"·";color:var(--grey-2);flex-shrink:0;font-weight:700}
.radar b{font-weight:600}
.radar span{color:var(--grey);font-size:14px}
@media (max-width:760px){.radar{grid-template-columns:1fr}}

/* ---------- Premissas / Próximos passos ---------- */
.prem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prem{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:24px 22px}
.prem h4{font-size:15.5px;margin-bottom:8px}
.prem p{font-size:13.8px;color:#4A4A50}
@media (max-width:860px){.prem-grid{grid-template-columns:1fr}}

.steps{display:grid;gap:0;counter-reset:step;max-width:720px}
.step{
  display:flex;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);
  counter-increment:step;align-items:baseline;
}
.step::before{
  content:counter(step,decimal-leading-zero);
  font-family:"IBM Plex Mono";font-size:13px;color:var(--brass);flex-shrink:0;
}
.step b{display:block;font-size:16px}
.step span{color:var(--grey);font-size:14.5px}

/* ---------- Contato / rodapé ---------- */
.contact-card{
  background:var(--ink);color:var(--paper);border-radius:var(--r);
  padding:52px 48px;display:flex;justify-content:space-between;gap:36px;align-items:center;
  flex-wrap:wrap;
}
.contact-card h2{font-size:clamp(24px,3vw,32px);max-width:18ch}
.contact-card p{color:var(--grey-2);margin-top:10px;font-size:15px}
.contact-links{display:grid;gap:12px}
footer{padding:36px 0 46px;border-top:1px solid var(--line);margin-top:0}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:12.5px;color:var(--grey)}
footer .mono{font-size:11.5px}

/* ---------- Treinamento: específicos ---------- */
.metodo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.metodo{border-left:2px solid var(--brass);padding:6px 0 6px 22px}
.metodo h3{font-size:17px;margin-bottom:8px}
.metodo p{font-size:14.5px;color:#3A3A40}
.on-ink .metodo p{color:var(--grey-2)}
@media (max-width:760px){.metodo-grid{grid-template-columns:1fr}}

.trilha-row{
  display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);
  align-items:baseline;
}
.trilha-row .nm{width:300px;flex-shrink:0;font-weight:700;font-size:16px}
.trilha-row .nm .tag{
  display:block;font-family:"IBM Plex Mono";font-size:10.5px;color:var(--brass);
  font-weight:400;margin-top:4px;letter-spacing:.06em;
}
.trilha-row .ps{color:#4A4A50;font-size:14.5px}
.trilha-row .ps b{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--brass);display:block;margin-bottom:4px;font-weight:500}
@media (max-width:760px){.trilha-row{flex-direction:column;gap:8px}.trilha-row .nm{width:auto}}

.matur-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.matur{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px}
.matur .lvl{font-family:"IBM Plex Mono";font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.matur h3{font-size:19px;margin:10px 0 6px}
.matur .q{font-style:italic;color:var(--grey);font-size:14px;margin-bottom:12px}
.matur p{font-size:14px;color:#4A4A50}
.matur .path{margin-top:14px;font-size:13px;color:var(--ink);font-family:"IBM Plex Mono"}
@media (max-width:860px){.matur-grid{grid-template-columns:1fr}}

.prova{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.prova .yt{
  border:1px solid var(--line);border-radius:var(--r);background:#fff;
  padding:34px 30px;text-align:center;
}
.prova .yt .ch{font-family:"Archivo";font-weight:800;font-size:22px}
.prova .yt p{font-size:13.5px;color:var(--grey);margin:10px 0 20px}
@media (max-width:860px){.prova{grid-template-columns:1fr}}

/* ---------- Impressão (PDF da proposta) ---------- */
#print-root{display:none}
@media print{
  body>*:not(#print-root){display:none!important}
  #print-root{display:block!important;font-family:"Instrument Sans",sans-serif;color:#111}
  @page{margin:22mm 18mm}
  .p-page{page-break-after:always}
  .p-page:last-child{page-break-after:auto}
  .p-eyebrow{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.16em;
    text-transform:uppercase;color:#444444;margin-bottom:8px}
  .p-cover{padding-top:70mm}
  .p-cover h1{font-family:"Archivo";font-size:34px;letter-spacing:-.02em;line-height:1.1}
  .p-cover .meta{margin-top:22px;font-size:12.5px;color:#555;line-height:2}
  .p-cover .meta .mono{font-size:11px}
  .p-brand{font-family:"Archivo";font-weight:800;font-size:15px;margin-bottom:40mm}
  .p-h2{font-family:"Archivo";font-size:19px;margin:26px 0 12px;letter-spacing:-.01em}
  .p-body{font-size:12.5px;line-height:1.65;color:#222}
  .p-body p+p{margin-top:8px}
  table.p-tab{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}
  table.p-tab th{text-align:left;font-family:"IBM Plex Mono";font-size:9.5px;
    letter-spacing:.1em;text-transform:uppercase;color:#777;padding:7px 8px;border-bottom:1.5px solid #111}
  table.p-tab td{padding:8px;border-bottom:1px solid #ddd;vertical-align:top}
  table.p-tab td.num{text-align:right;font-family:"IBM Plex Mono";font-size:11.5px;white-space:nowrap}
  table.p-tab tr.total td{border-bottom:none;border-top:2px solid #111;font-weight:700;font-size:13px}
  .p-item{margin:16px 0;page-break-inside:avoid}
  .p-item h3{font-family:"Archivo";font-size:14.5px;display:flex;justify-content:space-between;gap:14px}
  .p-item h3 .num{font-family:"IBM Plex Mono";font-weight:600;font-size:12.5px}
  .p-item .lim{font-family:"IBM Plex Mono";font-size:9.5px;color:#888;margin:2px 0 6px}
  .p-item dl{font-size:11.8px;line-height:1.55;display:grid;gap:6px;margin-top:6px}
  .p-item dt{font-family:"IBM Plex Mono";font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#444444}
  .p-item dd{color:#333}
  .p-foot{font-size:10px;color:#888;border-top:1px solid #ccc;padding-top:8px;margin-top:26px;
    display:flex;justify-content:space-between;font-family:"IBM Plex Mono"}
  .p-timeline{font-size:11.5px;font-family:"IBM Plex Mono"}
  .p-timeline .bar{background:#eee;border:1px solid #ccc;height:14px;position:relative;margin:4px 0 10px}
  .p-timeline .fill{position:absolute;left:0;top:0;bottom:0;background:#444444}
}
