:root{
  --ink:#111319;
  --paper:#ECEDEA;
  --paper-lift:#F6F6F4;
  --ultra:#2A45C8;
  --ultra-lift:#6C82EE;
  --amber:#C8871A;
  --rule:rgba(17,19,25,.13);
  --rule-dark:rgba(236,237,234,.15);
  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --read:"Newsreader",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --pad:clamp(20px,5vw,80px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--read);font-size:clamp(16px,1.05vw,18px);line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
canvas{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--ultra);outline-offset:3px;border-radius:2px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--pad)}
.label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--paper);color:var(--ink);padding:10px 16px;font-family:var(--mono);font-size:12px}

/* header */
.masthead{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--paper);border-bottom:1px solid var(--rule-dark)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:66px}
.brand{display:flex;align-items:baseline;gap:12px;text-decoration:none}
.mark{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.24em}
.mark span{color:var(--ultra-lift)}
.brand small{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.45}
@media (max-width:560px){ .brand small{display:none} }
.nav{display:flex;gap:26px;align-items:center}
.nav a{font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-decoration:none;opacity:.7;transition:opacity .2s}
.nav a:hover{opacity:1}
@media (max-width:900px){ .nav a:not(.nav-cta){display:none} }
.nav-cta{border:1px solid var(--rule-dark);padding:7px 15px;border-radius:999px;opacity:1 !important}
.nav-cta:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* hero */
.hero{background:var(--ink);color:var(--paper);padding-block:clamp(56px,9vw,112px) 0;overflow:hidden}
.hero h1{
  font-family:var(--display);font-weight:500;
  font-size:clamp(34px,5.6vw,70px);line-height:1.05;letter-spacing:-.028em;
  margin:20px 0 0;max-width:19ch;text-wrap:balance;
}
.hero h1 em{font-style:normal;font-weight:800;color:var(--ultra-lift)}
.hero-lede{
  font-size:clamp(17px,1.5vw,20px);line-height:1.55;max-width:52ch;
  margin:24px 0 0;opacity:.76;font-weight:300;
}

/* signature band */
.band{margin-top:clamp(44px,6vw,80px);border-top:1px solid var(--rule-dark);padding-top:16px}
.band-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
#resolve{width:100%;height:clamp(150px,17vw,208px)}
.stages{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--rule-dark);
  padding-top:12px;padding-bottom:clamp(26px,4vw,44px);gap:10px;
}
.stage{font-family:var(--mono);font-size:11px;letter-spacing:.07em;opacity:.42;line-height:1.5}
.stage b{display:block;font-weight:500;color:var(--ultra-lift);opacity:.9;margin-bottom:3px}
.stage:last-child b{color:var(--amber)}
@media (max-width:760px){
  .stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .stage:last-child{grid-column:1/-1}
}

/* sections */
.section{padding-block:clamp(64px,9vw,120px)}
.section-head{
  display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);
  gap:clamp(16px,4vw,56px);align-items:baseline;
  border-top:1px solid var(--rule);padding-top:18px;margin-bottom:clamp(30px,5vw,54px);
}
@media (max-width:720px){ .section-head{grid-template-columns:1fr;gap:10px} }
.section-head h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(25px,3.3vw,40px);line-height:1.12;letter-spacing:-.022em;
  margin:0;max-width:24ch;text-wrap:balance;
}

/* ciclo */
.cycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media (max-width:980px){ .cycle{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .cycle{grid-template-columns:1fr} }
.step{background:var(--paper);padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:9px;transition:background .25s}
.step:hover{background:var(--paper-lift)}
.step .ord{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ultra)}
.step h3{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.01em;margin:2px 0 0}
.step p{margin:0;opacity:.7;font-size:15px;line-height:1.55}

/* atuação */
.fields{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.field{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;border:1px solid var(--rule);border-radius:999px;padding:8px 16px}
.field.now{border-color:var(--ultra);color:var(--ultra)}
.fields-note{font-family:var(--mono);font-size:11.5px;opacity:.5;margin-top:18px;line-height:1.7;max-width:66ch}

/* produtos */
.products{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.product{background:var(--paper);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,56px);padding:clamp(26px,3.4vw,46px)}
@media (max-width:820px){ .product{grid-template-columns:1fr;gap:18px} }
.product-id{display:flex;flex-direction:column;gap:13px}
.product-name{font-family:var(--display);font-weight:800;font-size:clamp(27px,3.4vw,42px);letter-spacing:-.032em;line-height:1;margin:0}
.status{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  border:1px solid var(--rule);border-radius:999px;padding:5px 12px;
}
.status.on{color:var(--ultra);border-color:rgba(42,69,200,.34)}
.status.soon{color:var(--amber);border-color:rgba(200,135,26,.4)}
.status i{width:6px;height:6px;border-radius:50%;background:currentColor;display:block}
.product-body p{margin:0 0 18px;font-size:16.5px;line-height:1.6;max-width:56ch}
.specs{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:7px}
.specs li{font-family:var(--mono);font-size:12.5px;padding-left:18px;position:relative;opacity:.7;line-height:1.5}
.specs li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--ultra)}
.cta{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;text-decoration:none;
  border:1px solid var(--ink);padding:11px 20px;border-radius:999px;
  transition:background .2s,color .2s;
}
.cta:hover{background:var(--ink);color:var(--paper)}
.cta.ghost{border-color:var(--rule)}
.cta.ghost:hover{border-color:var(--ink)}
.cta svg{transition:transform .2s}
.cta:hover svg{transform:translateX(3px)}

/* quem somos (dark) */
.about{background:var(--ink);color:var(--paper)}
.about .section-head{border-color:var(--rule-dark)}
.about-lead{
  font-size:clamp(20px,2.3vw,29px);line-height:1.38;font-weight:300;
  max-width:32ch;margin:0 0 clamp(30px,4vw,48px);
}
.about-lead b{font-weight:500;color:var(--ultra-lift)}
.about-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,68px);margin-bottom:clamp(44px,6vw,80px)}
@media (max-width:820px){ .about-cols{grid-template-columns:1fr} }
.about-cols p{margin:0 0 18px;font-size:17px;line-height:1.65;opacity:.8}
.about-cols p:last-child{margin-bottom:0}

/* a procura pelo nome */
.naming{border-top:1px solid var(--rule-dark);padding-top:clamp(28px,4vw,44px)}
.naming h3{
  font-family:var(--display);font-weight:500;font-size:clamp(21px,2.5vw,30px);
  letter-spacing:-.02em;line-height:1.2;margin:14px 0 clamp(24px,3vw,34px);max-width:28ch;
}
.candidates{list-style:none;padding:0;margin:0 0 clamp(28px,4vw,44px);border-top:1px solid var(--rule-dark)}
.candidates li{
  display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr) minmax(0,190px);
  gap:clamp(12px,3vw,36px);align-items:baseline;
  padding:15px 0;border-bottom:1px solid var(--rule-dark);
}
@media (max-width:760px){
  .candidates li{grid-template-columns:1fr;gap:5px;padding:16px 0}
}
.candidates .w{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.03em}
.candidates .m{font-family:var(--read);font-size:15.5px;opacity:.62;line-height:1.5}
.candidates .o{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.38;text-align:right}
@media (max-width:760px){ .candidates .o{text-align:left;margin-top:3px} }
.candidates li.kept{border-bottom-color:rgba(108,130,238,.4)}
.candidates li.kept .w{color:var(--ultra-lift)}
.candidates li.kept .o{color:var(--ultra-lift);opacity:.85}

.coin{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(24px,5vw,68px);align-items:start;
}
@media (max-width:820px){ .coin{grid-template-columns:1fr} }
.coin p{margin:0 0 18px;font-size:17px;line-height:1.65;opacity:.8}
.coin p:last-child{margin-bottom:0}
.coin strong{font-weight:500;opacity:1;color:var(--paper)}
.coin i{font-style:italic;color:var(--ultra-lift);opacity:.95}
.creed{
  border-left:1px solid var(--ultra-lift);padding-left:clamp(18px,2.5vw,28px);
  font-family:var(--display);font-weight:500;
  font-size:clamp(19px,2.1vw,26px);line-height:1.35;letter-spacing:-.015em;
}
.creed span{display:block;opacity:.42}
.creed span:last-child{opacity:1;color:var(--ultra-lift)}

/* contato */
.contact{border-top:1px solid var(--rule);padding-block:clamp(56px,8vw,96px)}
.contact-inner{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.contact h2{font-family:var(--display);font-weight:500;font-size:clamp(27px,4.2vw,52px);letter-spacing:-.025em;line-height:1.06;margin:14px 0 0;max-width:17ch}
.mailto{font-family:var(--display);font-weight:700;font-size:clamp(19px,2.3vw,29px);letter-spacing:-.02em;text-decoration:none;border-bottom:2px solid var(--ultra);padding-bottom:3px;transition:color .2s;word-break:break-word}
.mailto:hover{color:var(--ultra)}

/* footer */
footer{background:var(--ink);color:var(--paper);padding-block:38px}
.foot{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11.5px}
.foot .l{opacity:.42;line-height:1.75}
.foot nav{display:flex;gap:20px;flex-wrap:wrap}
.foot nav a{text-decoration:none;opacity:.6}
.foot nav a:hover{opacity:1}

/* motion */
.rise{opacity:0;transform:translateY(14px)}
.rise.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rise,.rise.in{opacity:1;transform:none;transition:none}
}

/* seletor de idioma */
.lang{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.1em}
.lang a{text-decoration:none;opacity:.42;transition:opacity .2s}
.lang a:hover{opacity:.8}
.lang a[aria-current="true"]{opacity:1;color:var(--ultra-lift)}
.lang span{opacity:.2}

/* logo do produto */
.prod-logo{width:clamp(178px,17vw,224px);height:auto;display:block}
.product-id .product-name.sr{position:absolute;left:-9999px}

/* slogan no rodapé */
.foot-creed{
  font-family:var(--display);font-weight:500;
  font-size:clamp(17px,2vw,25px);line-height:1.35;letter-spacing:-.018em;
  margin:0 0 26px;padding-bottom:24px;
  border-bottom:1px solid var(--rule-dark);
  color:var(--ultra-lift);max-width:34ch;
}
