
:root{
  --brand:#bf123f;
  --brand-dark:#92102f;
  --black:#050507;
  --dark:#15161b;
  --card:#fff;
  --soft:#f4f4f6;
  --text:#15161b;
  --muted:#686c76;
  --line:#e3e3e8;
  --amber:#9a6300;
  --green:#2b6a49;
  --blue:#315c8c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--black);color:#fff}
a{color:inherit}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:10;background:rgba(5,5,7,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:34px;height:48px;object-fit:contain}
.brand-line{width:1px;height:28px;background:rgba(255,255,255,.18)}
.brand-title strong{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.brand-title span{display:block;font-size:11px;color:rgba(255,255,255,.58);margin-top:3px}
nav{display:flex;gap:16px;font-size:12px;flex-wrap:wrap;justify-content:flex-end}
nav a{color:rgba(255,255,255,.72);text-decoration:none}
nav a:hover,nav a:focus{color:#fff}
header{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;padding:80px 0 58px;background:radial-gradient(circle at 80% 8%,rgba(191,18,63,.38),transparent 34%),radial-gradient(circle at 10% 92%,rgba(161,20,57,.22),transparent 32%),linear-gradient(145deg,#050507 0%,#090910 48%,#151019 100%)}
header:after{content:"M1";position:absolute;right:-30px;bottom:-120px;font-size:340px;line-height:.8;font-weight:900;letter-spacing:-.12em;color:rgba(255,255,255,.035);pointer-events:none}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}
.eyebrow,.evidence-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:999px;padding:10px 16px;color:rgba(255,255,255,.78);font-size:13px}
.dot{width:8px;height:8px;background:var(--brand);border-radius:50%;box-shadow:0 0 28px var(--brand)}
h1{font-size:clamp(42px,6vw,76px);line-height:.9;letter-spacing:-.075em;margin:28px 0 18px}
.hero-highlight{color:var(--brand);display:block}
.subtitle{font-size:clamp(19px,2.35vw,28px);line-height:1.18;color:rgba(255,255,255,.92);margin:0 0 28px;font-weight:700;max-width:780px}
.lead{max-width:760px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.68);margin:0}
.client-box{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:28px;padding:28px;box-shadow:0 35px 110px rgba(0,0,0,.35);backdrop-filter:blur(18px)}
.client-label{color:rgba(255,255,255,.52);font-size:12px;text-transform:uppercase;letter-spacing:.16em;margin:18px 0 8px}
.client-name{font-size:30px;line-height:1;font-weight:900;letter-spacing:-.05em;margin-bottom:22px}
.client-meta{display:grid;gap:10px;margin-top:22px}
.meta-row{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;color:rgba(255,255,255,.72);font-size:14px}
.meta-row strong{color:#fff;text-align:right}
main{padding:36px 0 64px}
.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}
section{margin-bottom:22px}
.section-title{margin:46px 0 16px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.section-title h2{margin:0;font-size:clamp(26px,3.2vw,38px);letter-spacing:-.055em;line-height:1}
.section-title p{max-width:560px;margin:0;color:rgba(255,255,255,.62);line-height:1.55;font-size:15px}
.metric,.card{background:#fff;color:var(--text);border-radius:24px;padding:24px;box-shadow:0 18px 80px rgba(0,0,0,.23)}
.metric{min-height:172px;position:relative;overflow:hidden}
.metric:after{content:"";position:absolute;right:-42px;top:-42px;width:126px;height:126px;background:rgba(191,18,63,.08);border-radius:50%}
.metric strong{font-size:20px;display:block;letter-spacing:-.035em;line-height:1.08;max-width:88%}
.metric span{font-weight:800;display:block;margin-top:11px}
.metric small,.card p{color:var(--muted);line-height:1.58}
.card{border-radius:26px;padding:28px;min-height:100%;overflow:hidden}
.card h3{font-size:21px;letter-spacing:-.035em;margin:0 0 14px}
.card h4{font-size:15px;margin:20px 0 8px}
.card ul{margin:10px 0 0;padding-left:20px}
.card li{margin:8px 0;line-height:1.5;color:var(--muted)}
.card.dark{background:#111217;color:#fff;border:1px solid rgba(255,255,255,.08)}
.card.dark p,.card.dark li{color:rgba(255,255,255,.72)}
.card.brand{background:var(--brand);color:#fff}
.card.brand p,.card.brand li{color:rgba(255,255,255,.9)}
.tags{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.tag{background:var(--soft);padding:12px;border-radius:14px;font-size:13px;font-weight:700}
.evidence-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;background:#ececf0;color:#40434d}
.badge.fact{background:#e7f2eb;color:var(--green)}
.badge.signal{background:#e8eef7;color:var(--blue)}
.badge.hyp{background:#fff1d8;color:var(--amber)}
.badge.rec{background:#f7e6eb;color:var(--brand-dark)}
.badge.given{background:#ececf0;color:#4d4f58}
.badge.pending{background:#f0e9f8;color:#5d3a7a}
.callout{border-left:4px solid var(--brand);padding:14px 16px;background:var(--soft);border-radius:0 14px 14px 0;margin:14px 0}
.strategy-list,.recommendations{display:grid;gap:12px}
.strategy-item,.rec{background:var(--soft);border-radius:16px;padding:16px;line-height:1.5}
.strategy-item strong,.rec strong{display:block;margin-bottom:5px}
.priority{display:inline-block;background:rgba(191,18,63,.1);color:var(--brand-dark);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.priority.med{background:#fff1d8;color:#8b5800}.priority.future{background:#e8eef7;color:#315c8c}
.signal-list{display:grid;gap:12px;margin-top:16px}
.signal-row{display:grid;grid-template-columns:160px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.signal-row:first-child{border-top:0}
.signal-row b{font-size:14px}
.signal-track{height:8px;background:#ececf0;border-radius:999px;overflow:hidden}
.signal-track i{display:block;height:100%;background:var(--brand);border-radius:999px}
.signal-row em{font-style:normal;font-size:12px;font-weight:800;color:var(--muted)}
.table-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;min-width:900px;background:#fff;color:var(--text)}
th,td{padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45;text-align:left}
th{font-size:12px;text-transform:uppercase;letter-spacing:.055em;background:#f7f7f9;position:sticky;top:0}
td{font-size:13px;color:#555963}
td:first-child{font-weight:800;color:var(--text);width:170px}
tr:last-child td{border-bottom:0}
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}
.step{background:var(--soft);padding:16px;border-radius:16px;position:relative}
.step b{display:block;margin-bottom:8px;font-size:14px}
.step p{font-size:12px;margin:0}
.step:not(:last-child):after{content:"→";position:absolute;right:-10px;top:50%;transform:translateY(-50%);z-index:2;color:var(--brand);font-weight:900}
.territory{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.territory:first-of-type{border-top:0;padding-top:0;margin-top:0}
.territory h4{margin:0 0 8px;font-size:18px}
.territory p{margin:6px 0}
.source-list{display:grid;gap:12px}
.source{border-left:4px solid var(--brand);padding:12px 16px;background:var(--soft);border-radius:0 12px 12px 0;font-size:14px;line-height:1.5}
.source a{color:var(--brand-dark);word-break:break-word}
.source small{display:block;color:var(--muted);margin-top:4px}
.closing{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:linear-gradient(135deg,#111217,#1b1116);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:34px}
.closing img{width:62px;height:auto;opacity:.85}
.closing p{color:rgba(255,255,255,.7);line-height:1.6}
footer{border-top:1px solid rgba(255,255,255,.08);padding:24px 0;color:rgba(255,255,255,.55);font-size:12px}
.footer-inner{display:flex;justify-content:space-between;gap:20px}
.note{font-size:12px!important;color:var(--muted)!important}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-weight:900;margin-bottom:10px}
@media(max-width:980px){
  nav{display:none}.hero-grid,.grid-4,.grid-3,.grid-2,.closing{grid-template-columns:1fr}.span-2{grid-column:span 1}
  .section-title{display:block}.section-title p{margin-top:12px}.tags{grid-template-columns:1fr 1fr}
  .journey{grid-template-columns:1fr}.step:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-15px;transform:translateX(50%)}
}
@media(max-width:560px){
  .container{width:min(100% - 28px,1180px)}header{padding-top:60px}.client-box,.card,.metric,.closing{border-radius:22px;padding:22px}
  .tags{grid-template-columns:1fr}.footer-inner{display:grid}.signal-row{grid-template-columns:1fr}.signal-row em{justify-self:start}
}
@media print{
  .topbar{position:static}.topbar nav{display:none}
  header{min-height:auto;padding:48px 0}
  main{padding-top:20px}
  .card,.metric,.closing{box-shadow:none;break-inside:avoid}
  .section-title{break-after:avoid}
  .table-wrap{overflow:visible}
  table{min-width:0;font-size:10px}
  th,td{padding:8px 9px}
  a{text-decoration:none}
}


@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important;color:#15161b!important;font-size:10.5pt}
  .topbar{display:none!important}
  header{
    min-height:0!important;
    height:auto!important;
    padding:18mm 0 16mm!important;
    page-break-after:always;
    background:linear-gradient(145deg,#050507 0%,#151019 100%)!important;
  }
  header:after{font-size:220px;bottom:-70px}
  .hero-grid{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:18px!important}
  h1{font-size:42px!important;margin:18px 0 12px!important}
  .subtitle{font-size:18px!important}
  .lead{font-size:11px!important;line-height:1.45!important}
  .client-box{padding:18px!important;border-radius:18px!important;box-shadow:none!important}
  main{padding:0!important}
  .section-title{display:block!important;margin:14mm 0 5mm!important;break-after:avoid}
  .section-title h2{color:#15161b!important;font-size:25px!important}
  .section-title p{color:#686c76!important;margin-top:5px!important;font-size:10px!important}
  .grid,.grid-4,.grid-3,.grid-2{display:block!important}
  .metric,.card{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:15px!important;
    margin:0 0 8px!important;
    border-radius:14px!important;
    box-shadow:none!important;
    border:1px solid #e3e3e8!important;
    background:#fff!important;
    color:#15161b!important;
    break-inside:avoid;
  }
  .metric strong{font-size:17px!important}
  .metric small,.card p,.card li{color:#5f636d!important;line-height:1.4!important}
  .card.brand,.card.dark{
    background:#fff!important;
    color:#15161b!important;
    border-left:4px solid #bf123f!important;
  }
  .card.brand p,.card.brand li,.card.dark p,.card.dark li{color:#5f636d!important}
  .callout,.strategy-item,.rec,.step,.source{background:#f6f6f8!important}
  .evidence-legend{gap:5px!important}
  .badge{padding:4px 7px!important;font-size:8px!important}
  .signal-list{margin-top:8px!important}
  .signal-row{grid-template-columns:120px 1fr 90px!important;padding:7px 0!important}
  .journey{display:block!important}
  .step{margin-bottom:6px!important}
  .step:after{display:none!important}
  .table-wrap{overflow:visible!important;border-radius:8px!important}
  table{
    min-width:0!important;
    width:100%!important;
    table-layout:fixed!important;
    font-size:7.4px!important;
  }
  th,td{
    padding:5px 6px!important;
    font-size:7.4px!important;
    line-height:1.28!important;
    word-break:break-word!important;
  }
  thead{display:table-header-group}
  tr{break-inside:avoid}
  .source{break-inside:avoid;padding:8px 10px!important;font-size:8.5px!important}
  .source small{font-size:7.5px!important}
  .closing{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    background:#111217!important;
    color:#fff!important;
    padding:18px!important;
    border-radius:16px!important;
    margin-top:12mm!important;
    break-inside:avoid;
  }
  .closing p{color:rgba(255,255,255,.78)!important}
  footer{color:#555!important;border-top:1px solid #ddd!important}
  .footer-inner{display:flex!important}
}



@media print{
  .card.brand{
    grid-column:auto!important;
    width:100%!important;
  }
}


/* === Revisão final de hierarquia e leitura === */
.section-title{
  display:block;
  margin:46px 0 16px;
}
.section-title h2{
  margin:0 0 10px;
  font-size:clamp(26px,3.2vw,38px);
  letter-spacing:-.055em;
  line-height:1.02;
}
.section-title p{
  margin:0;
  max-width:860px;
  color:rgba(255,255,255,.62);
  line-height:1.55;
  font-size:15px;
}

/* cartões vermelhos: título acima, texto abaixo */
.card.brand.vertical-card{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
  padding:28px 30px;
}
.card.brand.vertical-card h3{
  width:100%;
  margin:0 0 6px;
  font-size:clamp(24px,2.8vw,34px);
  letter-spacing:-.04em;
  line-height:1.02;
  text-align:left;
}
.card.brand.vertical-card p,
.card.brand.vertical-card .note,
.card.brand.vertical-card ul{
  width:100%;
  max-width:none;
  margin:0;
  font-size:16px;
  line-height:1.6;
  text-align:left;
}
.card.brand.vertical-card p + p,
.card.brand.vertical-card p + .note,
.card.brand.vertical-card .note + p,
.card.brand.vertical-card ul + p{
  margin-top:4px;
}
.card.brand.vertical-card p strong{
  font-size:1.06em;
}

/* fechamento e próximo passo */
.next-steps-card{
  padding:30px 32px;
  margin-top:6px;
}
.next-steps-card h3{
  margin-bottom:8px;
}
.next-steps-card p strong{
  font-size:1.08em;
}

.closing{
  margin-top:22px;
}
.closing h2{
  margin:0 0 12px;
  font-size:clamp(28px,3.8vw,44px);
  letter-spacing:-.05em;
  line-height:1.02;
}

/* responsivo */
@media(max-width:980px){
  .section-title{
    display:block;
  }
  .section-title p{
    margin-top:0;
    font-size:14px;
  }
  .card.brand.vertical-card{
    padding:24px 24px;
  }
  .card.brand.vertical-card h3{
    font-size:clamp(22px,4vw,30px);
  }
  .card.brand.vertical-card p,
  .card.brand.vertical-card .note,
  .card.brand.vertical-card ul{
    font-size:15px;
    line-height:1.56;
  }
}

@media(max-width:560px){
  .section-title{
    margin:36px 0 14px;
  }
  .section-title h2{
    font-size:clamp(24px,8vw,32px);
    margin-bottom:8px;
  }
  .section-title p{
    font-size:14px;
    line-height:1.5;
  }
  .card.brand.vertical-card{
    padding:22px 20px;
    border-radius:22px;
    gap:10px;
  }
  .card.brand.vertical-card h3{
    font-size:clamp(21px,8vw,28px);
    margin-bottom:4px;
  }
  .card.brand.vertical-card p,
  .card.brand.vertical-card .note,
  .card.brand.vertical-card ul{
    font-size:14px;
    line-height:1.5;
  }
  .next-steps-card{
    padding:24px 20px;
  }
}

/* impressão */
@media print{
  .section-title{
    display:block!important;
    margin:14mm 0 5mm!important;
  }
  .section-title h2{
    margin:0 0 4px!important;
    font-size:25px!important;
  }
  .section-title p{
    margin:0!important;
    max-width:none!important;
    font-size:10px!important;
  }
  .card.brand.vertical-card{
    grid-column:auto!important;
    width:100%!important;
    display:block!important;
    padding:15px!important;
  }
  .card.brand.vertical-card h3{
    width:100%!important;
    margin:0 0 6px!important;
    font-size:20px!important;
    text-align:left!important;
  }
  .card.brand.vertical-card p,
  .card.brand.vertical-card .note,
  .card.brand.vertical-card ul{
    width:100%!important;
    margin:0 0 6px!important;
    font-size:10px!important;
    line-height:1.4!important;
  }
}
