/* Certificados Digitais — landing "a porta que fecha". Escopo .ct, independente das demais páginas. */
.ct{--ink:#0B1016;--steel:#121A23;--steel2:#1B2631;--steel3:#2A3846;--paper:#ECEFF2;--card:#fff;--line:#CBD3DA;--mute:#5B6772;--dmute:#9AA7B4;
 --amb:#FFB020;--amb2:#E08A00;--red:#FF4B3E;--ok:#1FBF8F;
 --disp:"Bahnschrift","DIN Alternate","Roboto Condensed","Arial Narrow","Liberation Sans Narrow","Helvetica Neue",Arial,sans-serif;
 --sans:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Roboto,Arial,sans-serif;
 --mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,"Liberation Mono",monospace;
 background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;overflow-x:clip}
.ct *,.ct *::before,.ct *::after{box-sizing:border-box}
.ct img,.ct svg{max-width:100%}
.ct h1,.ct h2,.ct h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.005em;line-height:1;margin:0;color:var(--ink)}
.ct p{margin:0;color:var(--mute)}
.ct-wrap{width:min(1180px,100% - 40px);margin:0 auto}
.ct-narrow{max-width:820px}
.ct section{padding:100px 0;position:relative}
.ct-mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.ct-mono.dim{color:var(--dmute)}
.ct-note{font-size:.8rem;color:var(--mute);margin-top:16px}
.ct-note.l a{color:inherit;text-decoration:underline}

/* botões */
.ct-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:6px;font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:1rem;border:2px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s}
.ct-btn.a{background:var(--amb);color:var(--ink);border-color:var(--amb);box-shadow:0 0 0 0 rgba(255,176,32,.5)}
.ct-btn.a:hover{background:#FFC44D;transform:translateY(-2px);box-shadow:0 10px 26px -8px rgba(255,176,32,.7)}
.ct-btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.ct-btn.ghost:hover{border-color:var(--amb);color:var(--amb)}
.ct-btn.block{display:flex;width:100%;margin-top:28px}
.ct-btn.lg{padding:20px 38px;font-size:1.12rem}
.ct-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* títulos */
.ct-head{max-width:760px;margin-bottom:52px}
.ct-head h2,.ct-story h2,.ct-offer h2{font-size:clamp(2.1rem,4.6vw,3.6rem)}
.ct-head p{margin-top:18px;font-size:1.08rem}
.ct-tag{display:inline-block;font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--amb);padding:6px 12px 6px 10px;margin-bottom:20px;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%)}
.ct-tag.red{background:var(--red);color:#fff}
.ct-tag.y{background:var(--ink);color:var(--amb)}

/* reveal */
.js .ct-rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js .ct-rv.in{opacity:1;transform:none}

/* ===== HERO ===== */
.ct-hero{background:var(--ink);padding:64px 0 84px !important;isolation:isolate;overflow:hidden}
.ct-hbg{position:absolute;inset:0;z-index:-1;background:
 radial-gradient(700px 520px at 78% 42%,rgba(255,176,32,.16),transparent 65%),
 radial-gradient(520px 420px at 0% 100%,rgba(255,75,62,.10),transparent 65%),
 repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px),
 repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 64px)}
.ct-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center}
.ct-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.ct-brand .ct-mono{color:var(--amb)}
.ct-seal-s{width:38px;height:38px;border-radius:50%;background:var(--amb);color:var(--ink);display:grid;place-items:center}
.ct-hero h1{color:#fff;font-size:clamp(2.4rem,4.7vw,4.1rem);line-height:.98}
.ct-hero h1 em{font-style:normal;color:var(--amb)}
.ct-hero .ct-lead{font-size:1.15rem;color:#B7C2CD;margin-top:24px;max-width:34em}
.ct-trust{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:10px 24px}
.ct-trust li{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:#E3E9EE}
.ct-trust svg{background:var(--amb);color:var(--ink);border-radius:50%;padding:3px;width:20px;height:20px}
.ct-hero-copy>*{opacity:0;transform:translateY(22px);animation:ctUp .8s cubic-bezier(.2,.7,.2,1) forwards}
.ct-hero-copy>:nth-child(1){animation-delay:.02s}.ct-hero-copy>:nth-child(2){animation-delay:.1s}.ct-hero-copy>:nth-child(3){animation-delay:.2s}.ct-hero-copy>:nth-child(4){animation-delay:.3s}.ct-hero-copy>:nth-child(5){animation-delay:.4s}
@keyframes ctUp{to{opacity:1;transform:none}}

/* palco: certificado + sistema */
.ct-stage{position:relative;min-height:520px}
.ct-cert{position:relative;width:min(480px,100%);aspect-ratio:1.58;border-radius:16px;background:linear-gradient(145deg,#1E2A36,#101821);border:1px solid rgba(255,176,32,.45);padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:0 40px 70px -30px rgba(0,0,0,.8),inset 0 0 0 6px rgba(255,255,255,.02);transform:rotate(-3deg);animation:ctFloat 7s ease-in-out infinite}
@keyframes ctFloat{50%{transform:rotate(-2deg) translateY(-8px)}}
.ct-guil{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
.ct-guil .g{fill:none;stroke:var(--amb);stroke-width:.7;stroke-opacity:.55}
.ct-cert>*:not(.ct-guil){position:relative}
.ct-cert-top{display:flex;justify-content:space-between;color:var(--amb)}
.ct-cert-mid{display:flex;align-items:center;gap:18px}
.ct-seal{position:relative;width:84px;height:84px;flex:none;border-radius:50%;background:var(--amb);display:grid;place-items:center;color:var(--ink);box-shadow:0 0 0 4px rgba(255,176,32,.25)}
.ct-seal svg{position:absolute;inset:0;width:100%;height:100%}
.ct-seal .g2{fill:none;stroke:var(--ink);stroke-width:.7;stroke-opacity:.35}
.ct-seal span{position:relative;width:46px;height:46px;border-radius:50%;background:var(--amb);display:grid;place-items:center}
.ct-fields{display:grid;gap:10px;min-width:0}
.ct-fields small{display:block;color:var(--dmute);font-size:.62rem}
.ct-fields b{display:block;color:#fff;font-family:var(--mono);font-size:.92rem;letter-spacing:.04em;overflow-wrap:anywhere}
.ct-valid-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.ct-valid small{color:var(--dmute)}
.ct-left{font-family:var(--disp);font-size:1.7rem;color:var(--ok);letter-spacing:.02em;text-transform:uppercase;transition:color .4s}
.ct-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.ct-bar i{display:block;height:100%;width:100%;background:var(--ok);border-radius:99px;transition:width 1s ease,background .4s}
.ct-cert[data-state="1"] .ct-left{color:var(--amb)}.ct-cert[data-state="1"] .ct-bar i{background:var(--amb)}
.ct-cert[data-state="2"] .ct-left{color:#FF8A3D}.ct-cert[data-state="2"] .ct-bar i{background:#FF8A3D}
.ct-cert[data-state="3"] .ct-left{color:var(--red)}.ct-cert[data-state="3"] .ct-bar i{background:var(--red)}
.ct-cert[data-state="3"]{border-color:rgba(255,75,62,.7)}

.ct-sys{position:absolute;right:0;bottom:0;width:min(330px,76%);background:#0E151D;border:1px solid var(--steel3);border-radius:12px;box-shadow:0 30px 60px -24px rgba(0,0,0,.9);transform:rotate(2.5deg);overflow:hidden}
.ct-sys-h{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--steel2);color:var(--dmute)}
.ct-dots{display:inline-flex;gap:5px}.ct-dots i{width:9px;height:9px;border-radius:50%;background:var(--steel3)}
.ct-sys-b{padding:16px 16px 18px}
.ct-sys-skel{display:grid;gap:8px;margin-bottom:14px}
.ct-sys-skel i{display:block;height:9px;border-radius:99px;background:var(--steel3);width:100%}
.ct-sys-skel i:nth-child(2){width:72%}.ct-sys-skel i:nth-child(3){width:48%}
.ct-sys-btn{display:inline-block;padding:9px 18px;border-radius:6px;background:var(--ok);color:#04261C;font-weight:800;font-size:.86rem;transition:background .4s,color .4s}
.ct-sys-chip{position:absolute;right:14px;top:46px;padding:5px 11px;border-radius:99px;background:rgba(31,191,143,.16);color:var(--ok);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;transition:all .4s}
.ct-sys[data-state="3"] .ct-sys-btn{background:var(--steel3);color:var(--dmute)}
.ct-sys[data-state="3"] .ct-sys-chip{background:rgba(255,75,62,.18);color:var(--red)}
.ct-stamp{position:absolute;right:-6%;top:-3%;padding:8px 22px;border:5px solid var(--red);border-radius:8px;color:var(--red);font-family:var(--disp);font-weight:700;font-size:3.2rem;letter-spacing:.08em;background:rgba(11,16,22,.55);transform:rotate(-12deg) scale(2.4);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.3,1.6,.5,1),opacity .2s}
.ct-stamp.on{opacity:1;transform:rotate(-12deg) scale(1)}

/* ===== HISTÓRIA ===== */
.ct-story{background:var(--paper)}
.ct-story-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}
.ct-story-l h2{margin-bottom:34px}
.ct-beats{position:relative;display:grid;gap:6px;padding-left:28px}
.ct-rail{position:absolute;left:5px;top:10px;bottom:10px;width:3px;background:var(--line);border-radius:3px}
.ct-rail i{position:absolute;left:0;top:0;width:100%;height:0;background:var(--amb2);border-radius:3px;transition:height .6s ease}
.ct-beat{position:relative;text-align:left;background:transparent;border:0;border-radius:10px;padding:14px 16px;cursor:pointer;font:inherit;color:var(--ink);display:grid;gap:4px;transition:background .3s,box-shadow .3s}
.ct-beat::before{content:"";position:absolute;left:-30px;top:20px;width:13px;height:13px;border-radius:50%;background:var(--paper);border:3px solid var(--line);transition:all .3s}
.ct-beat.done::before{border-color:var(--amb2);background:var(--amb2)}
.ct-beat.on::before{border-color:var(--amb2);background:var(--amb);box-shadow:0 0 0 6px rgba(255,176,32,.25)}
.ct-beat.on{background:#fff;box-shadow:0 14px 30px -18px rgba(11,16,22,.45)}
.ct-bt{color:var(--amb2);font-weight:700}
.ct-beat strong{font-family:var(--disp);text-transform:uppercase;font-size:1.3rem;letter-spacing:.01em;line-height:1.1}
.ct-bp{color:var(--mute);font-size:.98rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .4s ease}
.ct-beat.on .ct-bp{max-height:150px;opacity:1}
.ct-beat.ok .ct-bt{color:#0E8C66}
.ct-beat.ok.on::before{border-color:var(--ok);background:var(--ok);box-shadow:0 0 0 6px rgba(31,191,143,.25)}

.ct-desk{position:sticky;top:96px;background:var(--steel);border-radius:14px;border:1px solid var(--steel3);overflow:hidden;box-shadow:0 36px 60px -30px rgba(11,16,22,.7)}
.ct-desk-h{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--steel2);color:#fff}
.ct-desk-h .ct-mono:nth-child(2){flex:1;color:var(--amb)}
.ct-desk-b{position:relative;min-height:430px}
.ct-sc{position:absolute;inset:0;padding:30px;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.ct-sc.on{opacity:1;transform:none}

.ct-form{position:relative;display:grid;gap:18px;max-width:420px}
.ct-form.dim{opacity:.35}
.ct-f small{display:block;color:var(--dmute);margin-bottom:6px;font-size:.62rem}
.ct-f i{display:block;height:34px;border-radius:6px;background:var(--steel2);border:1px solid var(--steel3)}
.ct-f i.w2{height:56px}.ct-f i.w3{width:46%}
.ct-big-btn{display:inline-flex;align-items:center;gap:10px;justify-self:start;padding:14px 22px;border-radius:8px;background:var(--ok);color:#04261C;font-weight:800;font-size:1rem}
.ct-sc.on .ct-big-btn{animation:ctPulse 1.6s ease-in-out infinite}
@keyframes ctPulse{50%{box-shadow:0 0 0 10px rgba(31,191,143,.22)}}
.ct-cursor{position:absolute;left:150px;bottom:-20px;width:0;height:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:rotate(-24deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));opacity:0}
.ct-sc.on .ct-cursor{animation:ctCur 2.6s ease .4s forwards}
@keyframes ctCur{0%{opacity:0;transform:translate(120px,70px) rotate(-24deg)}20%{opacity:1}100%{opacity:1;transform:translate(0,-24px) rotate(-24deg)}}

.ct-modal{position:absolute;left:50%;top:50%;width:min(360px,86%);transform:translate(-50%,-50%) scale(.9);background:#fff;border-radius:14px;padding:26px;text-align:center;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);border-top:6px solid var(--red);opacity:0;transition:opacity .35s ease .3s,transform .35s cubic-bezier(.3,1.5,.5,1) .3s}
.ct-sc.on .ct-modal{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ct-modal-ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(255,75,62,.14);color:var(--red);margin-bottom:12px}
.ct-modal b{display:block;font-size:1.08rem;color:var(--ink)}
.ct-modal p{margin-top:6px;font-size:.92rem}
.ct-modal-btn{display:inline-block;margin-top:16px;padding:8px 22px;border-radius:6px;background:var(--ink);color:#fff;font-size:.85rem;font-weight:700}

.ct-todo{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:440px}
.ct-todo li{display:flex;align-items:center;gap:14px;background:var(--steel2);border:1px solid var(--steel3);border-radius:10px;padding:15px 16px;color:#E3E9EE;font-size:.98rem;opacity:0;transform:translateX(-16px)}
.ct-todo i{width:18px;height:18px;border-radius:50%;border:2px solid var(--amb);flex:none}
.ct-sc.on .ct-todo li{animation:ctIn .5s ease forwards}
.ct-todo li:nth-child(2){animation-delay:.4s!important}.ct-todo li:nth-child(3){animation-delay:.8s!important}.ct-todo li:nth-child(4){animation-delay:1.2s!important}.ct-todo li:nth-child(5){animation-delay:1.6s!important}
@keyframes ctIn{to{opacity:1;transform:none}}

.ct-chat{display:grid;gap:14px;max-width:420px}
.ct-bub{background:#fff;color:var(--ink);padding:14px 16px;border-radius:4px 16px 16px 16px;font-size:.98rem;box-shadow:0 10px 24px -14px rgba(0,0,0,.7);opacity:0;transform:translateY(12px)}
.ct-bub small{display:block;color:var(--mute);margin-bottom:4px;font-size:.62rem}
.ct-late{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:9px 14px;border-radius:99px;background:rgba(255,75,62,.16);color:#FF8A82;font-weight:700;font-size:.86rem;opacity:0}
.ct-sc.on .ct-bub,.ct-sc.on .ct-late{animation:ctIn .5s ease forwards}
.ct-bub:nth-child(2){animation-delay:.9s!important}.ct-late{animation-delay:1.7s!important}

.ct-line{position:relative;display:grid;gap:14px;max-width:440px;padding-left:34px}
.ct-line::before{content:"";position:absolute;left:11px;top:14px;bottom:70px;width:3px;background:var(--steel3)}
.ct-node{position:relative;background:var(--steel2);border:1px solid var(--steel3);border-radius:10px;padding:14px 16px;opacity:0;transform:translateX(-14px)}
.ct-node::before{content:"";position:absolute;left:-30px;top:18px;width:13px;height:13px;border-radius:50%;background:var(--amb);box-shadow:0 0 0 5px rgba(255,176,32,.2)}
.ct-node.done::before{background:var(--ok);box-shadow:0 0 0 5px rgba(31,191,143,.2)}
.ct-node b{display:block;color:var(--amb)}.ct-node.done b{color:var(--ok)}
.ct-node span{display:block;margin-top:3px;color:#E3E9EE;font-size:.96rem}
.ct-ok{display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:10px 16px;border-radius:99px;background:rgba(31,191,143,.16);color:var(--ok);font-weight:800;opacity:0}
.ct-ok svg{background:var(--ok);color:#04261C;border-radius:50%;padding:3px;width:20px;height:20px}
.ct-sc.on .ct-node,.ct-sc.on .ct-ok{animation:ctIn .5s ease forwards}
.ct-node:nth-child(2){animation-delay:.3s!important}.ct-node:nth-child(3){animation-delay:.9s!important}.ct-node:nth-child(4){animation-delay:1.5s!important}.ct-ok{animation-delay:2.1s!important}

/* ===== SINAIS ===== */
.ct-signs{background:var(--steel)}
.ct-signs h2,.ct-signs .ct-head p{color:#fff}
.ct-signs .ct-head p{color:#B7C2CD}
.ct-sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ct-sign{position:relative;background:var(--steel2);border:1px solid var(--steel3);border-radius:12px;padding:26px 24px;overflow:hidden;transition:transform .25s,border-color .25s}
.ct-sign::after{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.ct-sign:hover{transform:translateY(-4px);border-color:rgba(255,75,62,.5)}.ct-sign:hover::after{transform:none}
.ct-sign-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:rgba(255,75,62,.14);color:var(--red);margin-bottom:16px}
.ct-sign b{display:block;font-family:var(--disp);text-transform:uppercase;font-size:1.25rem;color:#fff;letter-spacing:.01em;line-height:1.1}
.ct-sign p{margin-top:8px;color:#B7C2CD;font-size:.96rem}

/* ===== PORTA ===== */
.ct-gate{background:var(--paper)}
.ct-gate-box{background:var(--ink);border-radius:18px;padding:34px;color:#fff;box-shadow:0 40px 70px -40px rgba(11,16,22,.8)}
.ct-gate-top{display:flex;gap:30px;align-items:center;flex-wrap:wrap}
.ct-days{display:flex;align-items:baseline;gap:14px}
.ct-days b{font-family:var(--disp);font-size:clamp(4rem,9vw,6.5rem);line-height:.9;color:var(--ok);min-width:2ch;transition:color .3s}
.ct-days span{color:var(--dmute)}
.ct-gate-msg{flex:1;min-width:240px;font-size:1.08rem;color:#C9D3DC}
.ct-gate-msg b{color:#fff}
.ct-range{margin:28px 0 34px}
.ct-range input{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--red) 0%,var(--amb) 50%,var(--ok) 100%);outline:none;cursor:pointer}
.ct-range input::-webkit-slider-thumb{-webkit-appearance:none;width:34px;height:34px;border-radius:50%;background:#fff;border:6px solid var(--amb);box-shadow:0 6px 18px rgba(0,0,0,.6);cursor:grab}
.ct-range input::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:6px solid var(--amb);box-shadow:0 6px 18px rgba(0,0,0,.6);cursor:grab}
.ct-range input:focus-visible{outline:2px solid #fff;outline-offset:6px}
.ct-ticks{display:flex;justify-content:space-between;margin-top:12px;color:var(--dmute);font-size:.64rem}
.ct-doors{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;overflow:hidden;border-radius:12px}
.ct-door{position:relative;background:var(--steel2);border:1px solid var(--steel3);border-radius:12px;padding:18px 14px;display:grid;gap:4px;justify-items:start;transition:border-color .4s,background .4s}
.ct-door-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:rgba(31,191,143,.15);color:var(--ok);margin-bottom:8px;transition:all .4s}
.ct-door b{font-family:var(--disp);text-transform:uppercase;font-size:1.12rem;letter-spacing:.02em;color:#fff;line-height:1.05}
.ct-door small{color:var(--dmute);font-size:.78rem;line-height:1.3}
.ct-door-st{margin-top:8px;padding:3px 8px;border-radius:99px;background:rgba(31,191,143,.15);color:var(--ok);font-size:.6rem;transition:all .4s}
.ct-gate-box[data-state="1"] .ct-door-ic{background:rgba(255,176,32,.15);color:var(--amb)}
.ct-gate-box[data-state="1"] .ct-door-st{background:rgba(255,176,32,.15);color:var(--amb)}
.ct-gate-box[data-state="1"] .ct-days b{color:var(--amb)}
.ct-gate-box[data-state="2"] .ct-days b{color:var(--red)}
.ct-gate-box[data-state="2"] .ct-door-ic{background:rgba(255,75,62,.15);color:var(--red)}
.ct-gate-box[data-state="2"] .ct-door-st{background:rgba(255,75,62,.15);color:var(--red)}
.ct-shutter{position:absolute;left:0;right:0;top:0;height:0;background:repeating-linear-gradient(180deg,#27323E 0 12px,#1E2832 12px 14px);border-bottom:0 solid var(--red);display:grid;place-items:end center;overflow:hidden;transition:height .5s cubic-bezier(.6,0,.3,1);z-index:2}
.ct-shutter span{color:var(--red);background:var(--ink);border:2px solid var(--red);padding:8px 18px;margin-bottom:22px;font-size:.9rem;font-weight:700;border-radius:4px;opacity:0;transition:opacity .3s .35s}
.ct-gate-box[data-state="2"] .ct-shutter{height:100%;border-bottom-width:6px}
.ct-gate-box[data-state="2"] .ct-shutter span{opacity:1}
.ct-gate-box .ct-note{color:var(--dmute);margin-top:18px}

/* ===== TIPOS ===== */
.ct-types{background:#fff}
.ct-who{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.ct-id{position:relative;background:var(--paper);border:2px dashed var(--line);border-radius:14px;padding:28px 28px 30px}
.ct-id.emp{background:var(--ink);border-color:var(--ink)}
.ct-id-h{color:var(--amb2)}.ct-id.emp .ct-id-h{color:var(--amb)}
.ct-id b{display:block;font-family:var(--disp);text-transform:none;font-size:3.2rem;line-height:1;margin:8px 0 10px;color:var(--ink)}
.ct-id.emp b{color:#fff}.ct-id.emp p{color:#B7C2CD}
.ct-where{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ct-kind{background:var(--paper);border-radius:14px;padding:26px 28px;border-top:5px solid var(--amb)}
.ct-kind-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.ct-kind-h b{font-family:var(--disp);font-size:2.6rem;line-height:1;color:var(--ink)}
.ct-kind-h span{color:var(--mute)}
.ct-kind ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ct-kind li{display:flex;gap:10px;align-items:flex-start;font-size:.98rem;color:var(--ink)}
.ct-kind li svg{flex:none;margin-top:3px;background:var(--ok);color:#fff;border-radius:50%;padding:2px;width:18px;height:18px}
.ct-kind li.warn{color:var(--mute)}
.ct-kind li.warn svg{background:none;color:var(--amb2);padding:0;width:18px;height:18px}

/* preço */
.ct-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;margin:-4px 0 18px;border-radius:8px;background:#fff;border:1px dashed var(--line)}
.ct-price .ct-mono{color:var(--mute)}
.ct-price b{font-family:var(--disp);font-size:1.5rem;text-transform:uppercase;color:var(--ink);line-height:1}
.ct-price.promo{background:var(--ink);border:0}
.ct-price.promo .ct-mono{color:var(--amb)}
.ct-price.promo b{color:var(--amb);font-size:2rem}
.ct-promo{display:inline-flex;align-items:center;gap:18px;margin-top:26px;padding:16px 22px;border-radius:12px;background:var(--ink);color:#fff}
.ct-promo .ct-mono{color:var(--amb);width:11ch;flex:none;line-height:1.4}
.ct-promo small{display:block;color:var(--dmute);font-size:.82rem}
.ct-promo b{display:block;font-family:var(--disp);font-size:2.8rem;line-height:1;color:var(--amb)}

/* ===== BENEFÍCIOS ===== */
.ct-ben{background:var(--paper)}
.ct-ben-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.ct-card{grid-column:span 2;background:#fff;border-radius:14px;padding:28px;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.ct-card:nth-child(4),.ct-card:nth-child(5){grid-column:span 3}
.ct-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(11,16,22,.45)}
.ct-card-ic{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:var(--ink);color:var(--amb);margin-bottom:18px}
.ct-card h3{font-size:1.4rem;line-height:1.05}
.ct-card p{margin-top:10px;font-size:.98rem}

/* ===== PASSOS ===== */
.ct-steps{background:var(--steel)}
.ct-steps h2{color:#fff}
.ct-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s}
.ct-flow li{position:relative;padding:0 18px 0 0}
.ct-flow li::before{content:"";position:absolute;left:46px;right:0;top:19px;height:2px;background:repeating-linear-gradient(90deg,var(--amb) 0 8px,transparent 8px 14px)}
.ct-flow li:last-child::before{display:none}
.ct-n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--amb);color:var(--ink);font-weight:700;margin-bottom:18px;font-size:.8rem;letter-spacing:.04em}
.ct-flow b{display:block;font-family:var(--disp);text-transform:uppercase;font-size:1.25rem;color:#fff;line-height:1.1;letter-spacing:.01em}
.ct-flow p{margin-top:8px;color:#B7C2CD;font-size:.93rem}

/* ===== OFERTA ===== */
.ct-offer{background:var(--paper)}
.ct-offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ct-lead.dark{margin-top:20px;font-size:1.1rem;color:var(--mute)}
.ct-ticket{position:relative;background:#fff;border-radius:16px;padding:34px;border:1px solid var(--line);box-shadow:0 30px 60px -36px rgba(11,16,22,.5)}
.ct-ticket::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(90deg,var(--amb) 0 14px,var(--ink) 14px 28px);border-radius:16px 16px 0 0}
.ct-ticket-h{color:var(--amb2);font-weight:700}
.ct-ticket ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
.ct-ticket li{display:flex;gap:12px;align-items:flex-start;color:var(--ink);font-size:1rem}
.ct-ticket .ck{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--amb)}
.ct-ticket .ct-note{text-align:center}

/* ===== FAQ (usa .faq-* do site; só ajusta cores) ===== */
.ct-doubts{background:#fff}.ct-faq{background:var(--paper)}
.ct .faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.ct-faq .faq-item{background:#fff}
.ct .faq-question{color:var(--ink);font-family:var(--sans);font-weight:700;font-size:1.04rem;background:transparent}
.ct .faq-plus{color:var(--amb2)}
.ct .faq-answer p{color:var(--mute)}

/* ===== FINAL ===== */
.ct-final{background:var(--ink);text-align:center;overflow:hidden;isolation:isolate}
.ct-fbg{position:absolute;inset:0;z-index:-1;background:radial-gradient(640px 420px at 50% 0%,rgba(255,176,32,.2),transparent 65%),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 64px)}
.ct-final-in{max-width:760px}
.ct-seal-l{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--amb);color:var(--ink);margin-bottom:26px;box-shadow:0 0 0 8px rgba(255,176,32,.2);animation:ctGlow 3s ease-in-out infinite}
@keyframes ctGlow{50%{box-shadow:0 0 0 18px rgba(255,176,32,.06)}}
.ct-final h2{color:#fff;font-size:clamp(2.4rem,5.6vw,4.4rem)}
.ct-final p{color:#B7C2CD;margin:20px auto 32px;font-size:1.1rem;max-width:34em}
.ct-final .ct-ps{margin-top:30px;font-size:.9rem;color:var(--dmute)}

/* botão fixo */
.ct-sticky{position:fixed;left:50%;bottom:18px;z-index:80;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:99px;background:var(--amb);color:var(--ink);font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 16px 36px -10px rgba(0,0,0,.6);transform:translate(-50%,140%);transition:transform .4s ease}
.ct-sticky.show{transform:translate(-50%,0)}

/* ===== RESPONSIVO ===== */
@media (max-width:1020px){
 .ct section{padding:76px 0}
 .ct-hero-grid,.ct-story-grid,.ct-offer-grid{grid-template-columns:1fr}
 .ct-desk{position:relative;top:0}
 .ct-stage{min-height:480px;margin-top:10px}
 .ct-sign-grid{grid-template-columns:repeat(2,1fr)}
 .ct-doors{grid-template-columns:repeat(3,1fr)}
 .ct-flow{grid-template-columns:1fr;gap:26px}
 .ct-flow li{padding:0 0 0 60px}
 .ct-flow li .ct-n{position:absolute;left:0;top:0;margin:0}
 .ct-flow li::before{left:19px;right:auto;top:44px;bottom:-24px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--amb) 0 8px,transparent 8px 14px)}
 .ct-ben-grid{grid-template-columns:repeat(2,1fr)}
 .ct-card,.ct-card:nth-child(4),.ct-card:nth-child(5){grid-column:span 1}
 .ct-card:nth-child(5){grid-column:span 2}
}
@media (max-width:640px){
 .ct section{padding:60px 0}
 .ct-wrap{width:min(1180px,100% - 32px)}
 .ct-hero{padding:40px 0 56px !important}
 .ct-cta-row .ct-btn{width:100%}
 .ct-stage{min-height:410px}
 .ct-cert{padding:16px 16px;transform:rotate(-2deg)}
 .ct-seal{width:62px;height:62px}.ct-seal span{width:36px;height:36px}
 .ct-fields b{font-size:.78rem}
 .ct-left{font-size:1.3rem}
 .ct-sys{width:84%}
 .ct-stamp{font-size:2.2rem;right:0;top:2%}
 .ct-sign-grid,.ct-who,.ct-where,.ct-ben-grid{grid-template-columns:1fr}
 .ct-card,.ct-card:nth-child(5){grid-column:span 1}
 .ct-doors{grid-template-columns:repeat(2,1fr)}
 .ct-gate-box{padding:22px 18px}
 .ct-desk-b{min-height:400px}
 .ct-sc{padding:20px 16px}
 .ct-id b{font-size:2.6rem}
 .ct-ticket{padding:26px 20px}
 .ct-beat{padding:12px}
}
@media (prefers-reduced-motion:reduce){
 .ct *,.ct *::before,.ct *::after{animation:none !important;transition:none !important}
 .js .ct-rv{opacity:1;transform:none}
 .ct-hero-copy>*{opacity:1;transform:none}
 .ct-sc.on .ct-todo li,.ct-sc.on .ct-bub,.ct-sc.on .ct-late,.ct-sc.on .ct-node,.ct-sc.on .ct-ok{opacity:1;transform:none}
 .ct-sc.on .ct-modal{opacity:1}
 .ct-bp{max-height:none;opacity:1}
}
