@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lato-400.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/lato-700.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:normal;font-weight:900;font-display:swap;src:url('../fonts/lato-900.woff2') format('woff2');}
@font-face{font-family:'Lato';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/lato-700-italic.woff2') format('woff2');}

:root{
  --navy:#2D3154;
  --navy-deep:#20233F;
  --navy-soft:#3B4079;
  --orange:#F7931E;
  --orange-deep:#DD7E0A;
  --periwinkle:#627AB6;
  --paper:#FFFFFF;
  --panel:#F2F1ED;
  --ink:#2D3154;
  --ink-soft:#6B7280;
  --rule:rgba(45,49,84,0.14);
  --on-navy:#FFFFFF;
  --on-navy-soft:rgba(255,255,255,0.7);
  --on-navy-rule:rgba(255,255,255,0.18);
  --font:'Lato',ui-sans-serif,system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font);font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  max-width:100vw;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
.container{max-width:1170px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem);}
.full-bleed{width:100%;}

h1,h2,h3{font-family:var(--font);margin:0;text-wrap:balance;font-weight:900;}
h2{font-size:clamp(1.8rem,1.3rem + 2.2vw,2.5rem);letter-spacing:-0.01em;}
h3{font-size:1.3rem;font-weight:700;}
p{margin:0;}
.prose{max-width:700px;}
.prose + .prose{margin-top:1.15em;}
.body-text{color:var(--ink-soft);font-size:1.0625rem;}
.body-text + .body-text{margin-top:1.1em;}
.tnum{font-variant-numeric:tabular-nums;}

.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-weight:700;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--orange);
}
.eyebrow::before,.eyebrow::after{content:"";width:1.4em;height:2px;background:var(--orange);flex:none;}
.lede-italic{font-style:italic;font-weight:700;font-size:clamp(1.05rem,1rem + 0.5vw,1.3rem);color:var(--ink);line-height:1.45;}

/* ---- buttons (flat, sharp corners) ---- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-weight:700;font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;
  padding:0.95em 1.7em;border:2px solid transparent;cursor:pointer;text-decoration:none;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-deep);}
.btn-outline-navy{border-color:var(--navy);color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:#fff;}
.btn-outline-light{border-color:var(--on-navy-rule);color:#fff;}
.btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,0.08);}
.btn-sm{padding:0.7em 1.2em;font-size:0.72rem;}

/* ---- topbar ---- */
.topbar{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem 1rem;
  padding:0.85rem clamp(1.25rem,4vw,3rem);
  background:var(--navy);
}
.topbar img{height:42px;width:auto;flex:none;}
.topbar .btn{flex-shrink:0;}

/* ---- open-corner frame (reused device) ---- */
.frame{
  position:relative;
  padding:1.1em 1.4em;
  display:inline-block;
}
.frame::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  --fl:var(--orange);
  background:
    linear-gradient(var(--fl),var(--fl)) top 0 left 22px / calc(100% - 22px) 2px no-repeat,
    linear-gradient(var(--fl),var(--fl)) top right / 2px calc(100% - 22px) no-repeat,
    linear-gradient(var(--fl),var(--fl)) bottom left / calc(100% - 22px) 2px no-repeat,
    linear-gradient(var(--fl),var(--fl)) bottom left / 2px calc(100% - 22px) no-repeat;
}

/* ---- responsive 2-column split (hero, contexto, facilitador, conteúdo, público) ---- */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2.5rem,5vw,4rem);align-items:center;}
.split > *{min-width:0;}
.split.even{grid-template-columns:1fr 1fr;}
.split.reverse{grid-template-columns:1fr 1.1fr;}
.split.speaker{grid-template-columns:minmax(0,320px) 1fr;align-items:start;}
@media (max-width:840px){
  .split,.split.even,.split.reverse,.split.speaker{grid-template-columns:1fr;}
}

/* ---- sections ---- */
section,header.hero{padding-block:clamp(3.5rem,7vw,6rem);}
.on-navy{
  background:linear-gradient(150deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:var(--on-navy);
}
.on-panel{background:var(--panel);}

/* ---- stats (label/value pairs) ---- */
.stats-row{display:flex;flex-wrap:wrap;gap:2.25rem;}
.stat-value{font-weight:900;font-size:1.4rem;line-height:1;}
.stat-label{margin-top:0.45rem;font-size:0.7rem;line-height:1.3;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);}
.on-navy .stat-label{color:var(--on-navy-soft);}

/* ---- photo + offset navy card combo ---- */
.combo{position:relative;margin:0 1.75rem 1.75rem 0;}
.combo-photo{position:relative;}
.combo-card{
  position:absolute;right:-1.75rem;bottom:-1.75rem;
  width:min(78%,300px);
  background:linear-gradient(155deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:var(--on-navy);padding:1.5rem 1.6rem;
}
.combo-card .stat-value{font-size:1.15rem;}
@media (max-width:640px){
  .combo{margin:0;}
  .combo-card{position:static;width:100%;margin-top:1rem;}
}

/* ---- numbered rows ---- */
.num-row{display:flex;align-items:baseline;gap:1.5rem;padding:1.4rem 0;border-top:1px solid var(--rule);}
.num-row:last-child{border-bottom:1px solid var(--rule);}
.num-index{font-weight:900;font-size:1.35rem;color:var(--periwinkle);width:2.75rem;flex:none;}
.num-title{font-weight:700;font-size:1.05rem;}

/* ---- requirement flat panels + icon badges ---- */
.req-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem;}
@media (max-width:760px){ .req-grid{grid-template-columns:1fr;} }
.req-item{background:var(--panel);padding:2rem 1.75rem;}
.badge-icon{width:50px;height:50px;background:var(--navy);display:flex;align-items:center;justify-content:center;}
.badge-icon svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.req-title{margin-top:1.15rem;font-weight:700;font-size:1.05rem;}
.req-desc{margin-top:0.45rem;color:var(--ink-soft);font-size:0.92rem;}

/* ---- method flow ---- */
.flow-track{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;position:relative;}
.flow-track::before{content:"";position:absolute;left:0;right:0;top:15px;height:1px;background:var(--on-navy-rule);}
.flow-step{position:relative;flex:1;display:flex;flex-direction:column;gap:0.85rem;min-width:0;}
.flow-node{width:31px;height:31px;border:2px solid var(--orange);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:0.75rem;color:var(--orange);background:var(--navy);flex:none;}
.flow-label{font-weight:700;font-size:1rem;}
@media (max-width:820px){
  .flow-track{flex-direction:column;gap:1.5rem;}
  .flow-track::before{left:15px;right:auto;top:0;bottom:0;width:1px;height:auto;}
  .flow-step{flex-direction:row;align-items:center;}
}

/* ---- final CTA panel (single centered column) ---- */
.cta-center{max-width:640px;margin-inline:auto;text-align:center;}
.cta-center .eyebrow{justify-content:center;}
.cta-center .prose{margin-inline:auto;}
.cta-panel{
  margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;
  padding-top:2.25rem;border-top:1px solid var(--on-navy-rule);
}
.btn-lg{padding:1.15em 2.4em;font-size:0.9rem;}
.cta-note{margin-top:1.5rem;font-size:0.9rem;color:var(--on-navy-soft);max-width:60ch;margin-inline:auto;}

/* ---- footer ---- */
footer{background:linear-gradient(150deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2.5rem;padding-block:clamp(2.5rem,5vw,3.5rem);}
.foot-block{display:flex;flex-direction:column;align-items:flex-start;gap:0.9rem;}
.foot-label{font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--on-navy-soft);}
.sellmaq-plate{background:#fff;padding:0.7rem 1rem;width:fit-content;}
.sellmaq-plate img{height:20px;width:auto;}
.foot-bottom{
  border-top:1px solid var(--on-navy-rule);padding:1.1rem clamp(1.25rem,4vw,3rem);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;
  font-size:0.75rem;color:var(--on-navy-soft);
}
.foot-bottom a{text-decoration:underline;}

::selection{background:var(--orange);color:#fff;}
