
:root{
  --bg:#202127;--bg2:#27282e;--bg3:#2e2f36;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.16);
  --red:#e3121b;--red2:#ff3b2f;--redglow:rgba(227,18,27,.45);
  --text:#f3f3f5;--muted:#8d8d99;--steel:#b9bec8;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --sans:'Poppins',system-ui,sans-serif;
  --gut:clamp(16px,5vw,80px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.45}
a{color:inherit}
::selection{background:var(--red);color:#fff}
.mono{font-family:var(--mono)}
.disp{font-weight:800;font-style:italic;letter-spacing:-.02em;text-transform:uppercase;line-height:1.02}
h1.disp,h2.disp{padding-top:.14em}
.red{color:var(--red)}
.outline{color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.55)}
.wrap{max-width:1560px;margin:0 auto;padding:0 var(--gut)}

/* grain + scan */
body::after{content:none;display:none;position:fixed;inset:-50%;z-index:9998;pointer-events:none;opacity:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-2%)}60%{transform:translate(-2%,-4%)}80%{transform:translate(4%,2%)}100%{transform:translate(0,0)}}

/* progress */
#prog{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:200;
  background:linear-gradient(90deg,#fff 0%,#fff 70%,var(--red) 80%,var(--red2) 100%);box-shadow:0 0 12px var(--redglow)}

/* loader */
#loader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:grid;place-items:center;transition:opacity .8s ease,visibility .8s}
#loader.done{opacity:0;visibility:hidden}
.ld-in{text-align:center;width:min(340px,80vw)}
.ld-tach{width:100%;overflow:visible}
.ld-tach path{fill:none;stroke-width:6;stroke-linecap:butt}
.ld-track{stroke:rgba(255,255,255,.08)}
.ld-redz{stroke:rgba(227,18,27,.5)}
.ld-arc{stroke:#fff;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .25s}
#ldNeedle{stroke:var(--red2);stroke-width:3;transform-box:view-box;transform-origin:100px 110px;transform:rotate(-90deg);transition:transform .25s;filter:drop-shadow(0 0 6px var(--red))}
.ld-brand{font-size:44px;margin-top:22px}
.ld-sub{font-size:11px;letter-spacing:.35em;color:var(--muted);margin-top:14px}
.ld-sub span{color:#fff}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gut);transition:background .4s,backdrop-filter .4s,padding .4s}
.nav.solid{background:rgba(32,33,39,.93);padding:12px var(--gut);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:baseline;gap:6px;text-decoration:none;font-size:22px}
.logo .disp{line-height:1}
.logo i{font-family:var(--mono);font-style:normal;font-size:11px;background:var(--red);color:#fff;padding:3px 6px;transform:skewX(-12deg) translateY(-3px);font-weight:700}
.links{display:flex;gap:22px}
.links a{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--steel);position:relative;padding:6px 0}.links a > cp-enfeite[data-pos="depois"]{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .35s}
.links a:hover{color:#fff}.links a:hover > cp-enfeite[data-pos="depois"]{transform:scaleX(1);transform-origin:left}
@media (max-width:1180px){.links{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:#fff;border:1px solid var(--line2);background:rgba(255,255,255,.02);cursor:pointer;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);transition:background .3s,border-color .3s,box-shadow .3s,transform .3s}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .3s}
.btn:hover svg{transform:translateX(4px)}
.btn:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-red{background:var(--red);border-color:var(--red)}
.btn-red:hover{background:var(--red2);border-color:var(--red2);box-shadow:0 0 40px var(--redglow)}
.btn.sm{padding:11px 16px;font-size:11px}

/* ================= HERO ================= */
#hero{height:440vh;position:relative}
.hero-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#engine{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}
#engine:active{cursor:grabbing}
.vignette{position:absolute;inset:0;pointer-events:none;z-index:2;
  background:radial-gradient(130% 100% at 60% 50%,transparent 60%,rgba(32,33,39,.55) 100%),linear-gradient(180deg,rgba(32,33,39,.45) 0%,transparent 16%,transparent 84%,rgba(32,33,39,.75) 100%)}
.scan{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.25;background:repeating-linear-gradient(180deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px)}
.corners{position:absolute;inset:86px var(--gut) 24px;pointer-events:none;z-index:2}
.corners i{position:absolute;width:22px;height:22px;border-color:rgba(255,255,255,.3);border-style:solid;border-width:0}
.corners i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}
.corners i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}
.corners i:nth-child(3){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.corners i:nth-child(4){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}
.coords{position:absolute;right:calc(var(--gut) + 30px);top:96px;z-index:3;font-size:10px;letter-spacing:.2em;color:var(--muted);text-align:right;line-height:1.9}
.coords b{color:var(--red2);font-weight:500}
.hero-a{position:absolute;left:var(--gut);top:36%;transform:translateY(-50%);max-width:min(560px,44vw);z-index:3}
.kick{font-family:var(--mono);font-size:12px;letter-spacing:.24em;color:var(--red2);text-transform:uppercase;display:flex;align-items:center;gap:12px}.kick > cp-enfeite[data-pos="antes"]{content:"";width:30px;height:1px;background:var(--red)}
.hero-a h1{font-size:clamp(44px,5.6vw,96px);margin:18px 0 22px}
.hero-a h1 em{font-style:italic;color:var(--red)}
.hero-a p{color:#c4c4cc;font-size:clamp(15px,1.25vw,18px);max-width:500px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.stats{display:flex;gap:clamp(18px,3vw,44px);margin-top:42px;padding-top:24px;border-top:1px solid var(--line);max-width:560px}
.stat b{display:block;font-style:italic;font-weight:900;font-size:clamp(26px,2.6vw,38px);line-height:1}
.stat b small{font-size:.5em;color:var(--red2);margin-left:3px}
.stat span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;display:block;margin-top:8px}
.hero-b{position:absolute;left:50%;top:clamp(90px,14vh,140px);transform:translateX(-50%);text-align:center;z-index:3;width:min(820px,92vw);opacity:0;pointer-events:none}
.hero-b h2{font-size:clamp(40px,6vw,92px)}
.hero-b p{color:var(--steel);margin-top:14px;font-size:16px}
#engLabels,#labTags{position:absolute;inset:0;pointer-events:none;z-index:3}
.tag{position:absolute;left:0;top:0;opacity:0;transition:opacity .3s;will-change:transform}
.tag i{position:absolute;left:-12px;top:-12px;width:24px;height:24px;border-radius:50%;background:rgba(32,33,39,.88);border:1px solid var(--red2);color:#fff;font:600 10px/22px var(--mono);font-style:normal;text-align:center;box-shadow:0 0 14px rgba(227,18,27,.5);cursor:pointer;transition:background .2s,transform .2s}
.tag span{position:absolute;left:18px;top:-11px;white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;background:rgba(32,33,39,.92);border:1px solid var(--line2);opacity:0;transform:translateX(-6px);transition:all .2s;pointer-events:none}
.tag:hover span,.tag.sel span{opacity:1;transform:none}
.tag.sel i,.tag:hover i{background:var(--red);transform:scale(1.15)}
.tag.sel{z-index:2}
#engLabels.live .tag{pointer-events:auto}
#labTags .tag i{left:-5px;top:-5px;width:10px;height:10px;border:0;background:var(--red2);cursor:default}
#labTags .tag span{opacity:1;transform:none;left:16px;top:-30px;font-size:11px;padding:6px 9px}
#labTags .tag span em{color:var(--red2);font-style:normal;margin-right:8px}
#tip{position:absolute;left:0;top:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .15s;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--red);color:#fff;padding:5px 9px;white-space:nowrap}
.hero-c{position:absolute;left:var(--gut);top:clamp(92px,12vh,124px);width:min(380px,calc(100% - 2*var(--gut)));z-index:4;opacity:0;pointer-events:none}
.hero-c .kick{margin-bottom:12px}
.ficha{background:rgba(36,37,43,.92);border:1px solid var(--line2);padding:22px;position:relative}.ficha > cp-enfeite[data-pos="antes"]{content:"";position:absolute;left:-1px;top:-1px;width:44px;height:2px;background:var(--red)}
.f-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--muted)}
.f-top b{color:var(--red2);font-weight:500}
.ficha h3{font-size:clamp(24px,2.3vw,34px);margin:12px 0 10px}
.ficha p{color:#c4c4cc;font-size:14px;line-height:1.5;min-height:63px}
.f-rows{margin-top:14px;border-top:1px solid var(--line)}
.f-rows div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px;transition:opacity .3s}
.f-rows span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;padding-top:2px}
.f-rows .cp span{color:var(--red2)}
.f-rows b{font-weight:500}
.f-rows[data-v=prep] .st,.f-rows[data-v=stock] .cp{opacity:.45}
.f-nav{display:flex;align-items:center;gap:6px;margin-top:14px}
.f-nav button{width:40px;height:34px;background:transparent;border:1px solid var(--line2);color:#fff;font-size:16px;cursor:pointer}
.f-nav button:hover{border-color:var(--red);background:rgba(227,18,27,.14)}
.f-nav span{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--muted);margin-left:8px;line-height:1.5}
.vswitch{display:flex;flex-direction:column;gap:4px}
.vswitch button{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:0 14px;height:29px;background:rgba(32,33,39,.85);border:1px solid var(--line2);color:var(--steel);cursor:pointer;transition:all .25s}
.vswitch button.on{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 20px var(--redglow)}
.tread .spec{font-size:9px;color:var(--red2);letter-spacing:.12em;margin-top:6px;white-space:nowrap}
.hud{position:absolute;left:var(--gut);right:auto;bottom:24px;display:flex;align-items:flex-end;gap:12px;z-index:4}
@media (min-width:821px) and (max-height:880px){.hero-a p{display:none}}
.tach{display:flex;align-items:flex-end;gap:14px;padding:12px 16px 12px 12px;background:rgba(32,33,39,.82);border:1px solid var(--line)}
.tach svg{width:130px;height:82px;overflow:visible}
.tach .tk{stroke:rgba(255,255,255,.35);stroke-width:1.2}
.tach .tk.rz{stroke:var(--red2)}
.vc{display:grid;grid-template-columns:auto auto 74px 74px;grid-template-rows:auto auto;align-items:center;column-gap:14px;row-gap:6px;padding:12px 18px 10px;background:rgba(14,14,17,.88);border:1px solid rgba(255,255,255,.1);border-radius:22px 22px 10px 10px}
.vc-main{width:156px;height:156px;grid-row:1}
.vc-side{text-align:center;font-family:var(--sans);grid-row:1}
.vc-side svg{width:66px;height:66px;display:block;margin:6px auto 0}
.vc-g svg{width:80px;height:80px}
.vc-t{font-size:12px;font-weight:600;color:#e9e9ee}
.vc-ring{fill:none;stroke:#e3121b;stroke-width:1.2;opacity:.9}.vc-ring.dim{opacity:.35;stroke:#ff6a60}
.vc-gl{font:600 7px var(--mono);fill:#ff3b2f;text-anchor:middle}
.vc-band{fill:none;stroke:#2b2c33;stroke-width:28}
#tachArc{fill:none;stroke:rgba(227,18,27,.55);stroke-width:28;stroke-dasharray:100;stroke-dashoffset:100}
.vc-red{fill:none;stroke:#c40d15;stroke-width:28}
.vc-tk{stroke:#d9dae0;stroke-width:1}.vc-tk.mj{stroke-width:2.2}.vc-tk.rz{stroke:#ff3b2f}
.vc-num{font:700 17px var(--sans);fill:#f3f3f5;text-anchor:middle;dominant-baseline:middle}
.vc-small{font:500 6.5px var(--sans);fill:#9a9ba5;text-anchor:middle}
.vc-badge{font:italic 900 14px var(--sans);fill:#e9eaee;text-anchor:start}
.vc-speed{font:700 30px var(--sans);fill:#fff;text-anchor:middle}
.vc-gear{font:700 17px var(--sans);fill:#fff;text-anchor:middle}
.vc-mode{font:700 7px var(--mono);fill:#ff3b2f;text-anchor:middle;letter-spacing:.1em}
.vc-rb{fill:#0d0d10;stroke:#3b3c44;stroke-width:3}
.vc-rv{fill:none;stroke:#e3121b;stroke-width:4;stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:butt}
.vc-pc{font:500 9px var(--sans);fill:#9a9ba5;text-anchor:middle}.vc-pv{font:700 17px var(--sans);fill:#fff;text-anchor:middle}
.vc-boost{grid-column:2 / -1;grid-row:2;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:#9a9ba5}
.vc-boost b{color:#e9e9ee;font-weight:700;font-size:10px}
#bsegs{display:flex;gap:3px;margin-right:6px}#bsegs i{width:10px;height:5px;background:#2b2c33;transform:skewX(-20deg)}#bsegs i.on{background:#e3121b}#bsegs i.on.w{background:#f3f3f5}
.vc-pads{grid-column:1 / 3;grid-row:2;display:flex;gap:6px;align-items:center}
.paddle{width:60px;height:30px;border:0;cursor:pointer;color:#fff;font:700 20px/1 var(--sans);display:flex;align-items:center;justify-content:center;
  background:linear-gradient(170deg,#ff3b2f,#b50a12 75%);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 14px rgba(227,18,27,.35);transition:transform .12s,filter .2s;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.paddle.dn{border-radius:14px 4px 4px 14px;clip-path:polygon(0 18%,100% 0,100% 100%,0 82%)}
.paddle.up{border-radius:4px 14px 14px 4px;clip-path:polygon(0 0,100% 18%,100% 82%,0 100%)}
.paddle:hover{filter:brightness(1.12)}.paddle:active,.paddle.hit{transform:scale(.92);filter:brightness(1.3)}
.paddle span{pointer-events:none;margin-top:-2px}
.ctrls{display:grid;grid-template-columns:1fr 1fr 60px;grid-auto-rows:44px;gap:8px;width:300px}
.ctrls .vswitch{grid-column:1 / -1;flex-direction:row}.ctrls .vswitch button{flex:1;height:44px}
.ctrls .pwr,.ctrls .lbtn,.ctrls .rev,.ctrls .mute{height:44px}
.ctrls .pwr{grid-column:1 / 3;min-width:0}
.ctrls .rev span{white-space:nowrap;font-size:11px;letter-spacing:.12em}.ctrls .lbtn{grid-column:3;padding:0 4px;font-size:9px}.ctrls .rev{grid-column:1 / 3}.ctrls .mute{grid-column:3;padding:0}
#tachNeedle{transform-box:view-box;transform-origin:100px 100px;transform:rotate(-135deg);filter:drop-shadow(0 0 4px #ff2a1f)}
.tread{font-family:var(--mono);min-width:96px}
.gearbox{font-family:var(--mono);text-align:center;min-width:74px;padding:0 10px;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.gearbox b{display:block;font-size:40px;line-height:1;font-weight:700;color:#fff}
.gearbox b.pop{animation:gpop .35s}
@keyframes gpop{0%{color:var(--red2);transform:scale(1.35);text-shadow:0 0 18px var(--red)}100%{color:#fff;transform:none}}
.gearbox span{display:block;font-size:9px;letter-spacing:.2em;color:var(--muted);margin-top:4px}
.gearbox em{display:block;font-style:normal;font-size:11px;color:var(--steel);margin-top:6px;white-space:nowrap}
.gearbox em i{font-style:normal;color:#fff;font-weight:700}
.tread b{display:block;font-size:28px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
.tread span{font-size:9px;letter-spacing:.2em;color:var(--muted)}
.tread .bst{margin-top:8px;font-size:11px;color:var(--steel)}
.tread .bst b{display:inline;font-size:11px;color:var(--red2)}
.rev{position:relative;overflow:hidden;border:1px solid var(--red);background:rgba(227,18,27,.12);color:#fff;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:0 26px;height:62px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
.rev .fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--red),var(--red2));transform-origin:0 50%;transform:scaleX(0)}
.rev span{position:relative;display:flex;align-items:center;gap:10px}.rev span > cp-enfeite[data-pos="antes"]{content:"";width:8px;height:8px;border-radius:50%;background:var(--red2);box-shadow:0 0 10px var(--red2);animation:blink 1.2s infinite}.rev.on span > cp-enfeite[data-pos="antes"]{background:#fff}
@keyframes blink{50%{opacity:.25}}
.pwr{height:62px;min-width:118px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border:1px solid var(--line2);background:rgba(32,33,39,.85);color:#fff;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.18em;cursor:pointer;transition:all .3s;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);animation:pwrPulse 1.6s infinite}
.pwr svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.pwr.on{background:var(--red);border-color:var(--red);box-shadow:0 0 30px var(--redglow);animation:none}
.pwr.nudge{animation:shake .5s}
@keyframes pwrPulse{50%{border-color:var(--red2);color:var(--red2)}}
@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.rev.off{opacity:.45}
.lbtn{height:62px;padding:0 14px;border:1px solid var(--line2);background:rgba(32,33,39,.85);color:#e9e9ee;font-size:11px;font-weight:700;letter-spacing:.16em;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .25s}
.lbtn small{font-size:8px;letter-spacing:.22em;color:var(--muted)}
.lbtn.armed{border-color:#ffb020;color:#ffb020;box-shadow:0 0 22px rgba(255,176,32,.35);animation:blink 1s infinite}
.lbtn.armed small{color:#ffb020}
.mute svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.mute.off .w{display:none}
.mute{height:62px;padding:0 18px;border:1px solid var(--line2);background:rgba(32,33,39,.6);color:var(--steel);font-size:11px;letter-spacing:.16em;cursor:pointer}
.scrollhint{position:absolute;right:var(--gut);left:auto;transform:none;bottom:30px;top:auto;z-index:4;font-size:11px;letter-spacing:.24em;color:var(--steel);display:flex;align-items:center;gap:12px}
.scrollhint i{width:1px;height:46px;background:linear-gradient(var(--red2),transparent);animation:drip 1.8s infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:820px){
  .hero-a{top:92px;transform:none;right:var(--gut);max-width:none}
  .hero-a p{display:none}
  .hero-a .cta-row .btn:not(.btn-red){display:none}
  .tread .bst,.tread .spec{display:none}
  .rev span{white-space:nowrap;font-size:10px;letter-spacing:.1em}
  .rev{padding:0 12px}
  .hero-a h1{font-size:10.5vw;margin:14px 0 14px}
  .disp{}
  .logo{font-size:17px}
  .nav .btn.sm{padding:9px 12px;font-size:10px}
  .vc{grid-template-columns:1fr auto 1fr;width:100%;padding:10px}.vc-g{display:none}.vc-main{width:140px;height:140px}.vc-side svg{width:58px;height:58px}
  .ctrls{width:100%;grid-auto-rows:46px}
  .vc-boost{grid-column:1 / -1;grid-row:2;justify-content:center}.vc-pads{grid-column:1 / -1;grid-row:3;justify-content:center;gap:14px}.paddle{width:64px;height:32px}
  .tread{min-width:70px}
  .kick{font-size:10px;letter-spacing:.18em}
  .cta h2{font-size:12vw}
  .social h2{font-size:12vw}
  .hero-a p{font-size:14px}
  .cta-row{margin-top:18px}
  .stats{display:none}
  .coords,.corners{display:none}
  .tach svg{width:92px;height:58px}
  .tread b{font-size:20px}
  .gearbox{min-width:54px;padding:0 6px}.gearbox b{font-size:28px}
  .rev{height:54px;padding:0 16px;font-size:10px;flex:1}
  .mute{height:54px}
  .pwr{height:54px;min-width:0;padding:0 12px}
  .lbtn{height:54px;padding:0 10px;font-size:10px}
  .scrollhint{display:none}
  .hud{bottom:12px;gap:8px;left:var(--gut);right:var(--gut)}
  .hud .vc,.hud .ctrls{width:100%;max-width:100%;box-sizing:border-box}
  .tach{padding:8px}
  .hero-c{top:auto;bottom:128px;width:auto;right:var(--gut)}
  .hero-c .kick,.ficha p,.f-nav span{display:none}
  .ficha{padding:14px}
  .ficha h3{font-size:20px;margin:6px 0 4px}
  .f-rows{margin-top:6px}
  .f-rows div{padding:6px 0;font-size:12px;grid-template-columns:86px 1fr}
  .f-nav{margin-top:8px}
  .hud{flex-wrap:wrap}
  .vswitch{flex-direction:row;width:100%}
  .vswitch button{flex:1}
  .tag i{width:20px;height:20px;left:-10px;top:-10px;line-height:18px;font-size:9px}
}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:18px 0;background:var(--bg2);position:relative;z-index:2}
.mq-track{display:flex;gap:44px;width:max-content;animation:mq 50s linear infinite;align-items:center}
.mq-track span{font-size:clamp(22px,2.2vw,34px);white-space:nowrap;opacity:.85}
.mq-track .dot{width:12px;height:12px;background:var(--red);transform:rotate(45deg);flex:none;box-shadow:0 0 14px var(--red)}
@keyframes mq{to{transform:translateX(-50%)}}

/* sections */
.sec{padding:clamp(90px,12vw,170px) 0;position:relative}
.sec-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.sec-head h2{font-size:clamp(36px,5vw,82px);margin-top:18px}
.lead{color:var(--muted);font-size:clamp(15px,1.2vw,18px);max-width:520px}
@media (max-width:820px){.sec-head{grid-template-columns:1fr}}

/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.lab.rv,.stage.rv,.track .rv,.proj .rv,.svc .rv,.recs .rv{transform:none;transition:opacity .7s ease}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}.rv.d5{transition-delay:.4s}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1000px){.svc{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.svc{grid-template-columns:1fr}}
.card{position:relative;padding:34px 30px 30px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.008));overflow:hidden;
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s}.card > cp-enfeite[data-pos="antes"]{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(227,18,27,.16),transparent 55%);opacity:0;transition:opacity .4s;pointer-events:none}
.card:hover{border-color:rgba(227,18,27,.5)}.card:hover > cp-enfeite[data-pos="antes"]{opacity:1}
.card .idx{position:absolute;top:24px;right:26px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.2em}
.ico{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(227,18,27,.5);background:rgba(227,18,27,.08);margin-bottom:26px}
.ico svg{width:26px;height:26px;fill:none;stroke:var(--red2);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:clamp(24px,2.3vw,30px);margin-bottom:14px}
.card p{color:var(--muted);font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.chips span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;border:1px solid var(--line2);color:var(--steel)}
.card.hl{background:linear-gradient(160deg,rgba(227,18,27,.22),rgba(227,18,27,.03) 60%);border-color:rgba(227,18,27,.45)}

/* quem somos */
.about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,4vw,70px);align-items:center}
@media (max-width:980px){.about{grid-template-columns:1fr}}
.about h2{font-size:clamp(38px,3.6vw,76px);margin:18px 0 26px}
@media (max-width:980px){.about h2{font-size:clamp(38px,9vw,76px)}}
.about p{color:#c4c4cc;font-size:clamp(15px,1.15vw,17px);margin-bottom:16px;max-width:560px}
.about p b{color:#fff;font-weight:600}
.vals{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
@media (max-width:520px){.vals{grid-template-columns:1fr}}
.vals div{background:var(--bg);padding:20px}
.vals b{display:block;font-weight:700;font-size:15px;margin-bottom:6px}.vals b > cp-enfeite[data-pos="antes"]{content:"";display:inline-block;width:8px;height:8px;background:var(--red);transform:rotate(45deg);margin-right:10px;vertical-align:middle}
.vals span{color:var(--muted);font-size:13px}
.gal{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.15fr 1fr .8fr;gap:10px;height:clamp(560px,52vw,840px)}
.gal figure:last-child{grid-column:2}
@media (max-width:980px){.gal{height:clamp(520px,120vw,760px)}}
.gal figure{position:relative;overflow:hidden;border:1px solid var(--line);margin:0}
.gal figure:first-child{grid-row:1 / 3}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.gal figure:hover img{transform:scale(1.06)}.gal figure > cp-enfeite[data-pos="depois"]{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(32,33,39,.7));pointer-events:none}
.gal figcaption{position:absolute;left:12px;bottom:12px;z-index:2;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:rgba(32,33,39,.85);padding:6px 9px;border-left:2px solid var(--red)}
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin-top:clamp(50px,7vw,90px)}
@media (max-width:760px){.nums{grid-template-columns:1fr 1fr}}
.nums div{padding:28px 20px;border-right:1px solid var(--line)}
.nums div:last-child{border-right:0}
.nums b{display:block;font-weight:800;font-style:italic;font-size:clamp(28px,3.2vw,48px);line-height:1;text-transform:uppercase}
.nums b small{font-size:.45em;color:var(--red2);margin-left:4px}
.nums span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-top:10px}

/* recordes */
#recordes{background:linear-gradient(180deg,var(--bg),#27282e 40%,var(--bg))}
.recs{display:grid;grid-template-columns:1fr 1.15fr;gap:14px}
@media (max-width:980px){.recs{grid-template-columns:1fr}}
.rec-hero{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(227,18,27,.5);display:flex;flex-direction:column;justify-content:flex-end;padding:30px;text-decoration:none}
@media (max-width:560px){.rec-hero{min-height:540px;padding:22px}}
.rec-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.rec-hero:hover img{transform:scale(1.05)}.rec-hero > cp-enfeite[data-pos="antes"]{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,33,39,.15) 0%,rgba(32,33,39,.3) 40%,rgba(32,33,39,.96) 86%);z-index:1}
.rec-hero>*:not(img){position:relative;z-index:2}
.badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;background:var(--red);padding:7px 12px;text-transform:uppercase;box-shadow:0 0 30px var(--redglow)}
.badge i{width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1s infinite}
.rec-hero .t{font-weight:900;font-style:italic;font-size:clamp(96px,12vw,180px);line-height:.85;letter-spacing:-.04em;margin:20px 0 8px;text-shadow:0 0 60px rgba(227,18,27,.5)}
.rec-hero .t small{font-size:.32em;color:var(--red2);margin-left:6px;letter-spacing:0}
.rec-hero .d{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--steel);text-transform:uppercase}
.rec-hero h3{font-size:clamp(26px,2.4vw,36px);margin-top:16px}
.rec-hero p{color:#c9c9d0;font-size:14px;margin-top:8px;max-width:440px}
.board{border:1px solid var(--line);background:var(--bg2)}
.board-h{display:flex;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.board-h b{color:var(--red2);font-weight:500;display:flex;align-items:center;gap:8px}.board-h b > cp-enfeite[data-pos="antes"]{content:"";width:7px;height:7px;border-radius:50%;background:var(--red2);animation:blink 1s infinite}
.rr{display:grid;grid-template-columns:30px 92px 1fr auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .3s}
.rr:last-child{border-bottom:0}
.rr:hover{background:rgba(227,18,27,.07)}
.rr .pos{font-family:var(--mono);font-size:12px;color:var(--muted)}
.rr img{width:92px;height:92px;object-fit:cover;display:block;border:1px solid var(--line)}
.rr .k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--red2);text-transform:uppercase}
.rr h4{font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(16px,1.4vw,21px);line-height:1.05;margin:5px 0 4px}
.rr .s{color:var(--muted);font-size:13px}
.rr .v{text-align:right;font-weight:900;font-style:italic;font-size:clamp(26px,2.6vw,40px);line-height:1;white-space:nowrap}
.rr .v small{display:block;font-family:var(--mono);font-style:normal;font-weight:500;font-size:10px;letter-spacing:.14em;color:var(--muted);margin-top:6px;text-transform:uppercase}
@media (max-width:560px){.rr{grid-template-columns:64px 1fr;gap:12px;padding:14px}.rr .pos{display:none}.rr img{width:64px;height:64px;grid-row:1 / 3}.rr .v{text-align:left;font-size:24px}.rr .v small{display:inline;margin-left:6px}}
.honors{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.honors span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--line2);color:var(--steel)}
.honors span b{color:#fff;font-weight:700}

/* fotos em cards */
.pc .ph{position:relative;aspect-ratio:1/1;overflow:hidden}
.pc .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s;filter:saturate(.88)}
.pc:hover .ph img{transform:scale(1.07);filter:saturate(1.1)}.pc .ph > cp-enfeite[data-pos="depois"]{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,33,39,.6) 0%,transparent 28%,transparent 55%,#27282e 100%)}
.pc .ph .top{position:absolute;left:20px;right:20px;top:18px;z-index:2}
.pc .pb{padding:0 24px 24px;margin-top:-46px;position:relative;z-index:2;display:flex;flex-direction:column;flex:1}
.marina .mph{width:calc(100% + 60px);margin:-30px -30px 24px;height:300px;object-fit:cover;object-position:center 22%;display:block}
.social .box .sph{width:calc(100% + 68px);margin:-34px -34px 26px;height:300px;object-fit:cover;object-position:center 35%;display:block}

.sfa{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 12px,rgba(255,255,255,.015) 12px 24px),#25262c;border:1.5px dashed rgba(255,255,255,.22);color:#8d8d99;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:center;box-sizing:border-box}.sfa > cp-enfeite[data-pos="antes"]{content:"";width:34px;height:28px;border:2px solid currentColor;border-radius:6px;box-shadow:inset 0 0 0 7px #25262c,inset 0 0 0 10px currentColor;opacity:.7}
.gal figure .sfa,.pc .ph .sfa{width:100%;height:100%}
.rec-hero .sfa{position:absolute;inset:0;justify-content:flex-start;padding-top:90px}
.rr .sfa{width:92px;height:92px;font-size:8px;letter-spacing:.08em}.rr .sfa > cp-enfeite[data-pos="antes"]{width:22px;height:18px;box-shadow:inset 0 0 0 4px #25262c,inset 0 0 0 6px currentColor}
@media (max-width:560px){.rr .sfa{width:64px;height:64px;grid-row:1 / 3}}
/* lab */
.lab{display:grid;grid-template-columns:400px 1fr;gap:20px;align-items:stretch}
@media (max-width:1000px){.lab{grid-template-columns:1fr}}
.lab-side{border:1px solid var(--line);background:var(--bg2);padding:28px;display:flex;flex-direction:column}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:28px}
.tabs button{font-size:11px!important;letter-spacing:.06em!important;padding:12px 2px!important}
.tabs button{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:12px 6px;background:rgba(255,255,255,.06);color:#ececf1;border:1px solid rgba(255,255,255,.26);cursor:pointer;transition:all .25s;line-height:1.3}
.tabs button:hover{background:rgba(227,18,27,.16);border-color:var(--red2);color:#fff}
.tabs button.on{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 24px var(--redglow)}
#labTitle{font-size:clamp(34px,3.2vw,48px);margin-bottom:14px}
#labDesc{color:var(--muted);font-size:15px;min-height:96px}
.specs{margin:22px 0;border-top:1px solid var(--line)}
.specs div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);font-family:var(--mono);font-size:12px}
.specs div span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.specs div b{font-weight:500;text-align:right}
.slider{margin-top:auto}
.slider label{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--steel);margin-bottom:12px;text-transform:uppercase}
.slider label b{color:var(--red2)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(90deg,var(--red) var(--v,40%),rgba(255,255,255,.12) var(--v,40%));outline:none;cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;background:#fff;border:4px solid var(--red);transform:rotate(45deg);box-shadow:0 0 16px var(--red)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#fff;border:4px solid var(--red);border-radius:0;box-shadow:0 0 16px var(--red)}
.lab-view{position:relative;border:1px solid var(--line);background:#202127;height:min(78vh,740px);min-height:460px;overflow:hidden}
#labCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}
#labCanvas:active{cursor:grabbing}
.lab-view .corners{inset:16px}
.lab-hint{position:absolute;left:20px;bottom:18px;z-index:4;font-size:10px;letter-spacing:.22em;color:var(--muted);display:flex;gap:10px;align-items:center}
.lab-hint i{width:7px;height:7px;background:var(--red2);border-radius:50%;animation:blink 1.4s infinite}
.lab-id{display:none;position:absolute;right:20px;top:18px;z-index:4;font-size:10px;letter-spacing:.22em;color:var(--muted);text-align:right;line-height:1.8}

/* stage */
.stage{display:grid;grid-template-columns:380px 1fr;gap:20px}
@media (max-width:1000px){.stage{grid-template-columns:1fr}}
.panel{border:1px solid var(--line);background:var(--bg2);padding:28px}
.lbl{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;margin-bottom:14px;display:block}
.cars{display:flex;flex-direction:column;gap:6px;margin-bottom:30px}
.cars button{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:transparent;border:1px solid var(--line);color:#fff;cursor:pointer;text-align:left;transition:all .3s;font-family:var(--sans)}
.cars button b{font-style:italic;font-weight:800;font-size:17px;text-transform:uppercase}
.cars button span{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em}
.cars button.on{border-color:var(--red);background:rgba(227,18,27,.12)}
.cars button.on span{color:var(--red2)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.steps button{padding:14px 0;background:transparent;border:1px solid var(--line2);color:var(--steel);font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer;transition:all .3s;position:relative}
.steps button.on{background:var(--red);border-color:var(--red);color:#fff}
.steps button.past{border-color:rgba(227,18,27,.6);color:#fff}
#stDesc{color:var(--muted);font-size:14px;margin-top:18px;min-height:64px}
.gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
@media (max-width:560px){.gauges{gap:6px}}
.gauge{position:relative;text-align:center;border:1px solid var(--line);background:var(--bg2);padding:18px 8px 16px}
.gauge svg{width:100%;max-width:170px;overflow:visible}
.gauge path{fill:none;stroke-width:7}
.g-track{stroke:rgba(255,255,255,.07)}
.g-val{stroke:url(#gg);stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 1s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 0 6px rgba(227,18,27,.6))}
.g-num{position:absolute;left:0;right:0;top:44%;transform:translateY(-50%)}
.g-num b{display:block;font-style:italic;font-weight:900;font-size:clamp(24px,3vw,42px);line-height:1;font-variant-numeric:tabular-nums}
.g-num span{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.16em}
.g-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--steel);text-transform:uppercase;margin-top:-6px}
.dyno{border:1px solid var(--line);background:var(--bg2);padding:20px 20px 12px;position:relative}
.dyno-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.legend{display:flex;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--steel);text-transform:uppercase}
.legend i{display:inline-block;width:18px;height:2px;margin-right:6px;vertical-align:middle}
#gain{font-family:var(--mono);font-size:12px;color:var(--red2);letter-spacing:.08em}
#dyno{width:100%;height:auto;display:block}
#dyno text{font-family:var(--mono);font-size:10px;fill:var(--muted)}
.disc{font-family:var(--mono);font-size:10px;color:#5d5d68;letter-spacing:.06em;margin-top:10px}

/* projects */
.proj{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1000px){.proj{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.proj{grid-template-columns:1fr}}
.pc{position:relative;border:1px solid var(--line);background:#27282e;padding:0;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:border-color .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.pc:hover{border-color:rgba(227,18,27,.55);transform:translateY(-6px)}
.pc .top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.pc .top b{color:var(--red2);font-weight:500}
.pc .car{margin:26px -10px 10px;height:130px;position:relative}
.pc .car svg{width:100%;height:100%;overflow:visible}
.pc .car path,.pc .car circle{fill:none;stroke:rgba(255,255,255,.35);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.pc .car .body{stroke-dasharray:1200;stroke-dashoffset:0;transition:stroke .5s}
.pc .car .wh{stroke:rgba(255,255,255,.45)}
.pc:hover .car .body{stroke:var(--red2);animation:draw 1.4s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 0 6px var(--red))}
.pc:hover .car .wh{stroke:#fff;animation:spin 1s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes draw{from{stroke-dashoffset:1200}to{stroke-dashoffset:0}}
@keyframes spin{to{transform:rotate(360deg)}}.pc .car > cp-enfeite[data-pos="depois"]{content:"";position:absolute;left:5%;right:5%;bottom:4px;height:14px;background:radial-gradient(ellipse at center,rgba(227,18,27,.35),transparent 70%);filter:blur(4px);opacity:.5;transition:opacity .4s}.pc:hover .car > cp-enfeite[data-pos="depois"]{opacity:1}
.pc h3{font-size:clamp(28px,2.4vw,36px);margin-bottom:10px}
.pc .big{font-weight:900;font-style:italic;font-size:46px;line-height:1;color:var(--red)}
.pc .big small{font-size:.38em;color:#fff;margin-left:6px;letter-spacing:.04em}
.pc p{color:var(--muted);font-size:14px;margin-top:12px}
.pc .go{margin-top:auto;padding-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);display:flex;gap:10px;align-items:center}
.pc .go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .3s}
.pc:hover .go{color:#fff}.pc:hover .go svg{transform:translateX(5px)}
.also{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;align-items:center}
.also span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;padding:8px 12px;border:1px solid var(--line2);color:var(--steel);text-transform:uppercase}
.also em{font-family:var(--mono);font-style:normal;font-size:11px;letter-spacing:.2em;color:var(--muted);margin-right:6px}

/* pista */
#pista{background:radial-gradient(80% 60% at 20% 0%,rgba(227,18,27,.12),transparent 60%),var(--bg)}
.track{display:grid;grid-template-columns:auto minmax(0,420px);gap:24px;align-items:start;justify-content:start}
.track>*{min-width:0}
@media (max-width:1100px){.track{grid-template-columns:auto minmax(0,1fr)}.track .marina,.track .evcol{grid-column:1 / -1}}
@media (max-width:640px){.track{grid-template-columns:1fr}.evs{grid-template-columns:1fr}}
.tree{width:170px;padding:20px 18px;background:#27282e;border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;align-items:center;position:relative}
@media (max-width:640px){.tree{width:100%;max-width:260px;margin:0 auto}}
.tree .row{display:flex;gap:16px}
.tree .row.s i{width:20px;height:20px}
.bulb{width:38px;height:38px;border-radius:50%;background:#1a1a1f;border:2px solid #24242b;box-shadow:inset 0 -4px 8px rgba(0,0,0,.6);transition:background .08s,box-shadow .08s}
.bulb.y.on{background:#ffe7a3;box-shadow:0 0 20px #ffd36b,0 0 40px #ffb13b}
.bulb.a.on{background:#ffb020;box-shadow:0 0 24px #ff9900,0 0 48px #ff7b00}
.bulb.g.on{background:#3dff7a;box-shadow:0 0 24px #2bff6a,0 0 60px #1cd65a}
.bulb.r.on{background:#ff2a2a;box-shadow:0 0 24px #ff1a1a}
.tree .post{width:6px;height:40px;background:linear-gradient(#222,#111)}
@media (max-width:640px){.tree .post{display:none}}
.go-btn{width:100%;padding:14px 0!important;background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;font-weight:700;font-size:12px!important;letter-spacing:.2em!important;box-shadow:0 0 24px var(--redglow)}
.go-btn:disabled{opacity:.35;box-shadow:none}
.rt-help{font-size:9px;letter-spacing:.12em;color:var(--muted);text-align:center;line-height:1.5;text-transform:uppercase}
.tree button{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--steel);background:transparent;border:1px solid var(--line2);padding:8px 10px;cursor:pointer;text-transform:uppercase;margin-top:6px}
.slipbox{position:relative}
.printer{height:20px;background:linear-gradient(180deg,#26262d,#141418);border:1px solid var(--line2);position:relative;z-index:2}.printer > cp-enfeite[data-pos="depois"]{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;background:#000}
.slipclip{overflow:hidden;margin:-4px 18px 0}
.slip{background:#efeee9;color:#1a1a1a;font-family:var(--mono);font-size:12.5px;padding:24px 22px 30px;line-height:1.75;transform:translateY(-102%);transition:transform 2.4s steps(26);position:relative;
  -webkit-mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x;mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x}
.slip.print{transform:none}
.slip h4{font-size:13px;text-align:center;letter-spacing:.14em;margin-bottom:6px}
.slip .sub{text-align:center;font-size:10px;letter-spacing:.2em;color:#555}
.slip hr{border:0;border-top:1px dashed #999;margin:10px 0}
.slip .ln{display:flex;justify-content:space-between;gap:10px}
.slip .ln b{font-weight:700}
.slip .rec{background:#1a1a1a;color:#efeee9;text-align:center;padding:4px;font-weight:700;letter-spacing:.2em;margin:4px 0}
.slip .big{font-size:30px;font-weight:700;line-height:1.1;text-align:right}
.marina{border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,40,140,.10),rgba(227,18,27,.06) 50%,transparent),var(--bg2);padding:30px;position:relative;overflow:hidden}
.marina .kick{color:#ff4fa3}.marina .kick > cp-enfeite[data-pos="antes"]{background:#ff4fa3}
.marina h3{font-size:clamp(44px,4.6vw,72px);margin:16px 0 18px}
.marina blockquote{font-weight:800;font-style:italic;font-size:20px;line-height:1.25;border-left:2px solid #ff4fa3;padding-left:16px;margin:0 0 22px;text-transform:uppercase}
.marina ul{list-style:none}
.marina li{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:14px;color:#cfcfd6}
.marina li b{font-family:var(--mono);font-size:11px;color:#ff4fa3;min-width:84px;letter-spacing:.1em;padding-top:2px}
.event{border:1px solid rgba(227,18,27,.5);background:linear-gradient(160deg,rgba(227,18,27,.18),transparent 70%),var(--bg2);padding:28px;margin-bottom:14px}
.event h3{font-size:clamp(30px,2.8vw,42px);margin:14px 0 6px}
.event .when{font-family:var(--mono);font-size:12px;color:var(--steel);letter-spacing:.1em}
.cd{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:22px 0 18px}
.cd div{background:#25262c;border:1px solid var(--line);text-align:center;padding:12px 0}
.cd b{display:block;font-family:var(--mono);font-size:clamp(24px,2.4vw,34px);font-weight:700;font-variant-numeric:tabular-nums;color:#fff}
.cd span{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:var(--muted)}
.evs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.evs div{border:1px solid var(--line);padding:14px;background:var(--bg2)}
.evs b{display:block;font-weight:800;font-style:italic;text-transform:uppercase;font-size:15px}
.evs span{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.08em}

/* social */
#social{overflow:hidden}
.social{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
@media (max-width:900px){.social{grid-template-columns:1fr}}
.social h2{font-size:clamp(46px,7vw,110px);margin-top:18px}
.social .box{border:1px solid var(--line);padding:34px;background:var(--bg2);position:relative}
.social .box p{color:#c9c9d0;font-size:17px;margin-bottom:18px}
.heart{position:absolute;right:-60px;top:-60px;width:260px;height:260px;opacity:.07;fill:var(--red)}

/* process */
.proc{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;border-top:1px solid var(--line)}
@media (max-width:1000px){.proc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.proc{grid-template-columns:1fr}}
.proc .bar{position:absolute;top:-1px;left:0;height:2px;width:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(var(--p,0));box-shadow:0 0 14px var(--red)}
.step{padding:34px 26px 30px 0;border-right:1px solid var(--line);margin-right:26px}
.step:last-child{border-right:0}
@media (max-width:1000px){.step{border-right:0;border-bottom:1px solid var(--line);margin-right:0;padding-right:16px}}
.step .n{font-family:var(--mono);font-size:12px;color:var(--red2);letter-spacing:.2em}
.step h4{font-size:24px;margin:16px 0 12px}
.step p{color:var(--muted);font-size:14px}

/* partners */
.partners{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
@media (max-width:760px){.partners{grid-template-columns:1fr}}
.partners div{padding:44px 28px;border-right:1px solid var(--line);text-align:center;transition:background .4s}
.partners div:last-child{border-right:0}
@media (max-width:760px){.partners div{border-right:0;border-bottom:1px solid var(--line)}}
.partners div:hover{background:rgba(227,18,27,.07)}
.partners b{display:block;font-size:clamp(30px,3vw,44px)}
.partners span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--muted);margin-top:12px;text-transform:uppercase}

/* contact */
#contato{padding-bottom:60px}
.cta{position:relative;border:1px solid rgba(227,18,27,.5);overflow:hidden;padding:clamp(40px,7vw,100px) clamp(22px,5vw,80px);background:#27282e}.cta > cp-enfeite[data-pos="antes"]{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(227,18,27,.35) 80%,transparent 90%);animation:rot 8s linear infinite}.cta > cp-enfeite[data-pos="depois"]{content:"";position:absolute;inset:1px;background:radial-gradient(70% 90% at 80% 100%,rgba(227,18,27,.22),transparent 60%),#25262c}
@keyframes rot{to{transform:rotate(360deg)}}
.cta>*{position:relative;z-index:2}
.cta h2{font-size:clamp(50px,9vw,150px)}
.cta h2 em{color:var(--red)}
.cta .cta-row{margin-top:40px}
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;padding-top:30px;border-top:1px solid var(--line)}
@media (max-width:760px){.info{grid-template-columns:1fr}}
.info span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.info b{font-weight:700;font-size:20px}
.info a{text-decoration:none}
footer{padding:40px var(--gut) 50px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:#5f5f6a;text-transform:uppercase;max-width:1360px;margin:0 auto}
.bigname{font-size:clamp(70px,17vw,300px);text-align:center;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);white-space:nowrap;overflow:hidden;user-select:none;padding-top:30px}


/* Websitesfy: menu do celular (o site original escondia o menu em telas pequenas) */
.menu-btn{display:none;background:none;border:0;padding:8px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.menu-btn span{display:block;width:24px;height:2px;background:#111111;border-radius:2px;transition:transform .2s,opacity .2s}
.menu-mobile{display:none;position:fixed;inset:0;z-index:9;background:#FFFFFF;padding:84px 24px 24px;flex-direction:column;gap:6px;overflow:auto}
.menu-mobile a{display:flex;gap:14px;align-items:baseline;padding:14px 4px;border-bottom:1px solid rgba(0,0,0,.08);color:#111111;text-decoration:none;font-weight:700;font-size:1.15rem}
.menu-mobile a span{font-size:.75rem;letter-spacing:.14em;color:#202127}
.menu-mobile a i{font-style:normal}
@media (max-width:640px){.menu-btn{display:flex}}
body.menu-on{overflow:hidden}
body.menu-on .menu-mobile{display:flex}
body.menu-on header{z-index:11}
body.menu-on .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-on .menu-btn span:nth-child(2){opacity:0}
body.menu-on .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Websitesfy: a logo é só a imagem (o nome fica escondido quando há logo) */
.cookies .btn,.privacidade .btn{background:#202127;color:#FFFFFF;border:0;border-radius:999px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none}
.cookies .btn--vazado,.privacidade .btn--vazado,.cookies .btn.btn--vazado{background:transparent;color:#202127;border:1.5px solid #202127}
.header__logo{display:inline-flex;align-items:center}
.header__logo.logo-sem-nome [data-logo-nome]{display:none}

/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* formulário: a isca para robôs fica fora da tela; o aviso de envio aparece forte */
.campo--isca{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form .aviso--status{ opacity:1; font-size:.72rem; margin-top:10px; }
.creditos__vazio{ opacity:.7; }

/* links acadêmicos (contato e rodapé) e arquivos dos trabalhos */
.links-acad{ list-style:none; padding:0; margin:22px 0 0; display:flex; flex-wrap:wrap; gap:10px; }
.links-acad a{
  display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:999px;
  border:1px solid var(--linha-clara); color:var(--bege); font-size:.72rem; letter-spacing:.06em; transition:.3s var(--ease);
}
.links-acad a:hover{ background:var(--creme); color:var(--ocre); border-color:var(--creme); }
.rodape__links{ margin-top:14px !important; }
.rodape__links a{ display:inline-flex; align-items:center; gap:8px; }
.links-acad .is-vazio, .rodape__links .is-vazio{ opacity:.35; }
.artigo__acoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(30px,4vw,48px); }
.btn--vazado{ background:transparent; }
.trab__pdf{
  display:inline-block; margin-top:8px; font-size:.52rem; letter-spacing:.18em; padding:4px 7px; border-radius:2px;
  color:var(--ouro); border:1px solid rgba(var(--ouro-rgb),.45);
}

/* páginas novas: blocos em coluna de leitura, no ritmo do resto do site */
.blocos{ max-width:760px; margin-inline:auto; display:flex; flex-direction:column; gap:clamp(40px,5vw,64px); }
.bloco__titulo{ margin:0 0 16px; }
.bloco__corpo p{ font-size:1rem; line-height:1.75; }
.bloco--imagem{ margin-inline:calc(-1 * clamp(0px, 6vw, 110px)); }
.bloco__foto{ position:relative; margin:0; aspect-ratio:16/9; overflow:hidden; border-radius:2px; box-shadow:var(--s3); }
.bloco__foto img, .bloco__foto .preencher{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bloco__legenda{ margin:12px 0 0; font-size:.72rem; letter-spacing:.08em; color:var(--texto); opacity:.8; text-align:center; }
.bloco--citacao blockquote{ margin:0; padding:clamp(20px,3vw,36px) 0 clamp(20px,3vw,36px) clamp(22px,3vw,40px); border-left:2px solid var(--ouro); }
.bloco--citacao blockquote p{ font-family:var(--serif); font-size:clamp(1.35rem,2.4vw,1.9rem); line-height:1.35; color:var(--tinta); margin:0; }
.bloco--citacao cite{ display:block; margin-top:14px; font-style:normal; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ouro); }
.bloco--botao{ text-align:center; }
.bloco--botao .bloco__titulo{ font-size:clamp(1.2rem,2vw,1.5rem); }
.bloco__galeria{ margin-bottom:22px; }
.bloco__vazio{ opacity:.6; font-style:italic; }

/* ===================================================== UCA: marca em texto
   Enquanto não há logo, o nome faz o papel dela. */
.marca-txt{ font-family:var(--serif); font-size:1.05rem; letter-spacing:.06em; line-height:1.15;
  text-transform:uppercase; display:inline-block; max-width:14ch; }
.header__logo .marca-txt{ color:var(--creme); max-width:none; white-space:nowrap; font-size:.92rem; letter-spacing:.14em; }
.rodape__logo .marca-txt{ color:var(--creme); font-size:1.15rem; margin-bottom:.8rem; }
.capa__marca .marca-txt{ color:var(--creme); font-size:1.3rem; max-width:none; }
@media (max-width:700px){
  .marca-txt{ font-size:.92rem; max-width:11ch; }
  .header__logo .marca-txt{ font-size:.72rem; letter-spacing:.1em; }
}

/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* ---- Bloco "lista de itens": cinco formatos, um modelo de item só.
   Usa os tokens deste modelo, então ele nasce com a cara do site em vez de
   parecer coisa colada de fora. */
.bloco__lista{ margin-top:clamp(18px,2.4vw,30px); }
.bloco__lista--cartoes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:clamp(14px,2vw,24px); }
.itl{ margin:0; }
.itl h3{ margin:0 0 6px; }
.itl__corpo p{ margin:0; }
.itl--cartao{ display:flex; flex-direction:column; gap:10px; }
.itl__foto{ margin:0; position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--creme-2); }
.itl__foto img, .itl__foto .preencher{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* pergunta e resposta: a sanfona é nativa do navegador, sem script */
.bloco__lista--perguntas{ border-top:1px solid var(--linha); }
.itl--pergunta{ border-bottom:1px solid var(--linha); padding:4px 0; }
.itl--pergunta summary{ cursor:pointer; padding:14px 0; list-style:none; display:flex; align-items:center; gap:10px; }
.itl--pergunta summary::-webkit-details-marker{ display:none; }
.itl--pergunta summary::after{ content:"+"; margin-left:auto; opacity:.5; font-size:1.2em; }
.itl--pergunta[open] summary::after{ content:"−"; }
.itl--pergunta .itl__corpo{ padding:0 0 16px; opacity:.85; }
.bloco__lista--precos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:clamp(12px,1.8vw,20px); }
.itl--preco{ border:1px solid var(--linha); padding:clamp(16px,2vw,22px); display:flex; flex-direction:column; gap:8px; }
.itl--preco .itl__marca{ font-weight:700; font-size:clamp(1.3rem,2vw,1.7rem); color:var(--ouro); }
.bloco__lista--linha{ border-left:1px solid var(--linha); padding-left:clamp(16px,2.4vw,28px); }
.itl--linha{ position:relative; padding:0 0 clamp(18px,2.4vw,28px); }
.itl--linha .itl__marca{ display:block; font:600 10px/1 var(--sans); letter-spacing:.16em;
  text-transform:uppercase; color:var(--ouro); margin-bottom:5px; }
.itl--linha > cp-enfeite[data-pos="antes"]{ content:""; position:absolute; left:calc(clamp(16px,2.4vw,28px) * -1 - 4px);
  top:4px; width:7px; height:7px; border-radius:999px; background:var(--ouro); }
.bloco__lista--simples .itl--simples{ padding:14px 0; border-bottom:1px solid var(--linha); }

/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* Imagem livre na seção. */
body > section { position: relative; }
.imagem-livre { position: absolute; z-index: 2; left: 8%; top: 8%; width: min(280px, 42%); margin: 0; line-height: 0; }
.imagem-livre img { display: block; width: 100%; height: auto; border-radius: 8px; }
.imagem-livre--vazia { min-height: 140px; border: 2px dashed currentColor; border-radius: 8px; display: grid; place-items: center; line-height: 1.3; background: #fff; color: #445; }
@media (max-width: 540px) { .imagem-livre { width: min(220px, 55%); } }
/* Em tablet e celular a imagem solta não flutua por cima do texto: entra no fluxo da seção, centralizada.
   A posição escolhida para essa tela (arrastar no editor) continua valendo, como deslocamento a partir daí. */
@media (max-width: 900px) { .imagem-livre { position: relative; left: auto; top: auto; width: min(420px, 88%); margin: clamp(24px, 6vw, 40px) auto; } }


/* ---- Bloco "lista de itens": cinco formatos, um modelo de item só.
   Usa os tokens deste modelo, então ele nasce com a cara do site em vez de
   parecer coisa colada de fora. */
.bloco__lista{ margin-top:clamp(18px,2.4vw,30px); }
.bloco__lista--cartoes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:clamp(14px,2vw,24px); }
.itl{ margin:0; }
.itl h3{ margin:0 0 6px; }
.itl__corpo p{ margin:0; }
.itl--cartao{ display:flex; flex-direction:column; gap:10px; }
.itl__foto{ margin:0; position:relative; aspect-ratio:3/2; overflow:hidden; background:var(--creme-2); }
.itl__foto img, .itl__foto .preencher{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* pergunta e resposta: a sanfona é nativa do navegador, sem script */
.bloco__lista--perguntas{ border-top:1px solid var(--linha); }
.itl--pergunta{ border-bottom:1px solid var(--linha); padding:4px 0; }
.itl--pergunta summary{ cursor:pointer; padding:14px 0; list-style:none; display:flex; align-items:center; gap:10px; }
.itl--pergunta summary::-webkit-details-marker{ display:none; }
.itl--pergunta summary::after{ content:"+"; margin-left:auto; opacity:.5; font-size:1.2em; }
.itl--pergunta[open] summary::after{ content:"−"; }
.itl--pergunta .itl__corpo{ padding:0 0 16px; opacity:.85; }
.bloco__lista--precos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:clamp(12px,1.8vw,20px); }
.itl--preco{ border:1px solid var(--linha); padding:clamp(16px,2vw,22px); display:flex; flex-direction:column; gap:8px; }
.itl--preco .itl__marca{ font-weight:700; font-size:clamp(1.3rem,2vw,1.7rem); color:var(--ouro); }
.bloco__lista--linha{ border-left:1px solid var(--linha); padding-left:clamp(16px,2.4vw,28px); }
.itl--linha{ position:relative; padding:0 0 clamp(18px,2.4vw,28px); }
.itl--linha .itl__marca{ display:block; font:600 10px/1 var(--sans); letter-spacing:.16em;
  text-transform:uppercase; color:var(--ouro); margin-bottom:5px; }
.itl--linha > cp-enfeite[data-pos="antes"]{ content:""; position:absolute; left:calc(clamp(16px,2.4vw,28px) * -1 - 4px);
  top:4px; width:7px; height:7px; border-radius:999px; background:var(--ouro); }
.bloco__lista--simples .itl--simples{ padding:14px 0; border-bottom:1px solid var(--linha); }

/* Quem pode ser movido no editor não anima a própria posição nem o tamanho: a medida que grava o
   lugar novo depende do valor final, e uma transição "all" (como a dos botões) a falseava. */
[data-cp-mover], [data-cp-mover]:hover{ transition-property:color, background-color, border-color, box-shadow, opacity, transform, filter !important; }

/* Marcadores do bloco de texto: cada parágrafo vira um item; a marca sai do CSS, o texto fica sem marcação */
.bloco__corpo--pontos .artigo__par, .bloco__corpo--numeros .artigo__par{ position:relative; padding-left:1.6em; }
.bloco__corpo--pontos .artigo__par p::before{ content:"•"; position:absolute; left:.25em; color:var(--ouro, currentColor); font-weight:700; }
.bloco__corpo--numeros{ counter-reset:cp-par; }
.bloco__corpo--numeros .artigo__par p::before{ counter-increment:cp-par; content:counter(cp-par) "."; position:absolute; left:0; min-width:1.4em; text-align:right; color:var(--ouro, currentColor); font-weight:700; }

/* Bloco de vídeo: arquivo do próprio site, sem autoplay */
.bloco__video{ margin:0; }
.bloco__video-el{ display:block; width:100%; max-height:78vh; border-radius:10px; background:#000; }
.bloco__video-vazio{ display:grid; place-items:center; aspect-ratio:16 / 9; border:2px dashed currentColor; border-radius:10px; opacity:.55; font-size:.95rem; text-align:center; padding:1rem; }

/* Gráficos (bloco "grafico"): barras, linhas e pizza sem biblioteca; a tabela de dados fica escondida fora do editor */
.bloco__grafico{ margin:0; --g-cor:var(--ouro, #b98444); }
.grafico__barras{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.grafico__barras li{ display:grid; grid-template-columns:minmax(5rem, 28%) 1fr auto; align-items:center; gap:.8rem; }
.grafico__rot{ font-size:.92rem; overflow-wrap:anywhere; }
.grafico__trilho{ display:block; height:14px; border-radius:7px; background:rgba(127,127,127,.18); overflow:hidden; }
.grafico__barra{ display:block; height:100%; border-radius:7px; background:var(--g-cor); }
.grafico__val{ font-weight:700; font-variant-numeric:tabular-nums; }
.grafico__linhas{ display:block; width:100%; height:auto; max-height:320px; }
.grafico__eixo{ stroke:rgba(127,127,127,.5); stroke-width:1; }
.grafico__linha{ fill:none; stroke:var(--g-cor); stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; }
.grafico__ponto{ fill:var(--g-cor); }
.grafico__tx{ fill:currentColor; font-size:11px; font-weight:700; }
.grafico__tx--rot{ font-weight:400; opacity:.75; }
.grafico__pizza{ display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; }
.grafico__pizza svg{ width:min(240px, 100%); height:auto; transform:rotate(0deg); }
.grafico__fundo{ fill:none; stroke:rgba(127,127,127,.15); stroke-width:6.5; }
.grafico__fatia{ fill:none; stroke-width:6.5; }
.grafico__fatia--0{ stroke:var(--g-cor); background:var(--g-cor); } .grafico__fatia--1{ stroke:var(--g-cor); background:var(--g-cor); opacity:.78; }
.grafico__fatia--2{ stroke:var(--g-cor); background:var(--g-cor); opacity:.58; } .grafico__fatia--3{ stroke:var(--g-cor); background:var(--g-cor); opacity:.42; }
.grafico__fatia--4{ stroke:var(--g-cor); background:var(--g-cor); opacity:.3; } .grafico__fatia--5{ stroke:var(--g-cor); background:var(--g-cor); opacity:.2; }
.grafico__legenda{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; flex:1 1 12rem; }
.grafico__legenda li{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.6rem; }
.grafico__amostra{ width:14px; height:14px; border-radius:4px; }
.grafico__vazio{ margin:0; padding:1.2rem; text-align:center; border:2px dashed currentColor; border-radius:10px; opacity:.55; }
.grafico__tabela{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.grafico__tabela--edicao{ position:static; width:100%; height:auto; overflow:visible; clip:auto; margin-top:1.2rem; border-collapse:collapse; font-size:.9rem; white-space:normal; }
.grafico__tabela--edicao th, .grafico__tabela--edicao td{ padding:.45rem .6rem; border-top:1px solid rgba(127,127,127,.3); text-align:left; }
.grafico__tabela--edicao td{ font-variant-numeric:tabular-nums; }
.bloco__video-iframe{ aspect-ratio:16 / 9; height:auto; border:0; }

.grafico__trilho{ position:relative; }
.grafico__barra{ position:absolute; top:0; }
.grafico__barra--neg{ background:var(--g-cor); opacity:.55; }
.grafico__zero{ position:absolute; top:-3px; bottom:-3px; width:1px; background:rgba(127,127,127,.7); }
.grafico__grade{ stroke:rgba(127,127,127,.25); stroke-width:1; stroke-dasharray:3 3; }
.grafico__tx--eixo{ font-weight:400; opacity:.65; font-size:10px; }

/* Texto solto numa seção: um parágrafo da própria seção, que se move livremente */
.texto-livre{ margin:1.2rem auto; padding:0 var(--gutter, 1.5rem); max-width:min(46rem, 100%); font-size:1.05rem; line-height:1.6; }
.imagem-livre--video video, .imagem-livre--video iframe{ display:block; width:100%; aspect-ratio:16 / 9; height:auto; border:0; border-radius:10px; background:#000; }

/* Elementos soltos do painel Elementos: um bloco dentro da seção, sem criar seção nova */
.elemento-livre{ position:relative; margin-block:clamp(20px,3vw,40px); }
.elemento-livre .bloco--imagem{ margin-inline:0; }
.elemento-livre .bloco{ margin-block:0; }

/* Formas e linhas (painel Elementos): um bloco de cor recortado; a cor é o fundo do item (--ouro é só o padrão) */
.bloco--forma{ display:flex; justify-content:center; }
.forma{ width:clamp(80px,22vw,180px); aspect-ratio:1; background-color:var(--ouro,#96642A); }
.forma--arredondado{ border-radius:18%; }
.forma--circulo{ border-radius:50%; }
.forma--triangulo{ clip-path:polygon(50% 4%,96% 92%,4% 92%); }
.forma--losango{ clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.forma--hexagono{ clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%); }
.forma--estrela{ clip-path:polygon(50% 2%,61% 36%,98% 36%,68% 57%,79% 92%,50% 71%,21% 92%,32% 57%,2% 36%,39% 36%); }
.forma--seta{ aspect-ratio:2 / 1; clip-path:polygon(0 30%,60% 30%,60% 0,100% 50%,60% 100%,60% 70%,0 70%); }
.forma--coracao{ -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s-8-5.4-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 5.6-8 11-8 11z'/></svg>") center / contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s-8-5.4-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 5.6-8 11-8 11z'/></svg>") center / contain no-repeat; }
.forma--linha, .forma--tracejada, .forma--pontilhada{ width:min(100%,520px); aspect-ratio:auto; height:6px; }
.forma--linha{ border-radius:3px; }
.forma--tracejada{ -webkit-mask:repeating-linear-gradient(90deg,#000 0 22px,transparent 22px 36px); mask:repeating-linear-gradient(90deg,#000 0 22px,transparent 22px 36px); }
.forma--pontilhada{ -webkit-mask:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 16px); mask:repeating-linear-gradient(90deg,#000 0 6px,transparent 6px 16px); }

/* Carrossel de imagens (elemento solto do painel Elementos): o formato (cvi--…) decide o desenho; --pos é a posição do slide em relação ao que está à vista */
.bloco--carrossel{ width:100%; }
.cvi{ position:relative; width:100%; max-width:960px; margin-inline:auto; border-radius:inherit; --q:16/9; --qn:1.7778; }
.cvi__palco{ position:relative; aspect-ratio:var(--q); overflow:hidden; border-radius:inherit; background:rgba(0,0,0,.05); }
.cvi__trilho{ position:absolute; inset:0; }
.cvi__slide{ position:absolute; inset:0; margin:0; border-radius:inherit; overflow:hidden; transition:transform .6s cubic-bezier(.2,.7,.2,1), opacity .6s ease, filter .6s ease; }
.cvi__slide img, .cvi__slide .preencher{ display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.cvi__slide figcaption{ position:absolute; left:0; right:0; bottom:0; padding:2.2rem 1.1rem .9rem; color:#fff; font-size:.95rem; line-height:1.4; background:linear-gradient(transparent, rgba(0,0,0,.62)); }
.cvi__slide figcaption:empty{ display:none; }
.cvi__seta{ position:absolute; top:50%; transform:translateY(-50%); z-index:6; width:42px; height:42px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(255,255,255,.92); color:#1E3A5F; font-size:24px; line-height:1; box-shadow:0 4px 14px rgba(0,0,0,.22); }
.cvi__seta:hover{ background:#fff; }
.cvi__seta--ant{ left:12px; } .cvi__seta--prox{ right:12px; }
.cvi__pontos{ display:flex; justify-content:center; gap:8px; margin-top:12px; }
.cvi__pontos button{ width:9px; height:9px; padding:0; border:0; border-radius:50%; background:currentColor; opacity:.28; cursor:pointer; transition:opacity .2s, transform .2s; }
.cvi__pontos button.is-ativo{ opacity:.95; transform:scale(1.3); }
.cvi[data-controles="setas"] .cvi__pontos, .cvi[data-controles="nenhum"] .cvi__pontos{ display:none; }
.cvi[data-controles="pontos"] .cvi__seta, .cvi[data-controles="nenhum"] .cvi__seta{ display:none; }
/* clássico: uma imagem, as outras esperam ao lado */
.cvi--classico .cvi__slide{ transform:translateX(calc(var(--pos, 0) * 100%)); }
/* transição suave: as imagens se sobrepõem */
.cvi--fade .cvi__slide{ opacity:0; }
.cvi--fade .cvi__slide.is-ativo{ opacity:1; }
.cvi--fade .cvi__seta{ display:none; }
/* destaque central: a imagem grande no meio e as vizinhas menores dos dois lados, como prévias */
.cvi--central .cvi__palco{ overflow:visible; background:none; }
.cvi--central{ overflow-x:clip; overflow-y:visible; padding-block:clamp(14px,3.4%,40px); }      /* clip só dos lados: a sombra da foto central não pode ser cortada embaixo */
.cvi--central .cvi__slide{ inset:0 auto 0 17%; width:66%; opacity:0; pointer-events:none; }
.cvi--central .cvi__slide[data-pos="0"]{ opacity:1; z-index:3; pointer-events:auto; box-shadow:0 2px 6px rgba(0,0,0,.10), 0 14px 30px -10px rgba(0,0,0,.26), 0 30px 56px -24px rgba(0,0,0,.22); }
.cvi--central .cvi__slide[data-pos="-1"]{ opacity:.7; z-index:2; transform:translateX(-76%) scale(.74); filter:saturate(.8); pointer-events:auto; }
.cvi--central .cvi__slide[data-pos="1"]{ opacity:.7; z-index:2; transform:translateX(76%) scale(.74); filter:saturate(.8); pointer-events:auto; }
/* três por vez */
.cvi--cartas .cvi__palco{ aspect-ratio:calc(var(--qn) * 3.06); background:none; overflow:hidden; }
.cvi--cartas .cvi__slide{ inset:0 auto 0 0; width:32.6%; opacity:0; border-radius:10px; }
.cvi--cartas .cvi__slide[data-pos="0"], .cvi--cartas .cvi__slide[data-pos="1"], .cvi--cartas .cvi__slide[data-pos="2"]{ opacity:1; }
.cvi--cartas .cvi__slide{ transform:translateX(calc(var(--pos, 0) * 103%)); }
/* miniaturas */
.cvi--miniaturas-baixo .cvi__slide, .cvi--miniaturas-dir .cvi__slide, .cvi--miniaturas-esq .cvi__slide{ opacity:0; }
.cvi--miniaturas-baixo .cvi__slide.is-ativo, .cvi--miniaturas-dir .cvi__slide.is-ativo, .cvi--miniaturas-esq .cvi__slide.is-ativo{ opacity:1; }
.cvi--miniaturas-baixo .cvi__pontos, .cvi--miniaturas-dir .cvi__pontos, .cvi--miniaturas-esq .cvi__pontos{ display:none; }
.cvi__minis{ display:flex; gap:8px; margin-top:10px; overflow-x:auto; padding-bottom:2px; }
.cvi__mini{ flex:0 0 auto; width:calc(64px * var(--qn)); aspect-ratio:var(--q); padding:0; border:0; border-radius:6px; overflow:hidden; cursor:pointer; opacity:.5; outline:2px solid transparent; outline-offset:2px; transition:opacity .2s, outline-color .2s; background:rgba(0,0,0,.08); }
.cvi__mini img{ display:block; width:100%; height:100%; object-fit:cover; }
.cvi__mini.is-ativo{ opacity:1; outline-color:currentColor; }
.cvi--miniaturas-dir, .cvi--miniaturas-esq{ display:grid; grid-template-columns:minmax(0,1fr) 22%; gap:10px; align-items:stretch; }
.cvi--miniaturas-esq{ grid-template-columns:22% minmax(0,1fr); }
.cvi--miniaturas-esq .cvi__palco{ order:2; } .cvi--miniaturas-esq .cvi__minis{ order:1; }
.cvi--miniaturas-dir .cvi__minis, .cvi--miniaturas-esq .cvi__minis{ flex-direction:column; margin-top:0; overflow-y:auto; height:0; min-height:100%; }   /* a coluna tem a altura da imagem grande e rola */
.cvi--miniaturas-dir .cvi__mini, .cvi--miniaturas-esq .cvi__mini{ width:100%; }
/* cartas empilhadas */
.cvi--empilhado{ padding:0 30px 30px 0; }
.cvi--empilhado .cvi__palco{ overflow:visible; background:none; }
.cvi--empilhado .cvi__slide{ opacity:0; box-shadow:0 10px 24px rgba(0,0,0,.25); }
.cvi--empilhado .cvi__slide[data-pos="0"]{ opacity:1; z-index:4; }
.cvi--empilhado .cvi__slide[data-pos="1"]{ opacity:1; z-index:3; transform:translate(15px,15px) scale(.97); filter:brightness(.92); }
.cvi--empilhado .cvi__slide[data-pos="2"]{ opacity:1; z-index:2; transform:translate(30px,30px) scale(.94); filter:brightness(.84); }
/* faixa contínua: as imagens correm sem parar */
.cvi--faixa .cvi__palco{ aspect-ratio:auto; background:none; }
.cvi--faixa .cvi__trilho{ position:relative; inset:auto; display:flex; gap:12px; width:max-content; animation:cvi-faixa 36s linear infinite; }
.cvi--faixa .cvi__slide{ position:relative; inset:auto; flex:0 0 auto; width:calc(190px * var(--qn)); aspect-ratio:var(--q); border-radius:10px; }
.cvi--faixa .cvi__seta, .cvi--faixa .cvi__pontos{ display:none; }
.cvi--faixa:hover .cvi__trilho{ animation-play-state:paused; }
@keyframes cvi-faixa{ to{ transform:translateX(-50%); } }
html.cp-editando .cvi--faixa .cvi__trilho{ animation:none; }
@media (prefers-reduced-motion:reduce){ .cvi__slide{ transition:none; } .cvi--faixa .cvi__trilho{ animation:none; } }

/* ---- Abas (elemento): rótulos finos sobre uma linha, a aba aberta sublinhada; o conteúdo troca sem animação pesada ---- */
.abas{ width:100%; }
.abas__lista{ display:flex; gap:clamp(18px,3vw,36px); border-bottom:1px solid var(--linha, rgba(0,0,0,.14)); overflow-x:auto; scrollbar-width:none; }
.abas__lista::-webkit-scrollbar{ display:none; }
.abas__aba{ position:relative; flex:0 0 auto; padding:0 0 12px; font-size:.95rem; font-weight:500; letter-spacing:.01em; color:inherit; opacity:.55; cursor:pointer; white-space:nowrap; transition:opacity .2s; }
.abas__aba:hover{ opacity:.85; }
.abas__aba:focus-visible{ outline:2px solid currentColor; outline-offset:4px; border-radius:2px; }
.abas__aba::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s cubic-bezier(.2,.7,.2,1); }
.abas__aba.is-ativa{ opacity:1; }
.abas__aba.is-ativa::after{ transform:scaleX(1); }
.abas__painel{ padding-top:clamp(20px,3vw,32px); }
.abas__painel[hidden]{ display:none; }
.abas__texto{ max-width:62ch; margin:0 0 1.4rem; line-height:1.65; opacity:.85; }
.abas__docs{ display:flex; flex-direction:column; gap:0; }
.abas__docs .doc{ background:none; border:0; border-bottom:1px solid var(--linha, rgba(0,0,0,.12)); border-radius:0; box-shadow:none; padding:18px 0; }
.abas__docs .doc:first-child{ border-top:0; }
@media (prefers-reduced-motion:reduce){ .abas__aba, .abas__aba::after{ transition:none; } }

/* ---- Dentro das abas: área livre para qualquer elemento; arquivo para baixar; pasta de documentos ---- */
.abas__livres{ display:flex; flex-direction:column; gap:clamp(20px,3vw,32px); margin-top:clamp(18px,2.5vw,28px); }
.abas__livres:empty{ display:none; }
.abas__livres .elemento-livre{ margin:0; padding:0; }
.arquivo{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; border-bottom:1px solid var(--linha, rgba(0,0,0,.12)); }
.arquivo__txt h3{ margin:0 0 .25rem; font-size:1.05rem; font-weight:600; }
.arquivo__txt p{ margin:0; opacity:.7; line-height:1.5; }
.arquivo__b{ flex:0 0 auto; }
.arquivo__b--vazio{ opacity:.55; border-style:dashed; cursor:pointer; }
.pasta{ border:1px solid var(--linha, rgba(0,0,0,.14)); border-radius:12px; overflow:hidden; }
.pasta__nome{ display:flex; align-items:center; gap:10px; padding:14px 18px; background:rgba(0,0,0,.03); }
.pasta__nome h3{ margin:0; font-size:1rem; font-weight:600; flex:1; }
.pasta__nome small{ opacity:.55; }
.pasta__doc{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; border-top:1px solid var(--linha, rgba(0,0,0,.1)); }
.pasta__txt{ display:grid; gap:2px; min-width:0; }
.pasta__txt span{ opacity:.65; font-size:.9rem; }
.pasta__b{ flex:0 0 auto; font-size:.85rem; padding:6px 12px; border:1px solid currentColor; border-radius:999px; text-decoration:none; color:inherit; white-space:nowrap; transition:opacity .2s; }
.pasta__b:hover{ opacity:.7; }
.pasta__b--vazio{ opacity:.5; border-style:dashed; cursor:pointer; }
@media (max-width:560px){ .arquivo{ flex-direction:column; align-items:flex-start; } }

/* parte do visual dos modelos do Websitesfy: não vale num site importado */
/* ---- Aviso de cookies e política de privacidade ---- */
.cookies{ position:fixed; z-index:9000; left:16px; bottom:16px; max-width:420px; display:grid; gap:12px; padding:16px 18px; background:#fff; color:#1d2a33; border-radius:12px; box-shadow:0 12px 36px rgba(10,20,30,.22); font-size:.92rem; line-height:1.45; }
.cookies p{ margin:0; }
.cookies a{ color:inherit; text-decoration:underline; }
.cookies__acoes{ display:flex; gap:8px; justify-content:flex-end; }
.cookies .btn, .privacidade .btn{ padding:9px 16px; font-size:.85rem; }
@media (max-width:560px){ .cookies{ left:10px; right:10px; bottom:10px; max-width:none; } }
.privacidade{ position:fixed; inset:0; z-index:9100; display:grid; place-items:center; padding:16px; background:rgba(10,20,30,.45); }
.privacidade__caixa{ position:relative; width:min(640px,100%); max-height:86vh; overflow:auto; padding:clamp(20px,4vw,32px); background:#fff; color:#1d2a33; border-radius:14px; }
.privacidade__caixa h2{ margin:0 0 12px; font-size:1.3rem; }
.privacidade__texto p{ margin:0 0 .9em; line-height:1.6; font-size:.95rem; }
.privacidade__acoes{ display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; margin-top:16px; }
.privacidade__fechar{ position:absolute; top:10px; right:12px; width:34px; height:34px; border:0; background:none; font-size:1.5rem; line-height:1; cursor:pointer; color:inherit; }
.rodape__cookies{ margin-left:auto; color:inherit; opacity:.7; font-size:.85em; text-decoration:underline; }

/* Disposição do nome em relação à logo (Cabeçalho › Posição do nome) e distância entre os dois */
.header .header__logo.logo-com-nome[data-logo-pos="abaixo"]{flex-direction:column;align-items:center}
.header .header__logo.logo-com-nome[data-logo-pos="acima"]{flex-direction:column-reverse;align-items:center}
.header .header__logo.logo-com-nome[data-logo-pos="esquerda"]{flex-direction:row-reverse}
.header .header__logo.logo-com-nome[data-logo-pos="abaixo"] img.header__logo-img,
.header .header__logo.logo-com-nome[data-logo-pos="acima"] img.header__logo-img{max-width:min(220px,54vw)}
.header .header__logo.logo-com-nome[data-logo-pos="abaixo"] [data-logo-nome],
.header .header__logo.logo-com-nome[data-logo-pos="acima"] [data-logo-nome]{text-align:center}
.header .header__logo[data-logo-espaco]{gap:var(--logo-espaco)!important}

/* Colunas dentro da aba: cada elemento escolhe a largura (inteira, 2/3, metade, 1/3); no celular, todos inteiros */
.abas__livres{ --abas-g:clamp(20px,3vw,32px); flex-direction:row !important; flex-wrap:wrap; align-items:flex-start; gap:var(--abas-g) !important; }
.abas__livres > *{ flex:0 0 100%; min-width:0; max-width:100%; }
.abas__livres > .cp-add{ flex:0 0 auto; order:99; }
.abas__livres::after{ content:""; flex:0 0 100%; order:98; height:0; margin-top:calc(-1 * var(--abas-g)); }   /* o + Adicionar vai sempre para a linha de baixo */
.abas__livres > .elemento-livre[data-cp-dim-aplicada]{ flex-basis:auto; }   /* largura dada pelas alças vale mais que a coluna */
.abas__livres > .elemento-livre[data-largura="1/2"]{ flex-basis:calc((100% - var(--abas-g)) / 2); }
.abas__livres > .elemento-livre[data-largura="1/3"]{ flex-basis:calc((100% - 2 * var(--abas-g)) / 3); }
.abas__livres > .elemento-livre[data-largura="2/3"]{ flex-basis:calc((100% - var(--abas-g)) * 2 / 3); }
@media (max-width:540px){ .abas__livres > .elemento-livre[data-largura]{ flex-basis:100%; } }

/* Elemento solto "por cima": fica sobre a seção, no centro, sem empurrar nada; a posição se ajusta arrastando */
body > section:has(> .elemento-livre[data-fluxo="sobre"]){ position:relative; }
.elemento-livre[data-fluxo="sobre"]{ position:absolute; left:50%; top:50%; transform:translate(calc(-50% + var(--d,0px)), calc(-50% + var(--d,0px))); width:min(1100px,92%); max-width:92%; margin:0; z-index:5; }

/* ---- Carrosséis novos: Destaque de página, Polaroides, Galeria giratória, Vertical e Mosaico ---- */
.cvi[data-autoplay="lento"]{ --dur:8s; } .cvi[data-autoplay="medio"]{ --dur:5s; } .cvi[data-autoplay="rapido"]{ --dur:3s; }
/* Destaque de página: foto cheia escurecida, número, categoria, título, resumo, meta, botão e abas de progresso embaixo */
.cvi--destaque{ max-width:none; color:#fff; }
.cvi--destaque .cvi__palco{ aspect-ratio:auto; min-height:clamp(440px,64vh,680px); background:#12262c; }
.cvi--destaque .cvi__slide{ opacity:0; transition:opacity .8s ease; z-index:1; }
.cvi--destaque .cvi__slide.is-ativo{ opacity:1; z-index:2; }
.cvi--destaque .cvi__slide > cp-enfeite[data-pos="depois"]{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, rgba(8,24,30,.86) 0%, rgba(8,24,30,.45) 58%, rgba(8,24,30,.5) 100%), linear-gradient(transparent 55%, rgba(0,0,0,.5)); }
.cvi--destaque .cvi__texto{ position:absolute; z-index:3; left:clamp(22px,7%,120px); right:clamp(22px,22%,320px); top:46%; transform:translateY(-50%); display:grid; gap:.85rem; justify-items:start; }
.cvi--destaque .cvi__num{ font-size:clamp(1.8rem,4vw,3rem); font-weight:700; line-height:1; letter-spacing:-.02em; opacity:.92; }
.cvi--destaque .cvi__num b{ font-weight:700; }
.cvi--destaque .cvi__cat{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; opacity:.85; }
.cvi--destaque .cvi__tit{ margin:0; font-size:clamp(1.9rem,5vw,4rem); line-height:1.02; letter-spacing:-.03em; color:#fff; max-width:18ch; }
.cvi--destaque .cvi__res{ margin:0; max-width:56ch; font-size:clamp(.98rem,1.4vw,1.2rem); line-height:1.5; opacity:.92; }
.cvi--destaque .cvi__meta{ font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; opacity:.75; }
.cvi--destaque .cvi__bt{ color:#fff; border-color:rgba(255,255,255,.7); background:transparent; margin-top:.4rem; }
.cvi--destaque .cvi__abas{ position:absolute; z-index:5; left:clamp(22px,7%,120px); right:clamp(22px,7%,120px); bottom:20px; display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:clamp(12px,3vw,40px); }
.cvi--destaque .cvi__aba{ position:relative; display:flex; gap:.9rem; align-items:baseline; padding:12px 0 0; border:0; border-top:2px solid rgba(255,255,255,.28); background:none; color:rgba(255,255,255,.66); font:inherit; font-size:.86rem; text-align:left; cursor:pointer; transition:color .2s; }
.cvi--destaque .cvi__aba i{ font-style:normal; font-size:.7rem; letter-spacing:.08em; opacity:.7; }
.cvi--destaque .cvi__aba span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cvi--destaque .cvi__aba.is-ativo{ color:#fff; }
.cvi--destaque .cvi__aba.is-ativo::before{ content:""; position:absolute; left:0; top:-2px; height:2px; width:100%; background:#fff; transform-origin:left; }
.cvi--destaque[data-autoplay="lento"] .cvi__aba.is-ativo::before, .cvi--destaque[data-autoplay="medio"] .cvi__aba.is-ativo::before, .cvi--destaque[data-autoplay="rapido"] .cvi__aba.is-ativo::before{ animation:cvi-progresso var(--dur,5s) linear; }
html.cp-editando .cvi--destaque .cvi__aba.is-ativo::before{ animation:none; }
.cvi--destaque .cvi__pontos{ display:none; }
.cvi--destaque .cvi__seta{ top:44%; background:rgba(255,255,255,.14); color:#fff; backdrop-filter:blur(4px); }
@keyframes cvi-progresso{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@media (max-width:700px){ .cvi--destaque .cvi__texto{ right:22px; } .cvi--destaque .cvi__aba span{ display:none; } .cvi--destaque .cvi__seta{ display:none; } }
/* Polaroides: fotos de papel levemente giradas, jogadas uma sobre a outra */
.cvi--polaroide .cvi__palco{ overflow:visible; background:none; }
.cvi--polaroide .cvi__slide{ inset:3% 19% 3% 19%; background:#fff; padding:12px 12px 52px; border-radius:4px; box-shadow:0 14px 34px rgba(0,0,0,.28); opacity:0; transform:translateX(calc(var(--pos,0) * 14%)) rotate(calc(var(--pos,0) * 5deg)); }
.cvi--polaroide .cvi__slide img, .cvi--polaroide .cvi__slide .preencher{ border-radius:2px; height:100%; }
.cvi--polaroide .cvi__slide[data-pos="0"]{ opacity:1; z-index:5; transform:rotate(-1.5deg); }
.cvi--polaroide .cvi__slide[data-pos="-1"], .cvi--polaroide .cvi__slide[data-pos="1"]{ opacity:1; z-index:4; }
.cvi--polaroide .cvi__slide[data-pos="-2"], .cvi--polaroide .cvi__slide[data-pos="2"]{ opacity:1; z-index:3; }
.cvi--polaroide .cvi__slide figcaption{ background:none; color:#2b2b2b; padding:0 12px; bottom:14px; text-align:center; font-size:.9rem; }
.cvi--polaroide{ padding-block:2%; }
/* Galeria giratória: a imagem do meio de frente e as outras viradas em perspectiva */
.cvi--giratorio .cvi__palco{ overflow:hidden; background:none; perspective:1100px; }
.cvi--giratorio .cvi__slide{ inset:4% 22%; opacity:0; border-radius:10px; transform:translateX(calc(var(--pos,0) * 58%)) rotateY(calc(var(--pos,0) * -48deg)) scale(.82); box-shadow:0 16px 36px rgba(0,0,0,.3); }
.cvi--giratorio .cvi__slide[data-pos="0"]{ opacity:1; z-index:5; transform:none; }
.cvi--giratorio .cvi__slide[data-pos="-1"], .cvi--giratorio .cvi__slide[data-pos="1"]{ opacity:.9; z-index:4; }
.cvi--giratorio .cvi__slide[data-pos="-2"], .cvi--giratorio .cvi__slide[data-pos="2"]{ opacity:.5; z-index:3; }
/* Vertical: as imagens sobem e descem, com os pontos na lateral */
.cvi--vertical .cvi__slide{ transform:translateY(calc(var(--pos,0) * 100%)); }
.cvi--vertical .cvi__pontos{ position:absolute; right:14px; top:50%; transform:translateY(-50%); flex-direction:column; margin:0; color:#fff; z-index:6; }
.cvi--vertical .cvi__seta{ left:50%; transform:translateX(-50%) rotate(90deg); }
.cvi--vertical .cvi__seta--ant{ top:12px; } .cvi--vertical .cvi__seta--prox{ top:auto; bottom:12px; }
/* Mosaico: uma imagem grande e duas prévias empilhadas; clicar numa prévia a traz para o destaque */
.cvi--mosaico .cvi__palco{ background:none; overflow:hidden; }
.cvi--mosaico .cvi__slide{ inset:auto; left:101%; top:0; width:32%; height:49%; border-radius:10px; opacity:0; transition:left .6s cubic-bezier(.2,.7,.2,1), top .6s cubic-bezier(.2,.7,.2,1), width .6s cubic-bezier(.2,.7,.2,1), height .6s cubic-bezier(.2,.7,.2,1), opacity .5s; }
.cvi--mosaico .cvi__slide[data-pos="0"]{ left:0; top:0; width:67%; height:100%; opacity:1; z-index:3; }
.cvi--mosaico .cvi__slide[data-pos="1"]{ left:68%; top:0; width:32%; height:49%; opacity:1; cursor:pointer; filter:brightness(.92); }
.cvi--mosaico .cvi__slide[data-pos="2"]{ left:68%; top:51%; width:32%; height:49%; opacity:1; cursor:pointer; filter:brightness(.92); }
.cvi--mosaico .cvi__slide[data-pos="1"]:hover, .cvi--mosaico .cvi__slide[data-pos="2"]:hover{ filter:none; }
.cvi--mosaico .cvi__seta{ display:none; }
@media (prefers-reduced-motion:reduce){ .cvi--destaque .cvi__aba.is-ativo::before{ animation:none !important; } }

/* pontos de navegação como elemento do editor: lado, altura, tamanho, formato, direção, cores e nome sempre à vista */
.trilho[hidden]{ display:none; }
.trilho{ --tr-d:8px; }
.trilho button{ width:var(--tr-d); height:var(--tr-d); }
.trilho[data-tamanho="p"]{ --tr-d:6px; gap:10px; }
.trilho[data-tamanho="g"]{ --tr-d:13px; gap:17px; }
.trilho[data-lado="esquerda"]{ right:auto; left:clamp(14px,1.6vw,26px); }
.trilho[data-lado="esquerda"] button span{ right:auto; left:18px; transform:translateY(-50%) translateX(-6px); }
.trilho[data-lado="esquerda"] button:hover span{ transform:translateY(-50%) translateX(0); }
.trilho[data-altura="topo"]{ top:24%; }
.trilho[data-altura="base"]{ top:76%; }
.trilho[data-formato="tracos"] button{ width:calc(var(--tr-d) * 2.6); height:3px; border-radius:2px; }
.trilho[data-direcao="horizontal"]{ flex-direction:row; right:auto; left:50%; top:auto; bottom:22px; transform:translateX(-50%); }
.trilho[data-direcao="horizontal"][data-altura="topo"]{ top:70px; bottom:auto; }
.trilho[data-direcao="horizontal"] button span{ right:auto; left:50%; top:auto; bottom:18px; transform:translateX(-50%) translateY(6px); }
.trilho[data-direcao="horizontal"] button:hover span{ transform:translateX(-50%) translateY(0); }
.trilho[data-rotulos="sempre"] button span{ opacity:1; }
.trilho[data-rotulos="sempre"][data-lado="direita"][data-direcao="vertical"] button span, .trilho[data-rotulos="sempre"][data-lado="esquerda"][data-direcao="vertical"] button span{ transform:translateY(-50%) translateX(0); }
.trilho[data-rotulos="sempre"][data-direcao="horizontal"] button span{ transform:translateX(-50%) translateY(0); }
body .trilho[data-tr-cor] button{ background:var(--tr-cor); }
body .trilho[data-tr-ativa] button.on{ background:var(--tr-ativa); }
body.secao-escura .trilho[data-tr-cor] button{ background:var(--tr-cor); }
body.secao-escura .trilho[data-tr-ativa] button.on{ background:var(--tr-ativa); }

/* modelos de card, escolhidos no editor para cada lista (atributo data-cartao na grade) */
[data-cartao="imagem-total"] .card{ position:relative; display:block !important; min-height:clamp(320px,32vw,440px); border:0 !important; overflow:hidden; isolation:isolate; }
[data-cartao="imagem-total"] .card__media{ position:absolute !important; inset:0; height:100%; aspect-ratio:auto !important; }
[data-cartao="imagem-total"] .card__media > cp-enfeite[data-pos="depois"]{ background:none !important; }
[data-cartao="imagem-total"] .card__corpo{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(72px,9vw,112px) clamp(20px,2.2vw,28px) clamp(18px,2vw,24px); background:linear-gradient(to top, rgba(5,12,24,.93) 0%, rgba(5,12,24,.76) 40%, rgba(5,12,24,0) 100%); }
[data-cartao="imagem-total"] .card__corpo h3{ color:#fff !important; margin-bottom:8px; }
[data-cartao="imagem-total"] .card__corpo p{ color:rgba(255,255,255,.84) !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
[data-cartao="imagem-total"] .card__pe{ color:#fff !important; border-top-color:rgba(255,255,255,.26) !important; margin-top:14px; padding-top:12px; }
[data-cartao="horizontal"]{ grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)) !important; }
[data-cartao="horizontal"] .card{ display:flex !important; flex-direction:row; }
[data-cartao="horizontal"] .card__media{ flex:0 0 42%; aspect-ratio:auto !important; min-height:220px; }
[data-cartao="horizontal"] .card__corpo{ flex:1; justify-content:center; }
[data-cartao="limpo"] .card{ background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; }
[data-cartao="limpo"] .card:hover{ transform:none !important; box-shadow:none !important; }
[data-cartao="limpo"] .card__media{ border-radius:16px; }
[data-cartao="limpo"] .card__corpo{ padding:16px 2px 0 !important; }
[data-cartao="limpo"] .card__pe{ border-top:0 !important; padding-top:10px; }
[data-cartao="compacto"]{ grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)) !important; gap:14px !important; }
[data-cartao="compacto"] .card{ display:flex !important; flex-direction:row; align-items:center; }
[data-cartao="compacto"] .card__media{ flex:0 0 112px; width:112px; height:112px; aspect-ratio:auto !important; border-radius:14px; margin:12px 0 12px 12px; }
[data-cartao="compacto"] .card__tag, [data-cartao="compacto"] .prov{ display:none; }
[data-cartao="compacto"] .card__corpo{ padding:14px 18px !important; }
[data-cartao="compacto"] .card__corpo p{ display:none; }
[data-cartao="compacto"] .card__pe{ border-top:0 !important; padding-top:6px; }
@media (max-width:640px){
  [data-cartao="horizontal"] .card{ flex-direction:column; }
  [data-cartao="horizontal"] .card__media{ flex:none; aspect-ratio:16/10 !important; min-height:0; }
}

/* carrossel: novos formatos (minimalista, contador, histórias, cartão), transição à escolha, e pontos com lugar e forma à escolha */
.cvi--minimalista .cvi__slide, .cvi--contador .cvi__slide, .cvi--historias .cvi__slide, .cvi--cartao .cvi__slide{ transform:translateX(calc(var(--pos, 0) * 100%)); }
:is(.cvi--classico, .cvi--minimalista, .cvi--contador, .cvi--historias, .cvi--cartao)[data-transicao="esmaecer"] .cvi__slide{ transform:none; opacity:0; transition:opacity .75s ease; z-index:1; }
:is(.cvi--classico, .cvi--minimalista, .cvi--contador, .cvi--historias, .cvi--cartao)[data-transicao="esmaecer"] .cvi__slide.is-ativo{ opacity:1; z-index:2; }
:is(.cvi--classico, .cvi--minimalista, .cvi--contador, .cvi--historias, .cvi--cartao)[data-transicao="zoom"] .cvi__slide{ transform:scale(1.1); opacity:0; transition:opacity .85s ease, transform 1.3s cubic-bezier(.2,.7,.2,1); z-index:1; }
:is(.cvi--classico, .cvi--minimalista, .cvi--contador, .cvi--historias, .cvi--cartao)[data-transicao="zoom"] .cvi__slide.is-ativo{ transform:scale(1); opacity:1; z-index:2; }
.cvi--minimalista .cvi__palco, .cvi--contador .cvi__palco, .cvi--historias .cvi__palco{ border-radius:20px; }
.cvi--minimalista:not([data-controles="setas"]) .cvi__seta, .cvi--historias:not([data-controles="setas"]) .cvi__seta{ display:none; }
.cvi--minimalista[data-pontos-pos="auto"] .cvi__pontos{ position:absolute; left:0; right:0; bottom:16px; margin:0; z-index:7; color:#fff; filter:drop-shadow(0 1px 3px rgba(0,0,0,.45)); }
.cvi--contador[data-pontos-pos="auto"] .cvi__pontos{ display:none; }
.cvi__contador{ position:absolute; right:14px; top:14px; z-index:7; padding:6px 12px; border-radius:999px; background:rgba(10,20,40,.55); color:#fff; font:600 12px/1 system-ui, sans-serif; letter-spacing:.08em; backdrop-filter:blur(6px); pointer-events:none; }
.cvi--historias .cvi__pontos{ position:absolute; left:16px; right:16px; top:14px; margin:0; gap:5px; z-index:7; color:#fff; }
.cvi--historias .cvi__pontos button{ flex:1; width:auto; height:3px; border-radius:2px; background:rgba(255,255,255,.4); opacity:1; transform:none; }
.cvi--historias .cvi__pontos button.is-ativo{ background:#fff; transform:none; }
.cvi--cartao{ padding:12px 12px 6px; background:#fff; border-radius:28px; box-shadow:0 24px 60px rgba(15,30,70,.16); }
.cvi--cartao .cvi__palco{ border-radius:18px; }
.cvi--cartao .cvi__seta{ width:36px; height:36px; }
.cvi[data-pontos-pos="dentro"] .cvi__pontos, .cvi[data-pontos-pos="dentro-esq"] .cvi__pontos, .cvi[data-pontos-pos="dentro-dir"] .cvi__pontos,
.cvi[data-pontos-pos="topo"] .cvi__pontos, .cvi[data-pontos-pos="lateral-dir"] .cvi__pontos, .cvi[data-pontos-pos="lateral-esq"] .cvi__pontos{ position:absolute; margin:0; z-index:7; color:#fff; filter:drop-shadow(0 1px 3px rgba(0,0,0,.45)); }
.cvi[data-pontos-pos="dentro"] .cvi__pontos{ left:0; right:0; bottom:16px; }
.cvi[data-pontos-pos="dentro-esq"] .cvi__pontos{ left:18px; bottom:16px; justify-content:flex-start; }
.cvi[data-pontos-pos="dentro-dir"] .cvi__pontos{ right:18px; bottom:16px; justify-content:flex-end; }
.cvi[data-pontos-pos="topo"] .cvi__pontos{ left:0; right:0; top:16px; }
.cvi[data-pontos-pos="lateral-dir"] .cvi__pontos{ right:16px; top:50%; transform:translateY(-50%); flex-direction:column; }
.cvi[data-pontos-pos="lateral-esq"] .cvi__pontos{ left:16px; top:50%; transform:translateY(-50%); flex-direction:column; }
.cvi[data-pontos-forma="quadrado"] .cvi__pontos button{ border-radius:2px; }
.cvi[data-pontos-forma="barra"] .cvi__pontos button{ width:22px; height:4px; border-radius:2px; }
.cvi[data-pontos-forma="triangulo"] .cvi__pontos button{ width:12px; height:11px; border-radius:0; clip-path:polygon(50% 0, 100% 100%, 0 100%); }
.cvi[data-pontos-forma="losango"] .cvi__pontos button{ width:11px; height:11px; border-radius:0; clip-path:polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }

/* carrossel: para onde as imagens andam (esquerda, direita, cima, baixo) e a barrinha de progresso do destaque com qualquer tempo */
:is(.cvi--classico, .cvi--minimalista, .cvi--contador, .cvi--historias, .cvi--cartao)[data-transicao="deslizar"][data-direcao="direita"] .cvi__slide{ transform:translateX(calc(var(--pos, 0) * -100%)); }
:is(.cvi--classico, .cvi--minimalista, .cvi--contador, .cvi--historias, .cvi--cartao)[data-transicao="deslizar"][data-direcao="cima"] .cvi__slide{ transform:translateY(calc(var(--pos, 0) * 100%)); }
:is(.cvi--classico, .cvi--minimalista, .cvi--contador, .cvi--historias, .cvi--cartao)[data-transicao="deslizar"][data-direcao="baixo"] .cvi__slide{ transform:translateY(calc(var(--pos, 0) * -100%)); }
.cvi--destaque:not([data-autoplay="parado"]) .cvi__aba.is-ativo::before{ animation:cvi-progresso var(--dur,5s) linear; }

/* carrossel: os cantos valem para o carrossel inteiro (moldura e todas as imagens), não para uma imagem só */
.cvi[data-cantos="reto"]{ --cantos:0px; } .cvi[data-cantos="suave"]{ --cantos:14px; } .cvi[data-cantos="redondo"]{ --cantos:28px; } .cvi[data-cantos="grande"]{ --cantos:48px; }
.cvi[data-cantos="reto"], .cvi[data-cantos="suave"], .cvi[data-cantos="redondo"], .cvi[data-cantos="grande"]{ border-radius:var(--cantos); }
.cvi[data-cantos="reto"] .cvi__palco, .cvi[data-cantos="suave"] .cvi__palco, .cvi[data-cantos="redondo"] .cvi__palco, .cvi[data-cantos="grande"] .cvi__palco,
.cvi[data-cantos="reto"] .cvi__slide, .cvi[data-cantos="suave"] .cvi__slide, .cvi[data-cantos="redondo"] .cvi__slide, .cvi[data-cantos="grande"] .cvi__slide,
.cvi[data-cantos="reto"] .cvi__slide img, .cvi[data-cantos="suave"] .cvi__slide img, .cvi[data-cantos="redondo"] .cvi__slide img, .cvi[data-cantos="grande"] .cvi__slide img,
.cvi[data-cantos="reto"] .cvi__slide .preencher, .cvi[data-cantos="suave"] .cvi__slide .preencher, .cvi[data-cantos="redondo"] .cvi__slide .preencher, .cvi[data-cantos="grande"] .cvi__slide .preencher{ border-radius:var(--cantos); }

/* escolhas por tipo de elemento: formato e tamanho do botão, colunas dos números, lado da foto no texto com foto */
.bloco[data-forma-botao="reto"] .btn{ border-radius:0; }
.bloco[data-forma-botao="suave"] .btn{ border-radius:10px; }
.bloco[data-forma-botao="pilula"] .btn{ border-radius:999px; }
.bloco[data-tamanho-botao="pequeno"] .btn{ padding:9px 16px; font-size:.72rem; min-height:36px; }
.bloco[data-tamanho-botao="grande"] .btn{ padding:17px 34px; font-size:.95rem; min-height:58px; }
.bloco--numeros[data-colunas="2"] .bloco__numeros{ grid-template-columns:repeat(2, 1fr); }
.bloco--numeros[data-colunas="3"] .bloco__numeros{ grid-template-columns:repeat(3, 1fr); }
.bloco--numeros[data-colunas="4"] .bloco__numeros{ grid-template-columns:repeat(4, 1fr); }
@media (max-width:640px){ .bloco--numeros[data-colunas="3"] .bloco__numeros, .bloco--numeros[data-colunas="4"] .bloco__numeros{ grid-template-columns:repeat(2, 1fr); } }
.bloco--textoFoto[data-lado-foto="esquerda"] .bloco__lado{ direction:rtl; }
.bloco--textoFoto[data-lado-foto="esquerda"] .bloco__lado > *{ direction:ltr; }
.bloco--textoFoto[data-lado-foto="direita"] .bloco__lado{ direction:ltr; }
@media (max-width:780px){ .bloco--textoFoto[data-lado-foto] .bloco__lado{ direction:ltr; } }

/* lista em cartões: modelos de card (os mesmos das listas do modelo) e colunas da grade */
[data-cartao="imagem-total"] > .itl--cartao{ position:relative; display:block; min-height:clamp(300px,30vw,420px); overflow:hidden; isolation:isolate; }
[data-cartao="imagem-total"] > .itl--cartao .itl__foto{ position:absolute; inset:0; aspect-ratio:auto; }
[data-cartao="imagem-total"] > .itl--cartao .itl__corpo{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(72px,9vw,112px) clamp(18px,2vw,24px) clamp(16px,2vw,22px); background:linear-gradient(to top, rgba(5,12,24,.93) 0%, rgba(5,12,24,.76) 40%, rgba(5,12,24,0) 100%); }
[data-cartao="imagem-total"] > .itl--cartao h3{ color:#fff !important; }
[data-cartao="imagem-total"] > .itl--cartao .itl__corpo p{ color:rgba(255,255,255,.84) !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
[data-cartao="horizontal"] > .itl--cartao{ flex-direction:row; align-items:stretch; }
[data-cartao="horizontal"] > .itl--cartao .itl__foto{ flex:0 0 42%; aspect-ratio:auto; min-height:180px; }
[data-cartao="horizontal"] > .itl--cartao .itl__corpo{ flex:1; align-self:center; }
[data-cartao="limpo"] > .itl--cartao{ background:transparent; border:0; box-shadow:none; border-radius:0; }
[data-cartao="limpo"] > .itl--cartao .itl__foto{ border-radius:16px; }
[data-cartao="compacto"] > .itl--cartao{ flex-direction:row; align-items:center; gap:14px; }
[data-cartao="compacto"] > .itl--cartao .itl__foto{ flex:0 0 96px; width:96px; height:96px; aspect-ratio:auto; border-radius:14px; }
[data-cartao="compacto"] > .itl--cartao .itl__corpo p{ display:none; }
.bloco--lista[data-colunas="2"] .bloco__lista--cartoes{ grid-template-columns:repeat(2, 1fr); }
.bloco--lista[data-colunas="3"] .bloco__lista--cartoes{ grid-template-columns:repeat(3, 1fr); }
.bloco--lista[data-colunas="4"] .bloco__lista--cartoes{ grid-template-columns:repeat(4, 1fr); }
@media (max-width:780px){ .bloco--lista[data-colunas="3"] .bloco__lista--cartoes, .bloco--lista[data-colunas="4"] .bloco__lista--cartoes{ grid-template-columns:repeat(2, 1fr); } [data-cartao="horizontal"] > .itl--cartao{ flex-direction:column; } [data-cartao="horizontal"] > .itl--cartao .itl__foto{ flex:none; aspect-ratio:16/10; } }
@media (max-width:480px){ .bloco--lista[data-colunas] .bloco__lista--cartoes{ grid-template-columns:1fr; } }

/* estilo da citação: linha ao lado (padrão), aspas grandes, centralizada ou em caixa */
.bloco--citacao[data-estilo-citacao="aspas"] blockquote{ border-left:0; padding-left:0; padding-top:clamp(56px,7vw,76px); position:relative; }
.bloco--citacao[data-estilo-citacao="aspas"] blockquote::before{ content:"\201C"; position:absolute; top:0; left:-4px; font-family:var(--serif); font-size:clamp(4.5rem,8vw,6.5rem); line-height:1; color:var(--ouro); }
.bloco--citacao[data-estilo-citacao="centro"] blockquote{ border-left:0; padding-left:0; padding-right:0; text-align:center; position:relative; padding-top:clamp(56px,7vw,76px); }
.bloco--citacao[data-estilo-citacao="centro"] blockquote::before{ content:"\201C"; position:absolute; top:0; left:0; right:0; font-family:var(--serif); font-size:clamp(4.5rem,8vw,6.5rem); line-height:1; color:var(--ouro); }
.bloco--citacao[data-estilo-citacao="caixa"] blockquote{ border-left:0; background:var(--creme-2); border-radius:18px; padding:clamp(22px,3.2vw,40px); }

/* cor do gráfico: a cor do site (padrão) ou uma das cores à escolha */
.bloco[data-cor-grafico="azul"] .bloco__grafico{ --g-cor:#2F5FA8; }
.bloco[data-cor-grafico="verde"] .bloco__grafico{ --g-cor:#2E8B57; }
.bloco[data-cor-grafico="vermelho"] .bloco__grafico{ --g-cor:#C0392B; }
.bloco[data-cor-grafico="laranja"] .bloco__grafico{ --g-cor:#E07B1F; }
.bloco[data-cor-grafico="roxo"] .bloco__grafico{ --g-cor:#7B4FB5; }
.bloco[data-cor-grafico="cinza"] .bloco__grafico{ --g-cor:#6B7280; }

/* abas: estilo */
.bloco--abas[data-estilo-abas="pilulas"] .abas__lista{ border-bottom:0; gap:8px; }
.bloco--abas[data-estilo-abas="pilulas"] .abas__aba{ padding:9px 18px; border-radius:999px; background:rgba(127,127,127,.14); }
.bloco--abas[data-estilo-abas="pilulas"] .abas__aba::after{ display:none; }
.bloco--abas[data-estilo-abas="pilulas"] .abas__aba.is-ativa{ background:var(--tinta); color:var(--fundo, #fff); }
.bloco--abas[data-estilo-abas="caixa"] .abas__lista{ border:1px solid var(--linha, rgba(0,0,0,.14)); border-radius:12px; padding:4px; gap:4px; }
.bloco--abas[data-estilo-abas="caixa"] .abas__aba{ padding:9px 18px; border-radius:9px; }
.bloco--abas[data-estilo-abas="caixa"] .abas__aba::after{ display:none; }
.bloco--abas[data-estilo-abas="caixa"] .abas__aba.is-ativa{ background:rgba(127,127,127,.18); }

/* destaque central com mais prévias: duas imagens de cada lado (precisa de 5 ou mais; sempre simétrico), cada par menor e mais escuro que o anterior; camadas opacas, para uma não aparecer através da outra */
.cvi--central[data-nprev="2"] .cvi__slide{ inset:0 auto 0 25%; width:50%; }
.cvi--central[data-nprev="2"] .cvi__slide[data-pos="-1"]{ opacity:1; transform:translateX(-34%) scale(.76); filter:saturate(.85) brightness(.86); }
.cvi--central[data-nprev="2"] .cvi__slide[data-pos="1"]{ opacity:1; transform:translateX(34%) scale(.76); filter:saturate(.85) brightness(.86); }
.cvi--central[data-nprev="2"] .cvi__slide[data-pos="-2"]{ opacity:1; z-index:1; transform:translateX(-70.5%) scale(.55); filter:saturate(.7) brightness(.72); pointer-events:auto; }
.cvi--central[data-nprev="2"] .cvi__slide[data-pos="2"]{ opacity:1; z-index:1; transform:translateX(70.5%) scale(.55); filter:saturate(.7) brightness(.72); pointer-events:auto; }

/* formulário solto: campos que seguem a cor do texto do site, com borda neutra */
.bloco--formulario .formlivre{ display:grid; gap:14px; max-width:560px; margin-top:12px; }
.formlivre__campo{ display:grid; gap:6px; }
.formlivre__campo label{ font-size:.82rem; letter-spacing:.02em; opacity:.85; }
.formlivre__campo label small{ opacity:.6; }
.formlivre input, .formlivre textarea{ font:inherit; color:inherit; background:transparent; border:1px solid rgba(127,127,127,.4); border-radius:10px; padding:.7rem .85rem; width:100%; box-sizing:border-box; }
.formlivre input:focus-visible, .formlivre textarea:focus-visible{ outline:2px solid currentColor; outline-offset:2px; }
.formlivre textarea{ resize:vertical; min-height:7rem; }
.formlivre__isca{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.formlivre .btn{ justify-self:start; }
.formlivre__st, .formlivre__ok{ margin:0; font-size:.9rem; }
.formlivre__st.is-erro{ color:#b3261e; }
.formlivre__ok{ padding:.9rem 1rem; border:1px solid rgba(127,127,127,.4); border-radius:10px; }

/* celular e tablet: elemento "por cima" sem posição própria nessa tela segue o fluxo da seção; duas prévias de cada lado só em tela larga; formulário em seção clara */
.elemento-livre[data-fluxo="sobre"][data-cp-fluxo-tela]{ position:relative; left:auto; top:auto; transform:none; width:100%; max-width:100%; margin-block:clamp(20px,4vw,32px); z-index:auto; }
@media (max-width:540px){
  .cvi--central[data-nprev="2"] .cvi__slide{ inset:0 auto 0 17%; width:66%; }
  .cvi--central[data-nprev="2"] .cvi__slide[data-pos="-1"]{ opacity:.7; transform:translateX(-76%) scale(.74); filter:saturate(.8); }
  .cvi--central[data-nprev="2"] .cvi__slide[data-pos="1"]{ opacity:.7; transform:translateX(76%) scale(.74); filter:saturate(.8); }
  .cvi--central[data-nprev="2"] .cvi__slide[data-pos="-2"], .cvi--central[data-nprev="2"] .cvi__slide[data-pos="2"]{ opacity:0; pointer-events:none; }
  .abas__lista{ flex-wrap:wrap; row-gap:12px; overflow-x:visible; }
}
.secao--creme2 .form{ background:#fff; border-color:var(--linha); box-shadow:0 22px 44px -26px rgba(var(--azul-rgb),.3); }
.secao--creme2 .campo label{ color:var(--tinta); opacity:.8; }
.secao--creme2 .campo input, .secao--creme2 .campo textarea{ color:var(--tinta); border-bottom-color:rgba(var(--azul-rgb),.3); }
.secao--creme2 .form__aviso, .secao--creme2 .form .aviso{ color:var(--tinta); opacity:.65; }
#participar h2{ margin-bottom:clamp(18px,3vw,28px); }
/* item escondido do menu do celular continua escondido (o display do link vencia o atributo hidden) */
.menu-mobile a[hidden]{ display:none !important; }
/* parte do visual dos modelos do Websitesfy: não vale num site importado */

/* Janela de leitura dos cards: o dialog nativo mantém foco e Escape. */
.card-popup{ width:min(660px,calc(100% - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:0; border-radius:20px; overflow:auto; color:var(--texto,#19343a); background:var(--branco,#fffdf8); box-shadow:0 24px 80px rgba(0,0,0,.28); }
.card-popup::backdrop{ background:rgba(9,27,34,.62); backdrop-filter:blur(4px); }
.card-popup__foto{ display:block; width:100%; max-height:280px; object-fit:cover; }
.card-popup__corpo{ padding:clamp(24px,5vw,40px); }
.card-popup__corpo h2{ margin:0 0 20px; font-size:clamp(25px,4vw,36px); line-height:1.15; }
.card-popup__corpo p{ margin:0 0 16px; font-size:16px; line-height:1.75; white-space:pre-line; }
.card-popup__corpo p:last-child{ margin-bottom:0; }
.card-popup__fechar{ position:sticky; top:12px; float:right; margin:12px 12px -54px 0; z-index:1; display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(0,0,0,.12); border-radius:50%; background:#fffdf8; color:#19343a; font:30px/1 system-ui,sans-serif; cursor:pointer; }
.card-popup__fechar:focus-visible{ outline:3px solid #4a6fa5; outline-offset:3px; }

html.card-popup-aberto{ overflow:hidden; }
