/*
 * commerce-vc1 blueprint site.css — VC1 brand (#BDCC02 lime, #0B0B0C/#17181B graphite).
 * Wave-2 agents: do NOT edit this file; use the shared components below as-is.
 *
 * .means — client box "O que isso significa para você" (.means-ico, .means-title, p).
 * .story-flow > .story-step — vertical journey (.story-thumb link+img 480px, .story-body with
 *   .story-happens, .story-who, .story-sees, .story-result, .story-num badge, .story-cta "Abrir tela").
 * .flow-card — journey summary (.flow-card-title, .flow-audience, .flow-outcome, .flow-epic, .flow-steps).
 * figure.diagram — SVG/image diagram ([data-zoom] click → .lightbox); figcaption; .diagram-open link.
 * .res-table — resources now vs future (thead th, tbody td, .res-now, .res-future).
 * .timeline-epics — horizontal E0→E6 (.timeline-epics-track > .timeline-epic).
 * .api-card — integration card (.api-name, .api-meta, .api-direction, .api-status tag).
 * .tech-link — deep link to technical area ("Ver na área técnica →").
 * .story-thumb img.is-missing — gray placeholder; set via site.js on error (shows alt text).
 */

body.site{
  background:var(--fundo-2);
  font-family:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  color:var(--texto);
  -webkit-font-smoothing:antialiased;
}

.site-top{
  position:sticky;top:0;z-index:50;
  background:var(--preto);color:#fff;
  display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;
  padding:12px 24px;border-bottom:1px solid var(--grafite-2);
  min-height:53px;
}
.site-top--tech{background:#0B0B0C;border-bottom-color:#17181B;box-shadow:inset 0 -3px 0 #BDCC02}
.site-top .top-kicker{font:700 11px/1 Inter,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#BDCC02;background:#17181B;border:1px solid #2A2B30;border-radius:999px;padding:4px 10px;white-space:nowrap}
.site-top a.brand{color:#fff;text-decoration:none;font-weight:800;font-size:16px;display:flex;align-items:center;gap:10px;letter-spacing:-.02em}
.site-top a.brand i{font-style:normal;background:var(--lima);color:var(--preto);border-radius:var(--radius-sm);padding:3px 7px;font-size:12px;font-weight:800}
.site-top--tech a.brand i{background:#BDCC02;color:#0B0B0C}
.site-top a.brand em{font-style:normal;color:var(--lima)}
.site-top--tech a.brand em{color:#BDCC02}
.site-top .grow{flex:1;min-width:8px}
.site-top a.top-link{color:#D2D2D7;text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--grafite-3);border-radius:999px;padding:5px 12px;white-space:nowrap}
.site-top a.top-link:hover{border-color:var(--lima);color:#fff}
.site-top--tech a.top-link:hover{border-color:#BDCC02;color:#fff}
.beesy-top{display:inline-flex;align-items:center;gap:8px;padding-left:4px}
.beesy-top-lbl{font-size:11px;font-weight:600;color:#ADADAD;letter-spacing:.02em;white-space:nowrap}
.beesy-top img{display:block;height:30px;width:auto}
.site-top button.menu{display:none;background:none;border:1px solid var(--grafite-3);color:#fff;border-radius:var(--radius-sm);padding:4px 10px}

.site-grid{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 53px)}
.site-nav{background:var(--fundo);border-right:1px solid var(--linha);padding:18px 12px;position:sticky;top:53px;height:calc(100vh - 53px);overflow:auto;box-shadow:var(--shadow-xs,0 1px 0 rgb(0 0 0 / .04))}
.site-nav.site-nav--tech{background:#17181B;border-right-color:#2A2B30}
.site-nav.site-nav--tech small{color:#ADADAD}
.site-nav.site-nav--tech a{color:#E5E5EA}
.site-nav.site-nav--tech a b{color:#8E8E93}
.site-nav.site-nav--tech a:hover{background:#0B0B0C}
.site-nav.site-nav--tech a.on{background:#0B0B0C;color:#BDCC02;font-weight:700;box-shadow:inset 3px 0 0 #BDCC02}
.site-nav.site-nav--tech a.on b{color:#BDCC02}
.site-nav a.track-switch{display:flex;gap:10px;align-items:center;padding:10px 12px;margin-bottom:4px;border-radius:var(--radius-sm);font-weight:700;font-size:13px;text-decoration:none;background:var(--preto);color:var(--lima);border:1px solid var(--grafite-3)}
.site-nav a.track-switch b{font-size:14px;min-width:auto}
.site-nav a.track-switch:hover{border-color:var(--lima);color:#fff}
.site-nav.site-nav--tech a.track-switch{background:#0B0B0C;color:#BDCC02;border-color:#2A2B30}
.site-nav.site-nav--tech a.track-switch:hover{border-color:#BDCC02;color:#fff}
.site-nav a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);color:var(--texto);text-decoration:none;font-size:14px;font-weight:500}
.site-nav a b{font:700 11px/1 ui-monospace,monospace;color:var(--texto-2);min-width:18px}
.site-nav a:hover{background:var(--fundo-2)}
.site-nav a.on{background:var(--lima-claro);font-weight:700;color:var(--texto)}
.site-nav a.on b{color:var(--oliva)}
.site-nav .sep{height:1px;background:var(--linha);margin:10px 6px}
.site-nav.site-nav--tech .sep{background:#2A2B30}
.site-nav small{display:block;padding:4px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto-2)}

body.track-tecnico .page-hero .kicker,body.track-tecnico .page .kicker{color:#5B6400}
body.track-tecnico .page-foot a{color:#5B6400}

.track-dual{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:8px}
.track-dual .track-card{display:block;background:#fff;border:2px solid var(--linha);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--texto);transition:border-color .15s,box-shadow .15s}
.track-dual .track-card:hover{border-color:var(--lima);box-shadow:var(--shadow)}
.track-dual .track-card--tech{background:#0B0B0C;border-color:#17181B;color:#E5E5EA}
.track-dual .track-card--tech:hover{border-color:#BDCC02;box-shadow:0 8px 24px rgb(0 0 0 / .35)}
.track-dual .track-card b{display:block;font-size:17px;margin-bottom:6px}
.track-dual .track-card--tech b{color:#BDCC02}
.track-dual .track-card p{margin:0;font-size:14px;line-height:1.55;color:var(--texto-2)}
.track-dual .track-card--tech p{color:#ADADAD}

.page{max-width:1000px;padding:32px 40px 80px;display:grid;gap:28px}
.page-hero{display:grid;gap:0}
.page-hero h1{font-size:clamp(26px,4vw,32px);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--texto);max-width:820px}
.page-hero .kicker,.page .kicker{font:700 12px/1.2 Inter,"Segoe UI",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--oliva);margin-bottom:10px}
.lead{font-size:17px;line-height:1.65;color:var(--texto-2);max-width:780px;margin-top:12px}
.hero-beesy{display:flex;align-items:center;gap:14px;margin-top:20px;padding:14px 18px;background:#fff;border:1px solid var(--linha);border-radius:var(--radius);box-shadow:var(--shadow);max-width:640px}
.hero-beesy strong{display:block;font-size:14px;color:var(--texto)}
.hero-beesy p{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--texto-2)}
.hero-beesy img{flex:none;height:52px;width:auto}

.page section > h2{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:10px;color:var(--texto)}
.page section > p{max-width:780px;margin-bottom:10px;color:var(--texto);line-height:1.6}
.page section h3{margin:4px 0 6px;font-weight:700}

.callout{border-left:4px solid var(--lima);background:#fff;border-radius:0 var(--radius) var(--radius) 0;padding:14px 18px;box-shadow:var(--shadow-xs,0 1px 2px rgb(0 0 0 / .04))}
.callout.info{border-color:var(--azul)} .callout.warn{border-color:#E0A800} .callout.bad{border-color:var(--verm)}
.callout b:first-child{display:block;margin-bottom:2px}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.card-link{display:block;background:#fff;border:1px solid var(--linha);border-radius:var(--radius);padding:16px;color:var(--texto);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.card-link:hover{border-color:var(--lima);box-shadow:var(--shadow)}
.card-link .ico{font-size:22px;margin-bottom:6px;display:block}
.card-link b{display:block;font-size:15px;font-weight:700}
.card-link small{display:block;margin-top:4px;color:var(--texto-2);line-height:1.45}
.box{background:#fff;border:1px solid var(--linha);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-xs,0 1px 2px rgb(0 0 0 / .04))}

.means{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 16px;align-items:start;background:var(--lima-claro);border:1px solid var(--lima);border-radius:var(--radius);padding:16px 18px}
.means-ico{font-size:28px;line-height:1}
.means-title{font:800 15px/1.3 Inter,system-ui,sans-serif;color:var(--texto);margin:0 0 4px}
.means p{margin:0;font-size:14px;line-height:1.55;color:var(--texto-2);grid-column:2}

.story-flow{display:grid;gap:0;position:relative;padding-left:28px;border-left:3px solid var(--linha)}
.story-step{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:20px 24px;padding:24px 0 28px;position:relative}
.story-step::before{content:"";position:absolute;left:-31px;top:32px;width:14px;height:14px;border-radius:50%;background:var(--preto);border:3px solid var(--lima);box-shadow:0 0 0 2px var(--fundo-2)}
.story-num{position:absolute;left:-28px;top:24px;font:800 11px/14px ui-monospace,monospace;color:var(--lima);background:var(--preto);width:20px;text-align:center;border-radius:4px}
.story-thumb{display:block;width:min(100%,480px);aspect-ratio:16/10;background:#E4E4E8;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;position:relative}
.story-thumb img{width:100%;height:100%;object-fit:cover;display:block;background:#E4E4E8}
.story-thumb img.is-missing{object-fit:none;width:100%;height:100%;padding:24px;box-sizing:border-box;font-size:13px;font-weight:700;color:#6B6B70;text-align:center;content:attr(alt)}
.story-body{display:grid;gap:10px;align-content:start}
.story-body > div{font-size:14px;line-height:1.55}
.story-happens::before,.story-who::before,.story-sees::before,.story-result::before{display:block;font:700 11px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--oliva);margin-bottom:2px}
.story-happens::before{content:"O que acontece"}
.story-who::before{content:"Quem faz"}
.story-sees::before{content:"O que a pessoa vê"}
.story-result::before{content:"Resultado"}
.story-cta{display:inline-flex;margin-top:6px;font-size:13px;font-weight:700;color:var(--oliva);text-decoration:none}
.story-cta:hover{color:var(--texto)}

.flow-card{background:#fff;border:1px solid var(--linha);border-radius:var(--radius);padding:16px 18px;display:grid;gap:8px;box-shadow:var(--shadow-xs,0 1px 2px rgb(0 0 0 / .04))}
.flow-card-title{font:800 16px/1.25 Inter,sans-serif;margin:0}
.flow-audience,.flow-outcome{font-size:14px;line-height:1.5;color:var(--texto-2);margin:0}
.flow-epic{display:inline-block;font:700 11px/1 ui-monospace,monospace;background:var(--preto);color:var(--lima);padding:3px 8px;border-radius:999px;width:fit-content}
.flow-steps{font-size:13px;color:var(--texto-2)}

figure.diagram{margin:0;background:#fff;border:1px solid var(--linha);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-xs,0 1px 2px rgb(0 0 0 / .04))}
figure.diagram [data-zoom],figure.diagram img,figure.diagram svg{cursor:zoom-in;max-width:100%;height:auto;display:block;margin:0 auto}
figure.diagram figcaption{margin-top:10px;font-size:13px;color:var(--texto-2);text-align:center}
figure.diagram .diagram-open{display:inline-block;margin-top:6px;font-size:13px;font-weight:600;color:#5B6400}

.lightbox{position:fixed;inset:0;z-index:200;background:rgb(11 11 12 / .92);display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.on{display:flex}
.lightbox img{max-width:min(96vw,1400px);max-height:90vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 16px 48px rgb(0 0 0 / .5)}
.lightbox-close{position:absolute;top:16px;right:20px;background:#17181B;border:1px solid #2A2B30;color:#BDCC02;font-size:28px;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer}
.lightbox--svg .lightbox-svg{background:#fff;padding:16px;border-radius:var(--radius-sm);max-width:96vw;max-height:90vh;overflow:auto}
body.lightbox-open{overflow:hidden}

.res-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--linha);border-radius:var(--radius);overflow:hidden}
.res-table th,.res-table td{border-bottom:1px solid var(--linha);padding:10px 12px;text-align:left;vertical-align:top}
.res-table th{background:var(--fundo);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--texto-2)}
.res-table .res-now{background:var(--lima-claro)}
.res-table .res-future{color:var(--texto-2);font-style:italic}

.timeline-epics{overflow-x:auto;padding:8px 0 12px}
.timeline-epics-track{display:flex;gap:0;min-width:640px}
.timeline-epic{flex:1;text-align:center;padding:12px 8px;background:#fff;border:1px solid var(--linha);border-right:none;font:700 13px/1.3 Inter,sans-serif;position:relative}
.timeline-epic:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.timeline-epic:last-child{border-right:1px solid var(--linha);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.timeline-epic b{display:block;font:800 18px/1 ui-monospace,monospace;color:var(--oliva);margin-bottom:4px}
.timeline-epic.mvp{background:var(--lima-claro);border-color:var(--lima)}

.api-card{background:#fff;border:1px solid var(--linha);border-left:4px solid #BDCC02;border-radius:var(--radius);padding:14px 16px;display:grid;gap:6px}
.api-card .api-name{font:800 15px/1.3 Inter,sans-serif;margin:0}
.api-card .api-meta{font-size:13px;color:var(--texto-2);line-height:1.45}
.api-card .api-direction{font:600 12px/1 ui-monospace,monospace;color:#5B6400}
.api-card .api-status{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:#17181B;color:#BDCC02;width:fit-content}

.tech-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#5B6400;text-decoration:none;border-bottom:1px solid transparent}
.tech-link:hover{border-bottom-color:#BDCC02;color:var(--texto)}

.steps-v{counter-reset:s;display:grid;gap:10px}
.steps-v > li{list-style:none;counter-increment:s;background:#fff;border:1px solid var(--linha);border-radius:var(--radius);padding:14px 16px 14px 56px;position:relative}
.steps-v > li::before{content:counter(s);position:absolute;left:16px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--preto);color:var(--lima);font:700 13px/26px Inter,system-ui,sans-serif;text-align:center}
.steps-v > li .go{font-size:12px;margin-top:6px;display:inline-block}

details.tech{background:var(--grafite);color:#E5E5EA;border-radius:var(--radius);padding:0;border:1px solid var(--grafite-2)}
details.tech > summary{cursor:pointer;list-style:none;padding:12px 16px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--lima)}
details.tech > summary::-webkit-details-marker{display:none}
details.tech > summary::before{content:"▸";transition:transform .15s}
details.tech[open] > summary::before{transform:rotate(90deg)}
details.tech > .tech-body{padding:0 16px 16px;font-size:13px;line-height:1.6}
details.tech a{color:var(--lima)}
details.tech code{background:var(--grafite-3);border-radius:4px;padding:1px 5px;color:#fff}
details.tech table{width:100%;border-collapse:collapse;margin:8px 0}
details.tech th,details.tech td{border-bottom:1px solid var(--grafite-3);padding:6px 8px;text-align:left;vertical-align:top}

.sim{background:#fff;border:1px solid var(--linha);border-radius:var(--radius);padding:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;box-shadow:var(--shadow-xs,0 1px 2px rgb(0 0 0 / .04))}
.sim .inputs{display:grid;gap:10px;align-content:start}
.sim label{display:grid;gap:4px;font-size:13px;font-weight:600}
.sim input,.sim select{border:1px solid var(--linha);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;background:#fff}
.sim .out{background:var(--preto);color:#fff;border-radius:var(--radius-sm);padding:16px;display:grid;gap:8px;align-content:start}
.sim .out .big{font-size:26px;font-weight:800;color:var(--lima)}
.sim .out .line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#D2D2D7;border-bottom:1px solid var(--grafite-3);padding-bottom:6px}
.sim .out .line b{color:#fff}
.sim .out .why{font-size:12px;color:#BDBDC2}

.timeline{display:grid;gap:10px}
.timeline .ep{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px;background:#fff;border:1px solid var(--linha);border-radius:var(--radius);padding:14px}
.timeline .ep .tag{font:800 20px/1 Inter,system-ui,sans-serif;color:var(--texto-2)}
.timeline .ep.mvp{border-color:var(--lima);box-shadow:inset 4px 0 0 var(--lima)}
.timeline .ep.mvp .tag{color:var(--oliva)}

abbr[data-term]{text-decoration:underline dotted var(--oliva);text-underline-offset:3px;cursor:help;position:relative}
.gloss-tip{position:fixed;z-index:100;max-width:320px;background:var(--preto);color:#fff;font-size:13px;line-height:1.5;padding:10px 12px;border-radius:var(--radius-sm);box-shadow:var(--shadow);pointer-events:none}
.gloss-tip b{color:var(--lima);display:block;margin-bottom:2px}

.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filters input{flex:1;min-width:220px;border:1px solid var(--linha);border-radius:var(--radius-sm);padding:8px 10px;font:inherit;background:#fff}
.chip{border:1px solid var(--linha);background:#fff;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;font-weight:500}
.chip.on{background:var(--preto);color:var(--lima);border-color:var(--preto)}

.page-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--linha);padding-top:16px;font-size:14px;margin-top:8px}
.page-foot a{text-decoration:none;font-weight:600;color:var(--oliva)}
.page-foot a:hover{color:var(--texto)}

.site-foot{margin-top:28px;padding-top:20px;border-top:1px solid var(--linha);display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.site-foot img{height:40px;width:auto;display:block}
.site-foot p{margin:0;font-size:12px;line-height:1.5;color:var(--texto-2);flex:1;min-width:200px}

@media (max-width:900px){
  .site-grid{grid-template-columns:1fr}
  .site-nav{display:none;position:fixed;top:53px;left:0;right:0;height:auto;max-height:70vh;z-index:40;border-bottom:1px solid var(--linha)}
  body.nav-open .site-nav{display:block}
  .site-top button.menu{display:block}
  .beesy-top-lbl{display:none}
  .page{padding:24px 18px 64px}
  .sim{grid-template-columns:1fr}
  .story-step{grid-template-columns:1fr}
}
@media print{.site-top,.site-nav,.beesy-top,.site-foot,.lightbox{display:none}.site-grid{display:block}details.tech{display:block}}
