:root{
  --night:#0B1222;--deep:#101828;--navy:#1A2744;--navy-2:#24365E;--gold:#C4A265;--gold-2:#D8BC85;--gold-deep:#8A6A2F;
  --paper:#F5F6F8;--ivory:#F7F5F0;--mist:#EAECF0;--slate:#667085;--soft:#AEB6C8;
  --serif:"Newsreader",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;
  --m:clamp(16px,4vw,56px);--ease:cubic-bezier(.2,.7,.1,1);
  --s-small:clamp(.875rem,.85rem + .1vw,.9375rem);
  --s-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --s-lead:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --s-head:clamp(2.25rem,1.5rem + 2.8vw,4rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--paper);font:400 var(--s-body)/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:300;letter-spacing:-.035em;line-height:1;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
::selection{background:var(--gold);color:var(--night)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

#cena{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;transition:opacity .8s var(--ease)}
.sem-3d #cena{display:none}
.recuo #cena{opacity:.25}
main,footer,.topo{position:relative;z-index:1}

/* barra */
.topo{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--m);transition:background-color .4s}
.topo.cheia{background:rgba(11,18,34,.94)}
.lock{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:300 30px/1 var(--serif);letter-spacing:-.04em}
.lock svg{height:30px;width:auto}
.pt{color:var(--gold)}
.menu{display:flex;align-items:center;gap:32px;font-size:var(--s-small);font-weight:500}
.menu a{text-decoration:none;transition:color .2s}
.menu a:hover{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;background:var(--gold);color:var(--night);font:500 var(--s-body)/1 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:transform .25s var(--ease),background-color .25s}
.btn:hover{background:var(--gold-2);transform:translateY(-2px)}
.btn:active{transform:none}
.btn.vazado{background:transparent;color:var(--paper);border:2px solid var(--gold)}
.btn.vazado:hover{background:rgba(196,162,101,.14)}
.menu .btn{min-height:44px;padding:0 20px;font-size:var(--s-small)}

section{padding:clamp(96px,14vh,160px) var(--m)}
.tela{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.col{max-width:640px}
h2{font-size:var(--s-head);max-width:20ch}
h2 em{font-style:normal;color:var(--gold)}
.lead{font-size:var(--s-lead);line-height:1.45;color:#DCE1EA;max-width:46ch;margin-top:24px}

/* abertura da solução */
.abre{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:120px;padding-bottom:72px;gap:26px}
.abre h1{font-size:clamp(3.25rem,7.5vw,7.5rem);line-height:.9;letter-spacing:-.05em;max-width:12ch}
.abre .frase{font:300 clamp(1.5rem,1.1rem + 1.2vw,2.25rem)/1.2 var(--serif);max-width:26ch;color:var(--gold)}
.abre .sub{font-size:var(--s-lead);line-height:1.45;color:#DCE1EA;max-width:44ch}
.acoes{display:flex;flex-wrap:wrap;gap:12px}
.abre>*{opacity:0;animation:entra 1s var(--ease) forwards}
.abre>*:nth-child(1){animation-delay:.15s}.abre>*:nth-child(2){animation-delay:.45s}.abre>*:nth-child(3){animation-delay:.7s}.abre>*:nth-child(4){animation-delay:.95s}
@keyframes entra{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.volta{font-size:var(--s-small);color:var(--soft);text-decoration:none}
.volta:hover{color:var(--gold)}

/* cena: a história e a conversa */
.historia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.historia .texto{font:300 var(--s-lead)/1.45 var(--serif);color:#DCE1EA;margin-top:24px;max-width:40ch}
.conversa{background:#0E1A33;border-radius:18px;padding:20px;display:grid;gap:10px;max-width:440px;width:100%;justify-self:end}
.conversa .msg{max-width:84%;padding:10px 14px;border-radius:14px;font-size:15.5px;line-height:1.45;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.conversa.on .msg{opacity:1;transform:none}
.conversa .msg small{display:block;font-size:13px;margin-top:4px;opacity:.65}
.conversa .msg b{display:block;font-size:13px;font-weight:500;margin-bottom:2px;opacity:.8}
.msg.eles{background:#F5F6F8;color:#1A2744;justify-self:start;border-bottom-left-radius:4px}
.msg.voce{background:#2B3C66;color:#F5F6F8;justify-self:end;border-bottom-right-radius:4px}
.msg.haux{background:var(--gold);color:var(--night);justify-self:end;border-bottom-right-radius:4px}
.msg.nota{background:none;color:var(--soft);justify-self:center;font-size:14px;padding:2px}
.sem-js .conversa .msg{opacity:1;transform:none}

/* desdobramento: o tempo passando */
.desdobra{background:var(--deep)}
.linha-tempo{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);margin-top:56px}
.linha-tempo div{display:grid;gap:12px;align-content:start}
.linha-tempo b{font:400 clamp(1.5rem,1.2rem + .8vw,2rem)/1.1 var(--serif);color:var(--gold)}
.linha-tempo p{color:#C9CEDB;max-width:34ch}

/* a virada */
.virada{min-height:110svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:96px}
.virada h2{font-size:clamp(2.75rem,2rem + 3.6vw,5.5rem);max-width:22ch;hyphens:none}
.virada .lead{color:#E6EAF1}

/* depois: o mesmo dia, resolvido */
.depois{background:var(--ivory);color:var(--navy)}
.depois .historia .texto{color:#33405E}
.depois h2 em{color:#7E5F26}
.depois .conversa{background:#E9E6DD}
.depois .msg.voce{background:var(--navy)}
.muda{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,40px);margin-top:clamp(64px,8vw,112px)}
.muda div{display:grid;gap:10px;align-content:start}
.muda b{font:400 1.625rem/1.1 var(--serif);color:var(--navy)}
.muda b::before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:var(--gold);margin-bottom:16px}
.muda p{color:#4A5470}

/* tecnologia */
.tecno .grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(32px,4vw,72px);margin-top:56px;max-width:700px}
.tecno .grade div{display:grid;gap:8px;align-content:start}
.tecno .grade b{font:400 1.625rem/1.1 var(--serif);color:var(--paper)}
.tecno .grade b::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--gold);margin-right:12px;vertical-align:middle}
.tecno .grade p{color:#C9CEDB}

/* para quem e contato */
.quem{background:var(--gold);color:var(--night)}
.quem h2{max-width:22ch}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.chips span{font:400 clamp(1.125rem,1rem + .4vw,1.375rem)/1 var(--serif);padding:14px 20px;background:var(--night);color:var(--paper)}
.fecha{min-height:80svh;display:grid;align-content:end;gap:26px;padding-bottom:96px}
.fecha h2{max-width:18ch}

/* relacionadas */
.rel{background:var(--paper);color:var(--navy)}
.rel h2{font-size:clamp(1.875rem,1.4rem + 1.6vw,2.75rem)}
.rel-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.rel-lista a{display:grid;gap:12px;align-content:space-between;min-height:220px;padding:28px;background:#fff;text-decoration:none;transition:transform .3s var(--ease),background-color .3s}
.rel-lista a:hover{transform:translateY(-4px);background:var(--ivory)}
.rel-lista b{font:400 1.75rem/1.05 var(--serif)}
.rel-lista p{color:#4A5470}
.rel-lista span{font-weight:500;color:var(--gold-deep)}

/* painel de soluções */
.lista{display:grid;margin-top:56px;border-top:0}
.lista a{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px 0;text-decoration:none;transition:padding .35s var(--ease),background-color .35s}
.lista a+a{margin-top:8px}
.lista a{background:rgba(26,39,68,.55);padding-left:28px;padding-right:28px}
.lista a:hover{background:var(--navy);padding-left:40px}
.lista b{font:300 clamp(1.75rem,1.3rem + 1.6vw,2.75rem)/1 var(--serif);letter-spacing:-.03em}
.lista p{color:#C9CEDB}
.lista span{color:var(--gold);font-weight:500;white-space:nowrap}

footer{background:var(--night);padding:72px var(--m) 40px;display:grid;gap:48px}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cols li:first-child{font-weight:500;color:var(--gold)}
.cols li:not(:first-child){color:#C9CEDB}
.cols a{text-decoration:none}.cols a:hover{color:var(--gold)}
.marca-grande{font:300 clamp(5rem,21vw,22rem)/.8 var(--serif);letter-spacing:-.065em;white-space:nowrap;margin-left:-.04em}
.legal{font-size:var(--s-small);color:var(--soft)}

/* barra fixa de contato no celular */
.cta-fixo{display:none}

.sobe{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.sobe.on{opacity:1;transform:none}
.sem-js .sobe{opacity:1;transform:none}

@media (max-width:900px){
  .menu a:not(.btn){display:none}
  .historia,.linha-tempo,.muda,.tecno .grade,.rel-lista{grid-template-columns:1fr}
  .muda{grid-template-columns:1fr 1fr}
  .conversa{justify-self:stretch}
  .lista a{grid-template-columns:1fr;gap:10px}
  .cols{grid-template-columns:1fr 1fr}
  .cta-fixo{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:6}
  .cta-fixo .btn{flex:1}
  .cta-fixo{transition:opacity .3s,transform .3s var(--ease)}
  .cta-fixo.some{opacity:0;transform:translateY(120%);pointer-events:none}
  footer{padding-bottom:96px}
}
@media (prefers-reduced-motion:reduce){
  .sobe,.conversa .msg,.abre>*{opacity:1;transform:none;transition:none;animation:none}
  .btn,.rel-lista a,.lista a{transition:none}
}
/* catálogo completo */
.catalogo{position:relative;z-index:2;background:var(--night);padding:clamp(80px,12vh,140px) var(--m);display:grid;gap:40px}
.catalogo .cab{display:grid;gap:12px;max-width:760px}
.catalogo h2{font:300 clamp(2.4rem,5vw,4.2rem)/1.02 var(--serif);margin:0;letter-spacing:-.02em}
.catalogo h2 em{color:var(--gold);font-style:italic}
.cat-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.cat-item{display:grid;gap:10px;align-content:start;padding:26px 24px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:var(--paper);text-decoration:none;transition:border-color .3s var(--ease),transform .3s var(--ease),background-color .3s}
.cat-item:hover{border-color:var(--gold);transform:translateY(-3px);background:rgba(196,162,101,.06)}
.cat-item.disponivel{border-color:rgba(196,162,101,.55)}
.cat-item b{font:400 clamp(1.4rem,2vw,1.75rem)/1.15 var(--serif)}
.cat-item p{margin:0;color:var(--soft)}
.cat-item ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cat-item li{font-size:.82rem;color:#C9CEDB;border:1px solid rgba(255,255,255,.12);padding:4px 10px;border-radius:999px}
.selo-cat{justify-self:start;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--gold);color:var(--night)}
.selo-cat.encomenda{background:transparent;color:var(--gold);border:1px solid rgba(196,162,101,.6)}
.cat-link{margin-top:6px;color:var(--gold);font-weight:500;text-decoration:none}
