@font-face{font-family:'Barlow Condensed';src:url('../fonts/Barlow_Condensed-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Barlow Condensed';src:url('../fonts/Barlow_Condensed-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Barlow Condensed';src:url('../fonts/Barlow_Condensed-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}

:root{
  /* Paleta oficial BOOST — Brand Guideline */
  --black:#080A08;         /* Preto BOOST */
  --ivory:#F2EBDD;         /* Marfim Natural */
  --green:#243A16;         /* Verde Profundo — superfícies escuras/secundárias */
  --green-deep:#182610;    /* variação mais escura do Verde Profundo, hover */
  --green-pale:#E9EEDD;
  --lime:#A8D500;          /* Verde BOOST — acento energético principal */
  --lime-deep:#4F6600;     /* Verde BOOST escurecido — texto/hover sobre claro */
  --orange:#C99732;        /* Ouro Cúrcuma */
  --orange-deep:#A67A22;
  --gengibre:#D98A2E;      /* Laranja Gengibre — acento de apoio */
  --paper:#F2EBDD;         /* = Marfim Natural, fundo institucional */
  --surface:#FBF8F1;       /* superfície elevada, marfim mais claro */
  --ink:#15170F;
  --muted:#777A72;         /* Cinza Mineral */
  --line:#E3DAC5;
  --red:#C52E32;           /* Vermelho Maçã */

  --font-display:'Barlow Condensed',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;

  --sidebar-w:272px;
  --radius:20px;
  --shadow-md:0 20px 50px rgba(8,10,8,.1);
  --shadow-lg:0 30px 70px rgba(8,10,8,.18);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:4;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");}
@media(prefers-reduced-motion:reduce){body::before{display:none;}}
img{max-width:100%;display:block;}
button,input{font:inherit;color:inherit;}
button{cursor:pointer;background:none;border:none;}
a{color:inherit;}
code{font-family:ui-monospace,Consolas,monospace;}
::selection{background:var(--lime);color:var(--black);}

/* ---------- sidebar ---------- */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--black);color:#EFEFEA;
  padding:26px 20px;display:flex;flex-direction:column;z-index:70;transition:transform .3s ease;}
.brand{padding:2px 4px 20px;border-bottom:1px solid rgba(168,213,0,.2);}
.brand-logo{width:100%;max-width:190px;height:auto;}
.brand .kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(239,239,234,.5);margin-top:8px;}
.nav{padding:16px 0;overflow-y:auto;flex:1;}
.nav .group{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);margin:16px 8px 6px;}
.nav .group:first-child{margin-top:0;}
.nav a{display:grid;grid-template-columns:24px 1fr;gap:8px;padding:6px 8px;border-radius:8px;
  font-size:12.5px;color:rgba(239,239,234,.62);text-decoration:none;transition:background .15s ease,color .15s ease;}
.nav a span:first-child{font-variant-numeric:tabular-nums;color:rgba(201,151,50,.7);}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06);}
.nav a.active{color:#fff;background:rgba(168,213,0,.14);}
.nav a.active span:first-child{color:var(--lime);}
.sidebar-foot{padding:14px 8px 0;border-top:1px solid rgba(168,213,0,.18);font-size:10px;color:rgba(239,239,234,.42);}
.agency-logo{display:block;width:104px;height:auto;margin-bottom:10px;opacity:.92;}

/* ---------- topbar ---------- */
.topbar{position:fixed;top:0;left:var(--sidebar-w);right:0;height:64px;z-index:60;
  display:flex;align-items:center;justify-content:space-between;padding:0 26px;
  background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);transition:left .3s ease;}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:8px;}
.topbar-title{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green-deep);}
.progress{position:absolute;bottom:-1px;left:0;height:2px;background:var(--lime);width:0;transition:width .2s ease;}
.icon-btn,.text-btn{border:1px solid var(--line);background:var(--surface);color:var(--green-deep);height:38px;
  border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s ease;
  text-decoration:none;}
.icon-btn{width:38px;font-size:15px;}
.text-btn{padding:0 16px;font-size:11.5px;font-weight:700;}
.icon-btn:hover,.text-btn:hover{background:var(--black);color:#fff;border-color:var(--black);transform:translateY(-1px);}
.mobile-menu-btn{display:none;}

/* ---------- main / chapters ---------- */
main{margin-left:var(--sidebar-w);padding-top:64px;transition:margin-left .3s ease;}
.chapter{min-height:calc(100vh - 64px);position:relative;padding:clamp(48px,6vw,92px) clamp(30px,6vw,92px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;overflow:hidden;counter-increment:chap;}
body{counter-reset:chap -1;}
.chapter:last-of-type{border-bottom:none;}
.chapter.dark{background:var(--black);color:#EFEFEA;}
.chapter.green{background:var(--green);color:#F3F5EF;}
.chapter.paper{background:var(--paper);}
.chapter.surface{background:var(--surface);}
.chapter::after{content:counter(chap,decimal-leading-zero);position:absolute;right:clamp(-10px,-1vw,10px);
  bottom:clamp(-60px,-4vw,-20px);font-family:var(--font-display);font-weight:800;font-size:clamp(140px,20vw,320px);
  line-height:1;color:rgba(13,13,13,.035);z-index:0;pointer-events:none;user-select:none;}
.chapter.dark::after,.chapter.green::after{color:rgba(255,255,255,.045);}
.chapter.cover::after{display:none;}
.chapter-inner{width:min(1180px,100%);margin:0 auto;position:relative;z-index:2;}
.chapter-number{display:none;}
.chapter.dark .chapter-number,.chapter.green .chapter-number{color:var(--lime);}

/* entrance motion — default fully visible; JS adds .reveal once per chapter, never removes */
.chapter-inner{opacity:1;transform:none;}
.chapter-inner.reveal{animation:chapterIn .7s cubic-bezier(.22,1,.36,1) both;}
@keyframes chapterIn{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.chapter-inner.reveal{animation:none;}}
body.presenting .chapter-inner.reveal{animation:chapterInFast .45s cubic-bezier(.22,1,.36,1) both;}
@keyframes chapterInFast{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green-deep);
  display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--orange);}
.chapter.dark .eyebrow,.chapter.green .eyebrow{color:var(--lime);}
.chapter.dark .eyebrow::before,.chapter.green .eyebrow::before{background:var(--lime);}

h1,h2,h3{margin:0;font-family:var(--font-display);color:var(--black);text-wrap:balance;text-transform:uppercase;}
.chapter.dark h1,.chapter.dark h2,.chapter.dark h3,.chapter.green h1,.chapter.green h2,.chapter.green h3{color:var(--ivory);}
h1{font-weight:800;font-size:clamp(42px,6.6vw,92px);line-height:.96;letter-spacing:.002em;}
h2{font-weight:800;font-size:clamp(30px,4.6vw,58px);line-height:.98;letter-spacing:.002em;}
h3{font-weight:700;font-size:19px;line-height:1.25;letter-spacing:.005em;}
.lede{font-size:clamp(15px,1.5vw,18px);color:var(--muted);max-width:70ch;line-height:1.65;margin-top:14px;text-wrap:pretty;}
.chapter.dark .lede,.chapter.green .lede{color:rgba(255,255,255,.72);}
p{margin:0 0 10px;font-size:14.5px;}
p:last-child{margin-bottom:0;}
.rule{height:1px;background:var(--line);margin:24px 0;}
.chapter.dark .rule,.chapter.green .rule{background:rgba(255,255,255,.16);}
strong{font-weight:600;}
.o{color:var(--orange-deep);}
.chapter.dark .o,.chapter.green .o{color:var(--orange);}
.l{color:var(--lime);}
.chapter.paper .l,.chapter.surface .l{color:var(--lime-deep);}

/* grids & cards */
.grid-2,.grid-3,.grid-4,.grid-5{display:grid;gap:16px;}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.chapter.dark .card{background:rgba(255,255,255,.045);border-color:rgba(168,213,0,.18);}
.chapter.dark .card:hover{box-shadow:0 20px 50px rgba(0,0,0,.4);}
.chapter.green .card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.card-tag{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);margin-bottom:10px;display:block;}
.chapter.dark .card-tag,.chapter.green .card-tag{color:var(--lime);}

/* stat tiles */
.stat-tile{background:var(--black);color:#fff;border-radius:var(--radius);padding:22px 24px;
  transition:transform .22s cubic-bezier(.22,1,.36,1);}
.stat-tile:hover{transform:translateY(-4px) scale(1.015);}
.stat-tile .num{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3vw,38px);color:var(--lime);line-height:1;}
.stat-tile .label{font-size:12.5px;color:rgba(255,255,255,.68);margin-top:8px;line-height:1.4;}
.stat-tile.light{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-md);}
.stat-tile.light .num{color:var(--green-deep);}
.stat-tile.light .label{color:var(--muted);}
.stat-tile.light:hover{transform:translateY(-4px);}

/* number list (diagnostic bullets) */
.blt{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;}
.blt:last-child{margin-bottom:0;}
.blt .dot{flex-shrink:0;width:9px;height:9px;border-radius:50%;background:var(--orange);margin-top:7px;}
.blt p{font-size:14.5px;}

/* risk rows */
.risk-row{display:flex;gap:18px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);
  border-radius:14px;background:var(--surface);margin-bottom:10px;transition:transform .18s ease,border-color .18s ease;}
.risk-row:hover{transform:translateX(4px);border-color:var(--red);}
.risk-row:last-child{margin-bottom:0;}
.risk-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:rgba(179,64,46,.12);
  color:var(--red);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--font-display);font-size:15px;}
.risk-row .rtitle{font-weight:700;font-size:14.5px;min-width:220px;}
.risk-row p{color:var(--muted);font-size:13.5px;}

/* swot */
.swot-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;}
.swot-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.swot-head{padding:12px 18px;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;}
.swot-head.forcas{background:var(--green);}
.swot-head.fraquezas{background:var(--orange);}
.swot-head.oportunidades{background:var(--lime-deep);}
.swot-head.ameacas{background:var(--red);}
.swot-body{background:var(--surface);padding:18px;color:var(--ink);}
.swot-body ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
.swot-body li{font-size:13px;padding-left:16px;position:relative;color:var(--ink);}
.swot-body li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:2px;background:var(--muted);}

/* quote block */
.quote-block{border-left:3px solid var(--lime);padding-left:24px;margin:20px 0;}
.quote-block p{font-family:var(--font-display);font-weight:700;font-size:clamp(18px,2.2vw,26px);line-height:1.35;color:inherit;}

/* persona */
.persona-grid{display:grid;grid-template-columns:300px 1fr;gap:32px;}
.persona-card{position:relative;color:#fff;border-radius:var(--radius);padding:26px;text-align:center;
  box-shadow:var(--shadow-lg);transition:transform .25s ease;overflow:hidden;isolation:isolate;
  min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;}
.persona-card:hover{transform:translateY(-4px);}
.persona-card .photo-bg{position:absolute;inset:0;z-index:-1;}
.persona-card .photo-bg img{width:100%;height:100%;object-fit:cover;object-position:center 12%;}
.persona-card .photo-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,20,10,0) 0%,rgba(15,20,10,0) 52%,rgba(15,20,10,.72) 82%,rgba(15,20,10,.92) 100%);}
.persona-card.b .photo-bg::after{background:linear-gradient(180deg,rgba(30,22,8,0) 0%,rgba(30,22,8,0) 52%,rgba(30,22,8,.72) 82%,rgba(30,22,8,.92) 100%);}
.persona-card .name{font-family:var(--font-display);font-weight:800;font-size:26px;text-shadow:0 2px 10px rgba(0,0,0,.4);}
.persona-card .meta{font-size:12px;opacity:.9;margin-top:4px;}
.persona-card .tags{font-size:11px;font-weight:700;margin-top:12px;opacity:.95;}
.persona-quote{border-left:3px solid var(--orange);padding-left:18px;margin-bottom:22px;}
.persona-quote p{font-style:italic;font-size:15px;line-height:1.55;color:var(--ink);}
.persona-info h4{font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--green-deep);margin:22px 0 8px;}
.persona-info h4:first-child{margin-top:0;}
.persona-info ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
.persona-info li{font-size:13.5px;padding-left:16px;position:relative;}
.persona-info li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:2px;background:var(--orange);}

/* route table */
.route-row{display:grid;grid-template-columns:140px 220px 1fr;gap:18px;padding:14px 0;border-top:1px solid var(--line);align-items:center;}
.route-row:first-child{border-top:none;}
.route-row .tag{font-weight:700;color:var(--green-deep);font-size:13px;}
.route-row .place{font-weight:600;font-size:14px;}
.route-row .desc{color:var(--muted);font-size:13px;}

/* segment lists */
.seg-block{border-radius:var(--radius);padding:24px;}
.seg-block.active{background:var(--green);color:#fff;}
.seg-block.saude{background:var(--surface);border:1px solid var(--line);}
.seg-block h3{margin-bottom:4px;}
.seg-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin:16px 0;list-style:none;padding:0;}
.seg-list li{font-size:13.5px;padding:4px 0;}
.seg-note{font-size:12px;font-style:italic;opacity:.85;margin-top:10px;}
.seg-block.saude .seg-note{color:var(--orange-deep);}

/* chart: grouped bars */
.chart-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;}
.chart-title{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:18px;}
.bars-svg text{font-family:var(--font-body);}
.bar-legend{display:flex;gap:20px;margin-top:14px;font-size:12px;color:var(--muted);}
.bar-legend .sw{display:inline-flex;align-items:center;gap:7px;}
.bar-legend .sw i{width:11px;height:11px;border-radius:3px;display:inline-block;}

/* commission table */
.comm-table{width:100%;border-collapse:separate;border-spacing:8px;}
.comm-table th{background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;
  font-size:12px;padding:12px;border-radius:10px;}
.comm-table td{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center;}
.comm-table .seg-label{font-size:10.5px;color:var(--muted);display:block;}
.comm-table .val{font-family:var(--font-display);font-weight:800;font-size:18px;}
.comm-table .val.orange{color:var(--orange-deep);}
.comm-table .val.green{color:var(--green-deep);}
.bonus-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;}
.bonus-tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center;}
.bonus-tile.total{background:var(--green);color:#fff;border:none;}
.bonus-tile .n{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--green-deep);}
.bonus-tile.total .n{color:#fff;}
.bonus-tile .t{font-size:11px;color:var(--muted);margin-top:4px;}
.bonus-tile.total .t{color:rgba(255,255,255,.75);}
.callout{background:var(--black);color:var(--lime);border-radius:14px;padding:16px 20px;font-weight:700;
  font-size:14px;text-align:center;margin-top:18px;}

/* journey steps */
.journey{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.journey-step{background:var(--green);color:#fff;border-radius:16px;padding:20px 16px;
  transition:transform .22s cubic-bezier(.22,1,.36,1);}
.journey-step:hover{transform:translateY(-6px);}
.journey-step:nth-child(2n){background:var(--green-deep);}
.journey-step .n{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--lime);}
.journey-step h4{font-family:var(--font-body);font-weight:700;font-size:13.5px;margin:10px 0 6px;}
.journey-step p{font-size:11.5px;color:rgba(255,255,255,.72);}

/* numbered rows (methods, roadmap steps) */
.num-row{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line);}
.num-row:first-child{border-top:none;}
.num-row .n{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;
  font-family:var(--font-display);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;}
.num-row .rtitle{font-weight:700;font-size:14.5px;min-width:200px;}
.num-row p{color:var(--muted);font-size:13.5px;}
.chapter.dark .num-row{border-color:rgba(255,255,255,.14);}
.chapter.dark .num-row p{color:rgba(255,255,255,.62);}
.chapter.dark .num-row .n{background:var(--lime);color:var(--black);}

/* funnel — real tapering shape, one stage narrower than the last */
.funnel-v{display:flex;flex-direction:column;align-items:center;gap:14px;}
.funnel-seg{display:flex;flex-direction:column;align-items:center;transition:transform .2s ease;}
.funnel-seg:hover{transform:scale(1.015);}
.funnel-shape{
  width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:12px;
  clip-path:polygon(3% 0,97% 0,90% 100%,10% 100%);
  color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.funnel-shape .fn{font-family:var(--font-display);font-weight:700;font-size:15px;opacity:.65;font-variant-numeric:tabular-nums;}
.funnel-shape .fl{font-family:var(--font-display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.02em;}
.funnel-desc{margin-top:8px;font-size:12.5px;color:rgba(255,255,255,.58);text-align:center;max-width:46ch;}

/* script speech */
.speech{border-radius:var(--radius);padding:22px;}
.speech.light{background:var(--surface);border:1px solid var(--line);}
.speech.dark{background:var(--black);color:#EFEFEA;}
.speech h4{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-deep);margin-bottom:14px;}
.speech.dark h4{color:var(--lime);}
.speech p{font-style:italic;font-size:14px;line-height:1.6;margin-bottom:14px;}
.obj-q{color:var(--orange-deep);font-weight:700;font-style:normal;font-size:13px;margin-bottom:4px;}
.speech.dark .obj-q{color:var(--orange);}

/* materials grid */
.mat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;}
.mat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.mat-card .n{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;
  font-family:var(--font-display);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.mat-card h4{font-size:14px;margin-bottom:6px;}
.mat-card p{font-size:12.5px;color:var(--muted);}


/* timeline calendar 3-col */
.cal-col{border-radius:var(--radius);overflow:hidden;}
.cal-head{padding:14px 18px;font-family:var(--font-display);font-weight:700;font-size:14px;color:#fff;}
.cal-col:nth-child(1) .cal-head{background:var(--green);}
.cal-col:nth-child(2) .cal-head{background:var(--lime-deep);}
.cal-col:nth-child(3) .cal-head{background:var(--orange-deep);}
.cal-body{background:var(--surface);border:1px solid var(--line);border-top:none;padding:18px;display:flex;flex-direction:column;gap:12px;color:var(--ink);}
.cal-body .item{font-size:13px;padding-left:16px;position:relative;color:var(--ink);}
.cal-body .item::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--orange);}

/* indicators grid */
.ind-tile{background:var(--black);border-radius:16px;padding:18px 20px;transition:transform .22s cubic-bezier(.22,1,.36,1);}
.ind-tile:hover{transform:translateY(-4px);}
.ind-tile .bar{width:26px;height:3px;background:var(--lime);border-radius:2px;margin-bottom:12px;transition:width .25s ease;}
.ind-tile:hover .bar{width:42px;}
.ind-tile h4{color:#fff;font-size:14px;margin-bottom:8px;}
.ind-tile p{color:rgba(255,255,255,.55);font-size:12px;}

/* gantt */
.gantt{display:flex;flex-direction:column;gap:10px;}
.gantt-row{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:14px;}
.gantt-label{font-size:12.5px;font-weight:600;color:var(--muted);text-align:right;}
.gantt-track{position:relative;height:26px;background:var(--line);border-radius:8px;overflow:hidden;}
.gantt-bar{position:absolute;top:0;bottom:0;border-radius:8px;}
.gantt-range{position:absolute;top:50%;transform:translateY(-50%);font-size:10.5px;font-weight:700;
  white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;}
.gantt-range.outside{color:var(--muted);}
.gantt-range.inside{right:10px;}
.gantt-range.inside.on-dark{color:#fff;}
.gantt-range.inside.on-light{color:var(--green-deep);}
.gantt-axis{display:grid;grid-template-columns:180px 1fr;margin-top:4px;}
.gantt-axis-labels{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);padding:0 2px;}
.gantt-legend{display:flex;gap:20px;margin-top:16px;font-size:12px;color:var(--muted);}
.gantt-legend .sw{display:inline-flex;align-items:center;gap:7px;}
.gantt-legend .sw i{width:11px;height:11px;border-radius:3px;display:inline-block;}

/* palette swatches */
.pal-swatch{border:0;border-radius:16px;padding:18px;min-height:120px;display:flex;flex-direction:column;
  justify-content:flex-end;color:#fff;cursor:pointer;transition:transform .15s ease;width:100%;font-family:inherit;}
.pal-swatch:hover{transform:translateY(-3px);}
.pal-swatch .code{font-size:11px;opacity:.75;}
.pal-swatch .name{font-weight:700;font-size:14px;margin-top:2px;}
.pal-swatch .desc{font-size:11px;opacity:.7;margin-top:6px;}
.type-spec{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.type-spec .big{font-family:var(--font-display);font-weight:800;font-size:56px;line-height:1;}
.type-spec .big.body-face{font-family:var(--font-body);font-weight:600;}
.type-spec .meta{font-size:12.5px;color:var(--muted);margin-top:12px;}

/* application tiles */
.app-tile{border-radius:var(--radius);padding:22px;color:#fff;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;}
.app-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.app-tile .dot{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);margin-bottom:14px;}
.app-tile h4{font-size:14.5px;margin-bottom:8px;}
.app-tile p{font-size:12.5px;color:rgba(255,255,255,.72);}
.app-tile.dark{background:var(--black);}
.app-tile.green{background:var(--green);}
.app-tile.light{background:var(--surface);border:1px solid var(--line);color:var(--ink);}
.app-tile.light p{color:var(--muted);}
.app-tile.light .dot{background:var(--green-pale);}

/* concept photo */
.concept-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);}
.concept-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* full-width banner photo — sits above a chapter's existing content, no restructuring needed */
.banner-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);
  aspect-ratio:2.1/1;margin-bottom:26px;}
.banner-photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:860px){.banner-photo{aspect-ratio:16/11;}}

/* identity gallery — hero photo + supporting grid */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.gallery-item{border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--line);
  box-shadow:var(--shadow-md);transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;}
.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.gallery-item .gi-photo{aspect-ratio:16/9;overflow:hidden;}
.gallery-item .gi-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-item .gi-cap{padding:10px 14px;font-size:11.5px;font-weight:600;color:var(--muted);}
@media(max-width:860px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
#paleta .banner-photo,#aplicacoes .concept-photo,#identidade-aplicada .concept-photo,#identidade-aplicada .gi-photo{cursor:zoom-in;}

/* lightbox — click-to-enlarge for Linha Visual da Marca images */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(8,10,8,.94);display:flex;align-items:center;justify-content:center;
  padding:min(60px,6vw);opacity:0;pointer-events:none;transition:opacity .25s ease;}
.lightbox.show{opacity:1;pointer-events:auto;}
.lightbox img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.55);
  transform:scale(.96);transition:transform .25s cubic-bezier(.22,1,.36,1);display:block;}
.lightbox.show img{transform:scale(1);}
.lightbox-close{position:fixed;top:22px;right:26px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:20px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;z-index:301;}
.lightbox-close:hover{background:rgba(255,255,255,.22);}
body.lightbox-open{overflow:hidden;}

/* social media kit — story thumbnails strip */
.story-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
.story-thumb{border-radius:14px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:9/16;
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease;}
.story-thumb:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.story-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:860px){.story-strip{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* digital/presencial split */
.split-col{border-radius:var(--radius);padding:24px;}
.split-col.digital{background:var(--green);color:#fff;}
.split-col.presencial{background:var(--surface);border:1px solid var(--line);}
.split-col .tag{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;display:block;}
.split-col.digital .tag{color:var(--lime);}
.split-col.presencial .tag{color:var(--orange-deep);}
.split-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;}
.split-col li{font-size:13.5px;padding-left:18px;position:relative;}
.split-col li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:2px;background:currentColor;opacity:.6;}

/* next steps */
.step-row{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid rgba(255,255,255,.15);}
.step-row:first-child{border-top:none;}
.step-row .n{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--lime);color:var(--black);
  font-family:var(--font-display);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;}
.step-row .rtitle{font-weight:700;font-size:15px;min-width:220px;color:#fff;}
.step-row p{color:rgba(255,255,255,.65);font-size:13.5px;}

/* toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);z-index:200;background:var(--black);
  color:var(--lime);font-size:13px;font-weight:700;padding:11px 20px;border-radius:100px;opacity:0;
  pointer-events:none;transition:.22s ease;box-shadow:0 14px 32px rgba(0,0,0,.3);}
.toast.show{opacity:1;transform:translate(-50%,0);}
.present-counter{display:none;position:fixed;right:24px;bottom:20px;z-index:120;padding:8px 14px;border-radius:999px;
  background:rgba(13,13,13,.82);color:#fff;font-size:11px;letter-spacing:.1em;font-variant-numeric:tabular-nums;}

/* cover — real product photography as full-bleed background (capa.png has no baked-in text, safe to overlay) */
.cover{position:relative;color:#fff;background:#000;}
.cover-photo{position:absolute;inset:0;z-index:0;}
.cover-photo img{width:100%;height:100%;object-fit:cover;object-position:75% 55%;}
.cover-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.72) 34%,rgba(0,0,0,.22) 58%,rgba(0,0,0,.05) 76%);}
.cover .chapter-inner{position:relative;z-index:2;}
.cover-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--lime);margin-bottom:22px;
  display:flex;align-items:center;gap:10px;}
.cover-eyebrow::before{content:"";width:30px;height:2px;background:var(--orange);}
.cover-logo{width:clamp(220px,32vw,460px);height:auto;filter:drop-shadow(0 14px 30px rgba(0,0,0,.5));}
.cover h1{color:#fff;margin-top:24px;font-size:clamp(34px,5vw,66px);}
.cover .sub{font-family:var(--font-display);font-weight:700;font-size:clamp(17px,2vw,23px);color:rgba(255,255,255,.9);margin-top:22px;max-width:50ch;line-height:1.3;}
.cover .tags{font-size:13px;color:rgba(255,255,255,.48);margin-top:16px;}
.cover .meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px;font-size:11px;color:rgba(255,255,255,.38);}
.cover .meta span:not(:last-child)::after{content:"·";margin-left:10px;}
.cover-stripe{position:absolute;left:0;right:0;bottom:0;height:5px;z-index:3;
  background:linear-gradient(90deg,var(--green) 0 25%,var(--lime) 25% 50%,var(--orange) 50% 75%,var(--green-deep) 75% 100%);}

/* presentation mode */
body.presenting{background:var(--black);}
body.presenting .sidebar,body.presenting .topbar{display:none;}
body.presenting main{margin:0;padding:0;}
body.presenting .chapter{display:none;min-height:100vh;padding:clamp(40px,6vw,90px);}
body.presenting .chapter.active{display:flex;}
body.presenting .present-counter{display:block;}

/* responsive */
@media(max-width:1100px){
  :root{--sidebar-w:230px;}
  .grid-4,.grid-5{grid-template-columns:repeat(3,1fr);}
  .persona-grid{grid-template-columns:1fr;}
  .journey{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:860px){
  :root{--sidebar-w:0px;}
  .cover .chapter-inner{grid-template-columns:1fr;}
  .sidebar{transform:translateX(-100%);width:280px;box-shadow:0 0 60px rgba(0,0,0,.4);}
  body.menu-open .sidebar{transform:translateX(0);}
  .menu-scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:65;}
  body.menu-open .menu-scrim{display:block;}
  body.menu-open{overflow:hidden;}
  .topbar{left:0;padding:0 16px;}
  .mobile-menu-btn{display:inline-flex;}
  .topbar-title{display:none;}
  .topbar-left .text-btn{display:none;}
  main{margin-left:0;}
  .chapter{padding:78px 20px 50px;min-height:auto;}
  .grid-2,.grid-3,.grid-4,.grid-5,.persona-grid,.journey,.seg-list,.route-row,.gantt-row,.gantt-axis,.bonus-row{grid-template-columns:1fr;}
  .route-row{gap:6px;}
  .risk-row,.num-row{flex-direction:column;gap:8px;}
  .funnel-seg{width:100% !important;}
  .funnel-shape{clip-path:polygon(1% 0,99% 0,96% 100%,4% 100%);}
  .text-btn span{display:none;}
  .gantt-label{text-align:left;}
}
@media print{
  @page{size:landscape;margin:0;}
  .sidebar,.topbar,.present-counter,.toast,.menu-scrim{display:none !important;}
  main{margin:0;padding:0;}
  .chapter{page-break-after:always;min-height:100vh;padding:56px;}
  .chapter.dark,.chapter.green,.cover{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}
