:root{
  --font-display:'Newsreader',Georgia,'Times New Roman',serif;
  --font-body:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;

  --white:#ffffff;
  --pearl:#FFF9F7;
  --lilac:#F7F1F8;
  --line:#E9DBE7;
  --line-strong:#D8C7D9;

  --ink:#2C1D49;
  --muted:#655B78;

  --plum-deep:#2C1D49;
  --plum:#38265B;
  --plum-mid:#4A356C;

  --violet:#836DAE;
  --violet-lt:#A897C9;
  --violet-soft:#C9BDDD;
  --violet-mist:#F4EEF7;

  --gold:#F5D5CA;
  --gold-lt:#FFEAE3;
  --gold-dk:#836DAE;
  --gold-ink:#604B86;
  --gold-mist:#FCEDE8;

  --dtext:#FFF9F7;
  --dmuted:rgba(245,213,202,.74);
  --dline:rgba(245,213,202,.24);

  --bg-1:var(--pearl);
  --bg-2:var(--white);
  --bg-3:var(--lilac);

  /* Escala de raio, sombra, duração e curva — usadas pelo refactor de
     procedimentos/back-button (engine-refactor.css). Sem elas, var()
     fica inválido e as propriedades caem no valor inicial (raio 0,
     sem sombra, sem duração de transição). */
  --radius-lg:18px;
  --radius-full:999px;
  --shadow-sm:0 8px 24px rgba(44,29,73,.10);
  --duration-slow:.6s;
  --ease:cubic-bezier(.16,1,.3,1);
  --bg-dark:var(--plum-deep);
  --bg-dark-2:var(--plum);
}
[data-pal="claro"]{--bg-1:#ffffff;--bg-2:#FFF9F7;--bg-3:#F7F1F8}
[data-pal="noite"]{
  --bg-1:#38265B;--bg-2:#2C1D49;--bg-3:#4A356C;--bg-dark:#24173D;--bg-dark-2:#38265B;
  --ink:#FFF9F7;--muted:rgba(245,213,202,.74);
  --line:rgba(245,213,202,.18);--line-strong:rgba(245,213,202,.32);
  --violet:#C9BDDD;--violet-lt:#E0D8EB;--gold:#F5D5CA;--gold-dk:#FFEAE3;
  --white:#2C1D49;--pearl:#38265B;--lilac:#4A356C;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-1);color:var(--ink);font-family:var(--font-body);font-weight:300;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font-family:inherit}
::selection{background:var(--gold);color:#ffffff}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
img{max-width:100%}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--bg-3)}
::-webkit-scrollbar-thumb{background:var(--violet-soft)}

.wrap{max-width:1440px;margin:0 auto}
.sec{padding:clamp(74px,8.5vw,128px) clamp(20px,4vw,40px)}
.sec-sm{padding:clamp(52px,6vw,86px) clamp(20px,4vw,40px)}
.dark,.dark-2{
  --ink:var(--dtext);
  --muted:var(--dmuted);
  --line:var(--dline);
  --line-strong:rgba(245,213,202,.32);
  --bg-3:rgba(245,213,202,.055);
  --gold:var(--gold-lt);
  --gold-dk:var(--gold-lt);
  --gold-ink:var(--gold-lt);
  --gold-mist:rgba(245,213,202,.10);
  --violet:var(--violet-soft);
  --violet-lt:var(--violet-soft);
  --violet-mist:rgba(131,109,174,.13);
  color:var(--dtext);
}
.dark{background:var(--bg-dark);--bg-2:var(--bg-dark)}
.dark-2{background:var(--bg-dark-2);--bg-2:var(--bg-dark-2)}
.tint{background:var(--bg-3)}
.paper{background:var(--bg-2)}

.eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 26px}
.eyebrow::before{content:"";display:block;width:38px;height:1px;background:var(--gold);flex:0 0 auto}

.d1{font-family:var(--font-display);font-weight:200;font-size:clamp(42px,5.9vw,84px);line-height:1.02;letter-spacing:-.025em;margin:0}
.d2{font-family:var(--font-display);font-weight:300;font-size:clamp(31px,3.8vw,54px);line-height:1.08;letter-spacing:-.022em;margin:0}
.d3{font-family:var(--font-display);font-weight:400;font-size:clamp(21px,2.1vw,31px);line-height:1.14;letter-spacing:-.012em;margin:0}
.d4{font-family:var(--font-display);font-weight:400;font-size:19px;line-height:1.28;letter-spacing:-.005em;margin:0}
.num{font-family:var(--font-display);font-weight:200;line-height:1;letter-spacing:-.03em}
.it{font-style:italic;font-weight:300}

.lead{font-size:clamp(15.5px,1.2vw,18.5px);line-height:1.72;font-weight:300;color:var(--muted);margin:0}
.body{font-size:16px;line-height:1.78;font-weight:300;margin:0}
.small{font-size:13.5px;line-height:1.65;font-weight:300;color:var(--muted);margin:0}
.mono{font-family:var(--font-mono);font-size:10.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mono-g{font-family:var(--font-mono);font-size:10.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.fine{font-size:12px;line-height:1.65;font-weight:300;color:var(--muted);margin:0}

.b{background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:54px;padding:16px 28px;font-size:11.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;transition:background .35s ease,color .35s ease,border-color .35s ease;text-align:center}
.b-gold{background:var(--gold);color:#2C1D49}
.b-gold:hover{background:#2C1D49;color:var(--gold-lt);border-color:var(--gold)}
.b-ink{background:var(--ink);color:var(--bg-1)}
.b-ink:hover{background:var(--violet)}
.b-line{border-color:var(--line-strong);color:var(--ink)}
.b-line:hover{border-color:var(--gold);color:var(--gold-dk);background:var(--bg-3)}
.b-dline{border-color:var(--dline);color:var(--dtext)}
.b-dline:hover{border-color:var(--gold);color:var(--gold-lt);background:rgba(245,213,202,.08)}
.b-sm{min-height:46px;padding:13px 22px;font-size:11px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}

/* Link "pular para o conteúdo": some do fluxo/da tela até receber foco por
   teclado (padrão de acessibilidade). Sem isso ele ocupa altura real no
   topo do body, empurra o <main> para baixo e some visualmente atrás do
   header transparente — some porque tem fundo transparente sobre um body
   claro, exatamente o "vazio branco" atrás do header que deveria mostrar
   o herói. */
.skip-link{position:absolute;top:0;left:0;width:1px;height:1px;min-height:0;min-width:0;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;z-index:200}
.skip-link:focus{position:fixed;top:16px;left:16px;width:auto;height:auto;min-height:46px;padding:13px 22px;
  margin:0;overflow:visible;clip:auto;white-space:normal;background:var(--bg-1)}

.link{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-size:11.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:8px;transition:color .3s ease,gap .3s ease}
.link:hover{color:var(--gold-dk);gap:16px}

.hair{display:grid;gap:1px;background:var(--line)}
.hair>*{background:var(--bg-2)}
.tint .hair>*{background:var(--bg-3)}

.rows{display:grid;border-top:1px solid var(--line)}
.row{padding:15px 0;border-bottom:1px solid var(--line)}
.kv{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.kv>span:last-child{text-align:right}

.card{background:var(--bg-2);border:1px solid var(--line)}

.gframe,.ptint{position:relative}
.gframe::after{content:"";position:absolute;inset:0;border:1px solid rgba(245,213,202,.45);pointer-events:none}

.ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border:1px solid var(--line-strong);background:var(--gold-mist);color:var(--gold-ink);transition:background .35s ease,border-color .35s ease,color .35s ease}
.ico svg{width:19px;height:19px}
.ico-sm{width:34px;height:34px}
.ico-sm svg{width:15px;height:15px}
.ico-v{background:var(--violet-mist);color:var(--violet);border-color:var(--line-strong)}
.icard{display:flex;flex-direction:column;gap:13px;transition:background .4s ease}
.icard:hover{background:var(--gold-mist)}
.icard:hover .ico{background:var(--gold);color:#2C1D49;border-color:var(--gold)}

.stat{position:relative;display:flex;flex-direction:column;gap:16px;padding:40px 26px 44px;transition:background .45s ease}
.stat:hover{background:rgba(245,213,202,.12)}
.stat-v{font-family:var(--font-display);font-weight:200;font-size:clamp(32px,3.5vw,50px);line-height:1;letter-spacing:-.03em;color:var(--dtext)}
.stat-u{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);margin-left:2px}
.stat-r{width:26px;height:1px;background:var(--gold);transition:width .45s ease}
.stat:hover .stat-r{width:52px}

.tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--line-strong);color:var(--muted)}
.tag-g{border-color:var(--gold);color:var(--gold-ink)}

.pick{text-align:left;background:transparent;border:0;cursor:pointer;color:inherit;font-family:inherit;transition:background .3s ease,color .3s ease,border-color .3s ease}
.pick:hover{background:rgba(110,78,170,.06)}
.dark .pick:hover,.dark-2 .pick:hover{background:rgba(245,213,202,.07)}

.fld{display:flex;flex-direction:column;gap:9px}
.fld>input{min-height:54px;background:transparent;border:1px solid var(--dline);color:var(--dtext);padding:15px 17px;font-size:15px;font-weight:300}
.fld>input::placeholder{color:rgba(255,249,247,.42)}
.fld>input:focus{outline:none;border-color:var(--gold)}

.chip{min-height:46px;padding:12px 20px;cursor:pointer;font-size:12.5px;font-weight:400;letter-spacing:.02em;border:1px solid;transition:background .3s ease,color .3s ease,border-color .3s ease}

.hdr{position:fixed;top:0;left:0;right:0;z-index:80;backdrop-filter:blur(18px);transition:background .45s ease,border-color .45s ease}
.hdr-in{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,40px);height:80px;display:flex;align-items:center;gap:clamp(16px,3vw,44px)}
.navlink{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 0;border-bottom:1px solid transparent;transition:border-color .3s ease,color .3s ease}
.navlink:hover{border-bottom-color:var(--gold);color:var(--gold)}

.glow{position:relative;overflow:hidden}
.glow::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(84% 70% at 86% 4%,rgba(140,110,190,.30) 0%,transparent 62%)}
.glow-g::before{background:radial-gradient(80% 68% at 10% 100%,rgba(245,213,202,.22) 0%,transparent 60%),radial-gradient(70% 60% at 92% 0%,rgba(131,109,174,.28) 0%,transparent 62%)}
.glow>*{position:relative;z-index:1}

.quote{font-family:var(--font-display);font-size:54px;line-height:.7;color:var(--gold);opacity:.5}

.hero{position:relative;min-height:min(96svh,900px);display:flex;overflow:hidden;background:var(--plum-deep)}

/* nitido enquanto o video roda; o blur so entra depois que ele termina */
.hero-frame,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;
  filter:saturate(112%) brightness(.68);transform:scale(1.04);transition:filter 2.6s cubic-bezier(.4,0,.2,1)}
.hero-startframe{z-index:0}
.hero-video{z-index:1;opacity:0;transition:opacity 1.2s ease;animation:heroDrift 28s ease-in-out infinite alternate}
html[data-hero="playing"] .hero-video{opacity:1}
.hero-endframe{z-index:2;opacity:0;transition:opacity 1.1s ease,filter 2.6s cubic-bezier(.4,0,.2,1)}
html[data-hero="ended"] .hero-endframe{opacity:1}
html[data-hero="ended"] .hero-video{opacity:0}
html[data-hero-blur="on"] .hero-endframe{filter:blur(6px) saturate(112%) brightness(.58)}
@keyframes heroDrift{from{transform:scale(1.04)}to{transform:scale(1.12)}}

.hero-veil{position:absolute;inset:0;z-index:3;pointer-events:none;background:
  linear-gradient(180deg,rgba(40,23,74,.34) 0%,rgba(28,16,52,.26) 40%,rgba(19,10,34,.60) 100%),
  radial-gradient(120% 88% at 50% 46%,transparent 34%,rgba(15,8,27,.58) 100%)}

.hero-grid{position:relative;z-index:4;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:clamp(118px,15vh,178px) clamp(20px,4vw,40px) clamp(56px,8vh,100px)}
.hero-copy{display:flex;flex-direction:column;align-items:center;max-width:min(100%,1020px)}

.hero-h1{font-family:var(--font-display);font-weight:400;margin:0;
  font-size:clamp(44px,7.6vw,108px);line-height:.98;letter-spacing:-.032em;
  text-shadow:0 2px 40px rgba(12,6,22,.72),0 1px 4px rgba(12,6,22,.55)}
.hero-h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}
.hero-h1 .ln>i{display:block;font-style:normal;transform:translateY(108%);opacity:0;
  animation:hLine 1.35s cubic-bezier(.16,1,.3,1) var(--d) forwards}
.hero-h1 em{font-style:italic;font-weight:500;color:var(--gold-lt)}

/* descricao colada no titulo */
.hero-sub{font-size:clamp(15.5px,1.25vw,19px);line-height:1.62;font-weight:400;color:rgba(255,249,247,.94);
  margin:clamp(10px,1.4vh,16px) 0 0;max-width:58ch;text-shadow:0 1px 18px rgba(12,6,22,.8);
  opacity:0;animation:hFade 1.1s cubic-bezier(.16,1,.3,1) .92s forwards}

.hero-cta{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin-top:clamp(32px,4.6vh,50px);
  opacity:0;animation:hFade 1.1s cubic-bezier(.16,1,.3,1) 1.16s forwards}

@keyframes hLine{to{transform:none;opacity:1}}
@keyframes hFade{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

@media (max-width:760px){
  .hero-cta{width:100%;flex-direction:column;align-items:stretch}
  .hero-cta .b{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .hero-h1 .ln>i,.hero-cta,.hero-sub{opacity:1!important;transform:none!important;animation:none!important}
  .hero-video{animation:none!important}
}

.proc-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,3.4vw,60px);align-items:start}

.proc-rail{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proc-rail>button{flex:1 1 150px;min-height:70px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.proc-rail-n{font-family:var(--font-display);font-size:21px;font-weight:400;letter-spacing:-.01em}

.pcard{position:sticky;top:104px;align-self:start;overflow:hidden;
  background:linear-gradient(168deg,#4A356C 0%,#38265B 44%,#2C1D49 100%);
  border:1px solid rgba(245,213,202,.38);
  box-shadow:0 26px 64px rgba(40,21,78,.26);
  padding:clamp(22px,2.2vw,32px);display:flex;flex-direction:column;gap:22px}
.pcard::before{content:"";position:absolute;left:0;top:0;width:62%;height:2px;
  background:linear-gradient(90deg,var(--gold-lt),rgba(245,213,202,0));pointer-events:none}

.pcard-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.pcard-ficha{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(245,213,202,.24)}
.pcard-ficha>div{padding:15px 13px;display:flex;flex-direction:column;gap:8px;border-right:1px solid rgba(245,213,202,.24)}
.pcard-ficha>div:last-child{border-right:0}
.pcard .row{border-color:rgba(245,213,202,.18)}
.pcard .rows{border-color:rgba(245,213,202,.18)}

@media (max-width:1080px){
  .proc-grid{grid-template-columns:1fr}
  .pcard{position:static;top:auto}
}
@media (max-width:560px){
  .pcard-ficha{grid-template-columns:1fr}
  .pcard-ficha>div{border-right:0;border-bottom:1px solid rgba(245,213,202,.24)}
  .pcard-ficha>div:last-child{border-bottom:0}
}

.tex-diag{background-image:repeating-linear-gradient(115deg,rgba(245,213,202,.06) 0 1px,transparent 1px 14px)}
.tex-fine{background-image:repeating-linear-gradient(105deg,rgba(44,29,73,.05) 0 1px,transparent 1px 11px)}

[data-reveal]{opacity:1;transform:none}
@keyframes nsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes nsCue{0%{transform:translateY(0);opacity:.9}70%{transform:translateY(9px);opacity:.18}100%{transform:translateY(0);opacity:.9}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}}

.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4.5vw,80px)}
.g2a{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(32px,4.5vw,80px)}
.g2b{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,3.5vw,60px)}
.head2{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(24px,4vw,56px);flex-wrap:wrap}
.auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.stack{display:flex;flex-direction:column;gap:20px}

@media (max-width:1080px){
  .g2,.g2a,.g2b{grid-template-columns:1fr}
  .navwide{display:none!important}
  .burger{display:flex!important}
}
@media (max-width:760px){
  .d1{font-size:clamp(34px,9vw,46px)}
  .sec{padding:64px 20px}
  .hdr-in{height:70px}
  .cta-row{flex-direction:column;align-items:stretch}
  .cta-row .b{width:100%!important}
  .kv{flex-direction:column;align-items:flex-start;gap:5px}
  .kv>span:last-child{text-align:left}
}
