@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/f996cb613.woff2) format("woff2")}

:root{
  --bg:#000;--title:#fff;--body:#bababa;--dim:#7a7a7a;--o:#ff5a06;
  --line:rgba(255,255,255,.09);
  --grad:linear-gradient(95deg,#fff 0%,#fff 18%,#ffb48c 55%,#ff5a06 100%);
  --g-bg:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 100%);
  --g-bd:rgba(255,255,255,.12);
  --g-hi:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.04);
  --blur:blur(24px) saturate(170%);
  --r:28px;--rs:18px;
  --pad:clamp(16px,4vw,56px);--maxw:1320px;
  --ease:cubic-bezier(.2,.7,.1,1);--io:cubic-bezier(.76,0,.24,1);
  --f:"Manrope","Helvetica Neue",Arial,sans-serif;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--f);font-weight:300;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4{color:var(--title);font-weight:300;margin:0;letter-spacing:-.035em;line-height:1.02}
p{margin:0 0 1em}
::selection{background:var(--o);color:#fff}
:focus-visible{outline:2px solid var(--o);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:200;background:#fff;color:#000;padding:10px 16px;border-radius:99px}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.sec{position:relative;padding-block:clamp(80px,10vw,140px)}
.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.04em}
.h-1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.04}
.h-2{font-size:clamp(1.9rem,3.4vw,3.3rem);line-height:1.08}
.h-3{font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.15;letter-spacing:-.02em}
.lead{font-size:clamp(1.08rem,1.35vw,1.3rem);line-height:1.5;color:var(--body);max-width:46ch}
.muted{color:var(--dim)}
.center{text-align:center;margin-inline:auto}
.center .lead{margin-inline:auto}

/* cabeçalho de secção (eyebrow + título + texto) */
.shead{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:clamp(40px,5vw,64px)}
.shead .lead{max-width:52ch}
.shead.l{align-items:flex-start;text-align:left}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.88rem;letter-spacing:.02em;color:#fff;padding:7px 14px 7px 10px;border-radius:99px;background:var(--g-bg);border:1px solid var(--g-bd);box-shadow:var(--g-hi);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--o);box-shadow:0 0 12px var(--o),0 0 0 4px rgba(255,90,6,.18)}
.eyebrow img{width:22px;height:22px;border-radius:50%}
.lines{display:flex;align-items:center;gap:14px;font-size:.88rem;color:#fff;letter-spacing:.02em}
.lines::before,.lines::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--o))}
.lines::after{transform:scaleX(-1)}

/* vidro */
.glass{position:relative;background:radial-gradient(520px circle at var(--mx,50%) var(--my,-40%),rgba(255,90,6,.13),transparent 55%),var(--g-bg);border:1px solid var(--g-bd);box-shadow:var(--g-hi),0 40px 80px -40px rgba(0,0,0,.9);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--r)}
.glow-b{overflow:hidden}
.glow-b::after{content:"";position:absolute;left:8%;right:8%;bottom:-40%;height:70%;background:radial-gradient(closest-side,rgba(255,110,30,.75),rgba(255,90,6,.25) 55%,transparent);filter:blur(18px);pointer-events:none;opacity:.85;transition:opacity .6s,transform .8s var(--ease)}
.glow-t::before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#ffd2b8,var(--o),#ffd2b8,transparent);box-shadow:0 0 18px var(--o),0 0 40px rgba(255,90,6,.6);pointer-events:none}

/* botões */
.btn{--ar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff5a06' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:6px 6px 6px 24px;border-radius:99px;border:1px solid transparent;background:var(--o);color:#fff;font-weight:400;font-size:1rem;cursor:pointer;white-space:nowrap;box-shadow:0 14px 40px -16px rgba(255,90,6,.8);transition:transform .25s var(--ease),box-shadow .4s,background .3s,border-color .3s}
.btn::after{content:"";flex:none;width:40px;height:40px;border-radius:50%;background:#fff var(--ar) center/18px no-repeat;transition:transform .5s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 20px 50px -14px rgba(255,90,6,.95)}
.btn:hover::after{transform:rotate(-45deg)}
.btn:active{transform:scale(.97)}
.btn .ar{display:none}
.btn .av{width:40px;height:40px;margin:0 -4px 0 -18px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.4);position:relative;flex:none}
.btn .av img{width:100%;height:100%;object-fit:cover}
.btn .av::after{content:"";position:absolute;right:0;bottom:0;width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 2px var(--o)}
.btn.ghost,.btn.line{--ar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");background:#000;border-color:rgba(255,255,255,.22);box-shadow:none}
.btn.ghost:hover,.btn.line:hover{border-color:rgba(255,255,255,.5);box-shadow:none}
.btn.ghost .av::after{box-shadow:0 0 0 2px #000}
.btn.white{--ar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");background:#fff;color:#000;box-shadow:none}
.btn.white::after{background-color:#000}
.btn.no-ar{padding:6px 24px}
.btn.no-ar::after{display:none}
.btn.small{min-height:42px;padding:5px 5px 5px 18px;gap:12px;font-size:.94rem}
.btn.small::after{width:32px;height:32px;background-size:15px}
.btn[data-ck],#wizback{justify-content:center;padding:0 1.4em}
.btn[data-ck]::after,#wizback::after{display:none}
.link{display:inline-flex;align-items:center;gap:8px;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:3px;transition:border-color .3s,color .3s}
.link:hover{color:var(--o);border-color:var(--o)}

/* ambiente de fundo */
.amb{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.amb i{position:absolute;border-radius:50%;filter:blur(100px);will-change:transform}
.amb .a1{width:55vw;height:55vw;left:-25vw;top:30vh;background:radial-gradient(closest-side,rgba(255,90,6,.16),transparent);animation:drift 30s ease-in-out infinite alternate}
.amb .a2{width:45vw;height:45vw;right:-22vw;top:-10vh;background:radial-gradient(closest-side,rgba(255,90,6,.12),transparent);animation:drift 36s ease-in-out infinite alternate-reverse}
.amb::after{content:"";position:absolute;inset:0;opacity:.06;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 drift{to{transform:translate3d(10vw,-12vh,0) scale(1.2)}}
.grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 0%,transparent 75%)}
.dots-bg{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 20%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 50% at 50% 20%,#000,transparent 75%)}

/* ---------- cortina e abertura (logo BC) ---------- */
.curtain{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:0;visibility:hidden;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1);transition:opacity .45s var(--io),-webkit-backdrop-filter .45s var(--io),backdrop-filter .45s var(--io),visibility 0s .45s}
.curtain.up{opacity:1;visibility:visible;pointer-events:auto;-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);transition:opacity .35s var(--io),-webkit-backdrop-filter .35s var(--io),backdrop-filter .35s var(--io),visibility 0s}

/* ---------- loader (abertura do site antigo: BC faz zoom e desaparece, depois o site fica nítido) ---------- */
body.is-loading{overflow:hidden}
.loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#000;pointer-events:none;animation:ldVeil .3s ease .3s forwards}
.ld-mark{width:min(88vw,88vh*1.356);aspect-ratio:1400/1034;transform:scale(var(--bcs,.14));filter:drop-shadow(0 0 6px rgba(255,91,6,.45));animation:ldZoom .5s cubic-bezier(.55,.05,.35,1) .05s both}
.ld-mark img{width:100%;height:100%;display:block}
@keyframes ldZoom{from{transform:scale(var(--bcs,.14));opacity:1}55%{opacity:.85}to{transform:scale(1);opacity:0}}
@keyframes ldVeil{to{background-color:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4)}}
@keyframes ldClear{from{background-color:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4)}to{background-color:rgba(0,0,0,0);-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1);opacity:0}}
.loader.out{animation:ldClear .45s var(--io) forwards}
@media (prefers-reduced-motion:reduce){.ld-mark{animation:none}}

/* ---------- cabeçalho ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:80;padding:14px var(--pad);transition:transform .6s var(--ease)}
.hdr.hide{transform:translateY(-120%)}
.hdr .in{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}
.logo{display:flex;align-items:center;color:#fff;width:max-content}
.logo svg,.logo img{height:34px;width:auto}
.nav{position:relative;display:flex;gap:2px;padding:5px;border-radius:99px;background:rgba(20,20,20,.45);border:1px solid var(--g-bd);box-shadow:var(--g-hi);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.nav a{position:relative;z-index:1;padding:9px 15px;border-radius:99px;font-size:.92rem;color:rgba(255,255,255,.75);transition:color .3s}
.nav a:hover,.nav a.on{color:#fff}
.nav .ind{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:99px;background:var(--o);opacity:0;transition:transform .55s var(--ease),width .55s var(--ease),opacity .3s}
.hdr-r{justify-self:end;display:flex;align-items:center;gap:10px}
.seal-mini{display:flex;align-items:center;gap:8px;font-size:.74rem;line-height:1.2;color:#fff;padding:4px 12px 4px 4px;border-radius:99px;background:rgba(20,20,20,.45);border:1px solid var(--g-bd);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.seal-mini img{width:34px;height:34px;border-radius:50%}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--g-bd);background:rgba(20,20,20,.5);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);cursor:pointer;position:relative}
.burger span{position:absolute;left:14px;right:14px;height:1.5px;background:#fff;transition:transform .5s var(--ease)}
.burger span:first-child{top:19px}.burger span:last-child{top:26px}
.menu-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--pad) 28px;background:radial-gradient(120% 55% at 50% 115%,rgba(255,90,6,.65),rgba(255,90,6,.1) 55%,transparent 75%),rgba(0,0,0,.88);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);clip-path:circle(0 at calc(100% - 40px) 38px);transition:clip-path .8s var(--io);visibility:hidden}
.menu-open .mmenu{clip-path:circle(150% at calc(100% - 40px) 38px);visibility:visible}
.mmenu nav{display:flex;flex-direction:column}
.mmenu nav a{font-size:clamp(2.2rem,9vw,3.4rem);line-height:1.15;color:#fff;letter-spacing:-.03em;display:flex;gap:14px;align-items:baseline}
.mmenu nav a span{font-size:.9rem;color:var(--o);width:24px}
.mmenu .meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;color:#fff}

/* ---------- páginas ---------- */
.page{display:none}
.page.on{display:block}
.phero{position:relative;padding:calc(150px + env(safe-area-inset-top,0)) 0 clamp(60px,8vw,110px);overflow:hidden}
.phero .h-1{max-width:16ch}
.phero.c{text-align:center}
.phero.c .h-1{margin-inline:auto}
.phero.c .lead{margin-inline:auto}
.crumbs{display:flex;gap:10px;justify-content:inherit;color:var(--dim);font-size:.9rem;margin-bottom:26px}
.phero.c .crumbs{justify-content:center}
.crumbs a:hover{color:#fff}
.phero .beam{position:absolute;left:50%;top:-30%;width:min(60vw,700px);height:120%;translate:-50% 0;background:radial-gradient(closest-side,rgba(255,90,6,.35),transparent);filter:blur(30px);pointer-events:none}

/* ---------- HERO (ref. principal) ---------- */
.hero{position:relative;padding:calc(150px + env(safe-area-inset-top,0)) 0 0;text-align:center;overflow:hidden;isolation:isolate}
.h-glow{position:absolute;left:50%;top:-38%;width:min(1200px,120vw);height:90%;translate:-50% 0;background:radial-gradient(50% 50% at 50% 50%,rgba(255,90,6,.55),rgba(255,90,6,.16) 45%,transparent 72%);filter:blur(10px);z-index:-2}
.h-glow::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent)}
.h-arc{position:absolute;left:50%;top:clamp(170px,22vh,230px);width:min(1500px,150vw);height:900px;translate:-50% 0;border-radius:50%;border-top:1.5px solid rgba(255,225,205,.95);box-shadow:0 -6px 34px rgba(255,120,40,.8),inset 0 26px 60px -20px rgba(255,90,6,.6);-webkit-mask-image:linear-gradient(90deg,transparent 6%,#000 30%,#000 70%,transparent 94%);mask-image:linear-gradient(90deg,transparent 6%,#000 30%,#000 70%,transparent 94%);z-index:-1;animation:arcIn 2s var(--ease) .2s both}
@keyframes arcIn{from{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:none}}
.h-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;padding-inline:var(--pad);margin-top:clamp(40px,7vh,70px)}
.h-title{font-size:clamp(2.5rem,5.2vw,4.9rem);line-height:1.04;letter-spacing:-.045em}
.h-title .ln{display:block;overflow:hidden;padding-bottom:.06em}
.h-title .ln>span{display:inline-block;transform:translateY(105%);transition:transform 1.3s var(--ease)}
.ready .h-title .ln>span{transform:none}
.ready .h-title .ln:nth-child(2)>span{transition-delay:.12s}
.hero .lead{max-width:44ch;font-size:clamp(1rem,1.2vw,1.12rem)}
.h-fade{opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease) .5s,transform 1.2s var(--ease) .5s}
.ready .h-fade{opacity:1;transform:none}
.ready .h-fade.d2{transition-delay:.65s}
.ready .h-fade.d3{transition-delay:.85s}
.h-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.h-line{position:relative;width:min(1000px,80vw);height:2px;margin:clamp(60px,9vh,90px) auto 0;background:linear-gradient(90deg,transparent,#ffd9c4 35%,#fff 50%,#ffd9c4 65%,transparent);box-shadow:0 0 30px 6px rgba(255,90,6,.55),0 0 80px 20px rgba(255,90,6,.25);border-radius:2px}
.dash-wrap{perspective:1600px;padding:0 var(--pad);margin-top:-1px}
.dash{position:relative;max-width:1180px;margin:0 auto;padding:10px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 -30px 100px -40px rgba(255,90,6,.7),0 60px 120px -50px rgba(0,0,0,.9);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transform-origin:50% 0;transform:rotateX(var(--tilt,0deg)) scale(var(--sc,1))}
.dash .hero-reel{width:100%!important;min-width:0!important;margin:0!important;aspect-ratio:16/9;border-radius:20px!important;overflow:hidden;background:#000!important;box-shadow:0 0 0 1px rgba(255,255,255,.06)!important;transform:none!important}
.dash::before{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#fff,transparent);box-shadow:0 0 20px var(--o)}
/* motion por dentro, nas cores novas */
.reel{background:#000!important}
.rl-shot{background:#000}
.rl-veil{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.72))!important}
.rl-man .o,.rl-num b,.rl-stat b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.rl-man .o i{background:#fff}
.rl-orange{background:radial-gradient(90% 80% at 50% 110%,#ff5a06 0%,rgba(255,90,6,.55) 32%,rgba(255,90,6,.08) 62%,#000 82%)!important}
.rl-dark{color:#fff!important;text-shadow:0 0 60px rgba(255,90,6,.6)}
.rl-chip{background:rgba(0,0,0,.45)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.rl-chip[data-k=s]{background:rgba(255,90,6,.25)!important;border-color:rgba(255,140,80,.6)!important}
.rl-serif{font-style:normal!important;font-family:var(--f)!important}
.rl-toggle{background:rgba(0,0,0,.45)!important}
.rl-live i{background:var(--o)}

/* ---------- serviços: grelha de cartões (ref. features) ---------- */
.feat{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.fc{grid-column:span 2;padding:0 26px 28px;overflow:hidden;display:flex;flex-direction:column;border-radius:22px;transition:transform .7s var(--ease),border-color .4s}
.fc.wide{grid-column:span 3}
.fc:hover{transform:translateY(-6px);border-color:rgba(255,150,100,.35)}
.fc::before{content:"";position:absolute;right:-10%;top:-30%;width:70%;height:80%;background:radial-gradient(closest-side,rgba(255,170,120,.5),rgba(255,90,6,.18) 50%,transparent);filter:blur(12px);transform:rotate(-20deg);pointer-events:none}
.fc::after{content:"";position:absolute;right:6%;top:-20%;width:2px;height:70%;background:linear-gradient(180deg,transparent,rgba(255,220,200,.8),transparent);transform:rotate(38deg);filter:blur(1px);opacity:.7;pointer-events:none}
.fc h3{font-size:1.25rem;letter-spacing:-.02em;margin:6px 0 8px;position:relative}
.fc p{margin:0;font-size:.95rem;position:relative;max-width:42ch}
.fc-vis{position:relative;height:210px;margin:0 -26px 10px;display:grid;place-items:center}
.v-core .core{position:relative;z-index:2;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#2a2a2a,#0a0a0a);border:1px solid rgba(255,160,110,.6);box-shadow:0 0 0 10px rgba(255,90,6,.08),0 0 50px rgba(255,90,6,.55)}
.v-core .core svg{width:38px;fill:#fff}
.v-core .ln{position:absolute;top:50%;height:1px;width:34%;background:linear-gradient(90deg,transparent,rgba(255,180,140,.9));}
.v-core .l1{left:6%}.v-core .l2{right:6%;transform:scaleX(-1)}
.v-core .ln::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 12px var(--o);animation:runL 3s ease-in-out infinite}
@keyframes runL{0%{right:100%;opacity:0}30%{opacity:1}100%{right:0;opacity:1}}
.v-flow .orb{position:relative;z-index:2;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#ff8a4a,#ff5a06);box-shadow:0 0 0 12px rgba(255,90,6,.12),0 0 50px rgba(255,90,6,.6)}
.v-flow .orb svg{width:30px;height:30px;color:#fff}
.v-flow .orbit{position:absolute;width:170px;height:170px;border-radius:50%;border:1px dashed rgba(255,255,255,.15);animation:spin 30s linear infinite}
.v-flow img{position:absolute;width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #111;z-index:3}
.v-flow .o1{top:22px;left:calc(50% + 20px)}.v-flow .o2{bottom:30px;left:calc(50% - 90px)}.v-flow .o3{top:90px;right:calc(50% - 100px)}
.v-land .wave{position:absolute;left:0;right:0;bottom:0;width:100%;height:150px}
.v-land .pt{position:absolute;right:30%;top:62px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(255,90,6,.3),0 0 20px var(--o)}
.v-q .qs{display:grid;gap:8px;width:72%}
.v-q .qs span{font-size:.84rem;padding:9px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:var(--body);transition:all .5s}
.v-q .qs span.on{background:rgba(255,90,6,.14);border-color:rgba(255,140,80,.55);color:#fff;box-shadow:0 0 24px -6px rgba(255,90,6,.6)}
.v-talks .tb{display:flex;align-items:flex-end;gap:14px;height:160px;width:80%}
.v-talks .tb i{position:relative;flex:1;height:var(--h);border-radius:12px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 2px,transparent 2px 7px),linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.02))}
.v-talks .tb i.on{background:linear-gradient(180deg,#ffb48c,#ff5a06);box-shadow:0 0 30px rgba(255,90,6,.55)}
.v-talks .tb em{position:absolute;bottom:calc(100% + 10px);left:50%;translate:-50% 0;font-style:normal;font-size:.74rem;white-space:nowrap;padding:6px 10px;border-radius:99px;background:rgba(20,20,20,.9);border:1px solid rgba(255,140,80,.5);color:#fff}

/* ---------- marcas (carrossel do site antigo) ---------- */
.brands{padding:40px 0 20px}
.brands p{text-align:center;color:var(--dim);font-size:.92rem;margin-bottom:26px}
.mq{overflow:hidden;padding:22px 0;border-block:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mq+.mq{border-top:0}
.mq .trk{display:flex;width:max-content;gap:56px;animation:mq 50s linear infinite}
.mq.r .trk{animation-direction:reverse;animation-duration:60s}
.mq:hover .trk{animation-play-state:paused}
.mq span{font-size:clamp(1.4rem,2.4vw,2.2rem);letter-spacing:-.03em;white-space:nowrap;color:#5d5d5d;display:flex;align-items:center;gap:56px;transition:color .3s}
.mq span:hover{color:#fff}
.mq span.o{color:#fff}
.mq span.o::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--o);box-shadow:0 0 14px var(--o);margin-right:-34px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- números ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{padding:30px 26px 34px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between}
.stat b{font-weight:300;font-size:clamp(2.8rem,4.8vw,4.6rem);line-height:1;letter-spacing:-.05em;display:block}
.stat>span{color:var(--body);font-size:.98rem;position:relative;z-index:1;max-width:20ch}
.stat .bars{position:absolute;right:20px;top:24px;display:flex;align-items:flex-end;gap:5px;height:46px;opacity:.9}
.stat .bars i{width:7px;border-radius:4px;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.05));height:var(--h)}
.stat .bars i.on{background:linear-gradient(180deg,#ffd6c0,#ff5a06);box-shadow:0 0 12px rgba(255,90,6,.7)}

/* ---------- secção clara ---------- */
.light{background:#fff;color:#4a4a4a;border-radius:clamp(28px,4vw,56px);margin-inline:clamp(8px,1.4vw,20px);--grad:linear-gradient(95deg,#000 0%,#000 15%,#ff5a06 100%)}
.light h2,.light h3,.light .h-3{color:#000}
.light .lead{color:#555}
.light .eyebrow{color:#000;background:#f3f3f3;border-color:rgba(0,0,0,.08);box-shadow:none}
.cmp-sw{display:inline-flex;align-items:center;gap:14px;background:none;border:0;cursor:pointer;color:#000;font-size:1rem;padding:0}
.cmp-sw .t{width:74px;height:40px;border-radius:99px;background:#ececec;position:relative;transition:background .4s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cmp-sw .t::after{content:"";position:absolute;top:4px;left:4px;width:32px;height:32px;border-radius:50%;background:#000;transition:transform .5s var(--ease),background .4s}
.cmp-sw[aria-checked=true] .t{background:var(--o);box-shadow:0 0 24px rgba(255,90,6,.55)}
.cmp-sw[aria-checked=true] .t::after{transform:translateX(34px);background:#fff}
.cmp-sw .a,.cmp-sw .b{transition:color .3s}
.cmp-sw[aria-checked=true] .a,.cmp-sw:not([aria-checked=true]) .b{color:#aaa}
.cmp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.cmp-card{position:relative;border-radius:var(--r);background:#f4f4f4;padding:30px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:background .6s var(--ease),color .6s}
.cmp-card .n{font-size:.9rem;color:#999}
.cmp-card .tx{position:relative;height:3.6em;font-size:clamp(1.3rem,1.9vw,1.75rem);line-height:1.2;letter-spacing:-.025em;color:#000}
.cmp-card .tx span{position:absolute;inset:0;transition:opacity .5s,transform .6s var(--ease)}
.cmp-card .tx .s{text-decoration:line-through;text-decoration-color:rgba(0,0,0,.35);text-decoration-thickness:1px;color:#8a8a8a}
.cmp-card .tx .gd{opacity:0;transform:translateY(14px)}
.on-good .cmp-card{background:#000;color:#fff}
.on-good .cmp-card::after{content:"";position:absolute;left:10%;right:10%;bottom:-50%;height:80%;background:radial-gradient(closest-side,rgba(255,90,6,.8),transparent);filter:blur(20px)}
.on-good .cmp-card .tx{color:#fff}
.on-good .cmp-card .tx .s{opacity:0;transform:translateY(-14px)}
.on-good .cmp-card .tx .gd{opacity:1;transform:none}
.on-good .cmp-card:nth-child(2) .tx span{transition-delay:.1s}
.on-good .cmp-card:nth-child(3) .tx span{transition-delay:.2s}

/* ---------- serviços: cartões de vidro inclinados (ref. Vevox) ---------- */
.svc-stage{position:relative;display:grid;gap:clamp(28px,4vw,48px);max-width:900px;margin:0 auto;perspective:1400px}
.svc-stage::before{content:"";position:absolute;left:50%;top:-10%;bottom:-10%;width:3px;translate:-50% 0;background:linear-gradient(180deg,transparent,rgba(255,180,140,.9),rgba(255,90,6,.9),transparent);box-shadow:0 0 30px 8px rgba(255,90,6,.35);filter:blur(1px);z-index:-1}
.svc{display:block;border-radius:30px;overflow:hidden;transform:rotate(var(--rot,0deg)) translateX(var(--sx,0));transition:transform 1s var(--ease),border-color .4s,box-shadow .5s}
.svc:hover{border-color:rgba(255,150,100,.45);box-shadow:var(--g-hi),0 40px 100px -40px rgba(255,90,6,.7)}
.svc .top{position:relative;padding:34px 36px 30px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;overflow:hidden}
.svc .top::before{content:"";position:absolute;left:15%;right:15%;bottom:-70%;height:130%;background:radial-gradient(closest-side,rgba(255,120,40,.85),rgba(255,90,6,.3) 50%,transparent);filter:blur(16px);pointer-events:none;transition:transform .8s var(--ease)}
.svc:hover .top::before{transform:scale(1.15)}
.svc .k{position:relative;font-size:.92rem;color:#ffd9c4;margin-bottom:8px}
.svc h3{position:relative;font-size:clamp(2.2rem,4.6vw,3.8rem);letter-spacing:-.045em}
.svc .ic{position:relative;flex:none;width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.svc .ic svg{width:26px;height:26px;stroke:#fff}
.svc .bot{border-top:1px solid rgba(255,255,255,.12);padding:22px 36px 28px;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.svc .bot p{margin:0;max-width:48ch;color:var(--body)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:.84rem;color:#fff;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid var(--g-bd)}
.light .chip{color:#000;background:#f1f1f1;border-color:rgba(0,0,0,.06)}

/* ---------- casos: bento ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.case{grid-column:span 3;display:flex;flex-direction:column;min-height:520px;overflow:hidden;transition:transform .8s var(--ease),border-color .4s}
.case:hover{transform:translateY(-6px);border-color:rgba(255,150,100,.4)}
.case.w4{grid-column:span 4}.case.w2{grid-column:span 2}
.case .tx{position:relative;z-index:2;padding:28px 28px 0}
.case .tag{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:#fff;margin-bottom:14px}
.case .tag i{width:6px;height:6px;border-radius:50%;background:var(--o);box-shadow:0 0 10px var(--o)}
.case h3{font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:-.035em;margin-bottom:10px}
.case p{color:var(--body);margin:0;max-width:44ch;font-size:.98rem}
.case .vis{position:relative;flex:1;margin-top:24px;min-height:240px}
.case .vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%);transition:transform 1.2s var(--ease)}
.case:hover .vis img{transform:scale(1.05)}
.case .kp{position:absolute;z-index:3;left:24px;bottom:24px;display:flex;flex-wrap:wrap;gap:8px;right:24px}
.case .kp span{font-size:.84rem;color:#fff;padding:8px 13px;border-radius:99px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.case .kp span:first-child{background:linear-gradient(180deg,rgba(255,122,51,.9),rgba(255,90,6,.9));border-color:rgba(255,160,110,.6);box-shadow:0 0 20px rgba(255,90,6,.5)}
.case.brand .vis{display:grid;place-items:center}
.case.brand .sym{width:46%;max-width:220px;filter:drop-shadow(0 0 30px rgba(255,255,255,.15));transition:transform 1s var(--ease)}
.case.brand:hover .sym{transform:scale(1.08) rotate(-3deg)}
.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:16px}
.brand-tile{aspect-ratio:1;border-radius:22px;display:grid;place-items:center;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);transition:transform .7s var(--ease)}
.brand-tile svg{width:52%;height:52%;transition:transform .7s var(--ease)}
.brand-tile:hover{transform:translateY(-4px)}
.brand-tile:hover svg{transform:scale(1.1)}
.brand-tile span{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-size:.74rem;color:rgba(255,255,255,.8);opacity:0;transition:opacity .4s}
.brand-tile:hover span{opacity:1}

/* ---------- método: perguntas ---------- */
.mq2{position:relative}
.qrail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px max(var(--pad),calc((100vw - var(--maxw))/2 + var(--pad))) 30px;scroll-padding-left:max(var(--pad),calc((100vw - var(--maxw))/2 + var(--pad)));scrollbar-width:none}
.qrail::-webkit-scrollbar{display:none}
.q{flex:0 0 clamp(260px,26vw,340px);scroll-snap-align:start;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;background:#f4f4f4;transition:transform .7s var(--ease)}
.q:hover{transform:translateY(-6px)}
.q .t{padding:24px 24px 18px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.q .n{font-size:.85rem;color:var(--o)}
.q p{margin:0;font-size:1.45rem;line-height:1.15;letter-spacing:-.025em;color:#000}
.q figure{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden}
.q figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.q:hover figure img{transform:scale(1.05)}
.q figcaption{position:absolute;left:14px;bottom:14px;font-size:.8rem;color:#fff;padding:7px 12px;border-radius:99px;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.rail-nav{display:flex;gap:10px}
.rail-nav button{width:50px;height:50px;border-radius:50%;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;display:grid;place-items:center;color:#000;transition:background .3s,color .3s}
.rail-nav button:hover{background:var(--o);color:#fff;border-color:var(--o)}
.rail-nav svg{width:20px;height:20px}

/* ---------- TOP 5% (ref. pasta de vidro com pilar de luz) ---------- */
.top5{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.pillar{position:relative;height:clamp(420px,46vw,600px);display:grid;place-items:center}
.pillar .light-col{position:absolute;left:50%;top:0;width:44%;height:72%;translate:-50% 0;background:linear-gradient(180deg,rgba(255,90,6,0),rgba(255,90,6,.35) 40%,rgba(255,170,120,.9) 92%,#fff 100%);filter:blur(10px);border-radius:8px;animation:pil 5s ease-in-out infinite alternate}
.pillar .light-col::after{content:"";position:absolute;left:-30%;right:-30%;bottom:-20px;height:60px;background:radial-gradient(closest-side,rgba(255,220,200,.95),rgba(255,90,6,.5),transparent);filter:blur(8px)}
@keyframes pil{from{opacity:.75}to{opacity:1}}
.folder{position:absolute;left:4%;right:4%;bottom:0;height:52%;border-radius:0 36px 36px 36px;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.03));-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 40px 80px -30px rgba(0,0,0,.9)}
.folder::before{content:"";position:absolute;left:-1px;bottom:100%;width:46%;height:56px;border-radius:30px 30px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.11));-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);border:1px solid rgba(255,255,255,.2);border-bottom:0}
.folder-svg{position:absolute;left:4%;right:4%;bottom:0;height:62%;pointer-events:none}
.pillar .seal{position:absolute;bottom:13%;left:50%;translate:-50% 0;width:clamp(150px,15vw,210px);aspect-ratio:1;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.3),0 30px 70px -20px rgba(255,90,6,.8);animation:floaty 6s ease-in-out infinite}
.pillar .ring-txt{position:absolute;bottom:calc(13% - 30px);left:50%;translate:-50% 0;width:calc(clamp(150px,15vw,210px) + 60px);aspect-ratio:1;animation:spin 26s linear infinite}
.ring-txt text{fill:#fff;font-size:9.5px;letter-spacing:.2em}
@keyframes spin{to{rotate:360deg}}
.pillar .steps{position:absolute;right:-2%;bottom:0;display:flex;align-items:flex-end;gap:10px}
.pillar .steps i{width:26px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,rgba(255,200,170,.95),rgba(255,90,6,.4) 30%,transparent);box-shadow:0 -6px 24px rgba(255,90,6,.6)}

/* ---------- testemunhos ---------- */
.tcols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.tcols .col{display:grid;gap:16px}
.tcols .col:nth-child(2){margin-top:40px}
.tq{padding:28px}
.tq blockquote{margin:0 0 22px;color:#e8e8e8;font-size:1.02rem;line-height:1.55}
.tq blockquote::before{content:"“";display:block;font-size:3.4rem;line-height:.7;margin-bottom:8px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tq .who{display:flex;align-items:center;gap:12px}
.tq .who i,.tdlg .who i{overflow:hidden;flex:none}
.tq .who i img,.tdlg .who i img{width:100%;height:100%;object-fit:cover;display:block}
.tq .who i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:linear-gradient(180deg,#ff7a33,#ff5a06);color:#fff;font-size:.9rem;box-shadow:0 0 18px rgba(255,90,6,.45)}
.tq .who b{display:block;font-weight:400;color:#fff;font-size:.95rem}
.tq .who span{font-size:.84rem;color:var(--dim)}
.tq.hi{background:radial-gradient(90% 60% at 50% -10%,rgba(255,90,6,.55),rgba(255,90,6,.08) 55%,transparent 75%),var(--g-bg);border-color:rgba(255,150,100,.35)}

/* ---------- diagnóstico ---------- */
.dx-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:start}
.dx-list{list-style:none;padding:0;margin:30px 0;display:grid;gap:10px}
.dx-list li{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:18px}
.dx-list b{font-weight:300;font-size:1.9rem;letter-spacing:-.04em;min-width:76px}
.dx-face{display:flex;align-items:center;gap:14px;color:var(--body);font-size:.95rem}
.dx-face img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(255,90,6,.6),0 0 24px rgba(255,90,6,.4)}
.dx-box{padding:clamp(20px,3vw,36px);min-height:520px}

/* ---------- equipa ---------- */
.team{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.mem{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4.2;background:#0d0d0d;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:transform .7s var(--ease)}
.mem:hover{transform:translateY(-8px)}
.mem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s,transform 1.2s var(--ease)}
.mem img.b{opacity:0}
.mem:hover img.b{opacity:1}
.mem:hover img{transform:scale(1.04)}
.mem .nm{position:absolute;left:10px;right:10px;bottom:10px;padding:12px 14px;border-radius:16px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.mem .nm b{display:block;font-weight:400;color:#fff;font-size:calc(var(--t-card)*.82);line-height:1.25;letter-spacing:-.015em}
.mem .nm span{display:block;margin-top:2px;font-size:calc(var(--t-body)*.75);line-height:1.35;color:var(--body)}
.mem.plus .ov{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 70%,rgba(255,90,6,.45),rgba(0,0,0,.6));font-size:4rem;color:#fff;letter-spacing:-.05em}

/* ---------- talks ---------- */
.talks{position:relative;overflow:hidden;border-radius:clamp(28px,4vw,56px);margin-inline:clamp(8px,1.4vw,20px);min-height:90vh;display:flex;align-items:flex-end;padding:clamp(60px,8vw,120px) 0 clamp(40px,5vw,70px)}
.talks .bg{position:absolute;inset:0}
.talks .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity 1.6s,transform 7s linear}
.talks .bg img.on{opacity:1;transform:scale(1)}
.talks .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000 8%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.3)),radial-gradient(70% 50% at 50% 100%,rgba(255,90,6,.4),transparent 70%)}
.talks .wrap{position:relative;width:100%;text-align:center}
.talks .h-2{margin-inline:auto}
.talks .guests,.talks .tcta{justify-content:center}
.tcta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.tguests{width:100vw;margin:30px 0 0 calc(50% - 50vw);padding-block:18px;overflow:hidden;border-block:1px solid rgba(255,255,255,.1);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.tguests .trk{display:flex;width:max-content;animation:mq 80s linear infinite}
.tguests:hover .trk{animation-play-state:paused}
.tguests .chip{flex:none;margin-right:12px;padding:10px 20px;font-size:.95rem;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.22);backdrop-filter:none}
@media (prefers-reduced-motion:reduce){.tguests .trk{animation:none}}
.live{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:.9rem}
.live i{width:9px;height:9px;border-radius:50%;background:var(--o);box-shadow:0 0 0 0 rgba(255,90,6,.7);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(255,90,6,0)}100%{box-shadow:0 0 0 0 rgba(255,90,6,0)}}
.tstats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.tstats div{padding:22px 24px}
.tstats .glass{-webkit-backdrop-filter:blur(8px) saturate(140%);backdrop-filter:blur(8px) saturate(140%)}
.tstats b{display:block;font-weight:300;font-size:clamp(2.4rem,5vw,4.4rem);line-height:1;letter-spacing:-.05em}

.guests{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

/* ---------- notícias ---------- */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ncard{overflow:hidden;display:flex;flex-direction:column;transition:border-color .4s}
.ncard.glass{background:var(--g-bg)}
.ncard:hover{border-color:rgba(255,150,100,.4)}
.ncard .im{aspect-ratio:16/10;overflow:hidden;position:relative;margin:10px 10px 0;border-radius:calc(var(--r) - 10px)}
.ncard .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ncard:hover .im img{transform:scale(1.05)}
.ncard .tx{flex:1;display:flex;flex-direction:column;gap:22px;padding:22px 24px 26px}
.news .ncard h3{font-size:calc(var(--t-card)*.82)!important;line-height:1.3;letter-spacing:-.015em}
.ncard .more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:var(--o);font-size:.95rem}

/* ---------- CTA final ---------- */
.fcta{position:relative;overflow:hidden;border-radius:clamp(28px,4vw,48px);padding:clamp(70px,10vw,150px) var(--pad);text-align:center;isolation:isolate}
.fcta .h-2{max-width:18ch;margin:22px auto 20px}
.fcta .lead{margin:0 auto 36px}
.fcta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.fcta .bm{position:absolute;left:50%;top:-20%;width:38%;height:90%;translate:-50% 0;background:linear-gradient(180deg,rgba(255,90,6,0),rgba(255,90,6,.4) 60%,rgba(255,200,170,.6));filter:blur(40px);z-index:-1}
.fcta .mono{position:absolute;right:-6%;bottom:-20%;width:42%;opacity:.05;z-index:-1}
.fcta .mono path{fill:#fff}
.fcta.cta2{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(28px,5vw,80px);padding:clamp(28px,4.5vw,60px);text-align:left;background:#000;border:1px solid var(--g-bd)}
.fcta.cta2 .h-2{max-width:21ch;margin:0 0 20px}
.fcta.cta2 .lead{max-width:42ch;margin:0 0 34px}
.cta2 .im{position:relative;margin:0;border-radius:clamp(18px,2vw,26px);overflow:hidden;aspect-ratio:525/309}
.cta2 .im img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:820px){.fcta.cta2{grid-template-columns:1fr}.cta2 .im{order:-1}}

/* ---------- rodapé ---------- */
.ftr{position:relative;padding:clamp(70px,8vw,110px) 0 40px;border-top:1px solid var(--line);margin-top:clamp(60px,8vw,120px);overflow:hidden}
.ftr::before{content:"";position:absolute;left:50%;top:-1px;width:60%;height:1px;translate:-50% 0;background:linear-gradient(90deg,transparent,var(--o),transparent);box-shadow:0 0 20px var(--o)}
.ftr-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.ftr h4,.ftr .fh{font-size:.86rem;color:var(--dim);margin-bottom:14px;letter-spacing:0;font-weight:300}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr a:hover{color:var(--o)}
.ftr .big{font-size:clamp(1.6rem,2.4vw,2.2rem);color:#fff;letter-spacing:-.03em;line-height:1.15;margin-bottom:12px}
.nl{display:flex;gap:8px;margin-top:22px;max-width:420px}
.inp{flex:1;min-height:50px;padding:0 18px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid var(--g-bd);color:#fff;outline:0;transition:border-color .3s,box-shadow .3s}
.inp:focus{border-color:rgba(255,140,80,.6);box-shadow:0 0 0 4px rgba(255,90,6,.15)}
textarea.inp{border-radius:20px;padding:16px 18px;min-height:120px;resize:vertical}
.ftr-word{margin-top:clamp(50px,7vw,90px);font-size:clamp(4rem,15vw,15rem);line-height:.8;letter-spacing:-.06em;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.ftr-b{display:flex;justify-content:center;text-align:center;flex-wrap:wrap;gap:12px;margin-top:24px;color:#8a8a8a;font-size:.86rem}

/* ---------- páginas interiores ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{padding:clamp(24px,3vw,34px)}
.card .n{font-size:.86rem;color:var(--o);margin-bottom:22px;display:block}
.card h3{font-size:1.5rem;letter-spacing:-.025em;margin-bottom:10px}
.card p{margin:0;color:var(--body)}
.card.tall{min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
.steps-line{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.steps-line::before{content:"";position:absolute;left:0;right:0;top:22px;height:1px;background:linear-gradient(90deg,var(--o),rgba(255,90,6,.1))}
.step .dot{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:.85rem;color:#fff;background:#000;border:1px solid rgba(255,140,80,.6);box-shadow:0 0 20px rgba(255,90,6,.4);position:relative;margin-bottom:22px}
.step h3{font-size:1.2rem;margin-bottom:8px;letter-spacing:-.02em}
.step p{font-size:.94rem;margin:0}
.checklist{display:grid;gap:10px;counter-reset:c}
.checklist div{display:flex;gap:16px;align-items:center;padding:18px 22px;border-radius:18px;font-size:1.1rem;color:#fff}
.checklist div::before{counter-increment:c;content:counter(c,decimal-leading-zero);color:var(--o);font-size:.86rem}
.big-quote{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.15;letter-spacing:-.03em;color:#fff;max-width:24ch}
.svc-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,60px);align-items:start;padding-block:clamp(60px,8vw,110px);border-top:1px solid var(--line)}
.svc-detail .ph{position:sticky;top:110px;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.svc-detail .ph img{width:100%;height:100%;object-fit:cover}
.svc-detail .ph figcaption{position:absolute;left:14px;bottom:14px;right:14px;font-size:.84rem;color:#fff;padding:10px 14px;border-radius:14px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.tabs3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}
.tabs3 .card h4{font-size:.86rem;color:var(--o);font-weight:300;margin-bottom:14px;letter-spacing:0}
.tabs3 ul{margin:0;padding-left:1.1em;display:grid;gap:8px;font-size:.95rem}
.tl{display:grid;gap:14px}
.tl .card{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start}
.tl .yr{font-size:2.4rem;letter-spacing:-.05em;line-height:1}
.filter{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.filter button{padding:10px 18px;border-radius:99px;border:1px solid rgba(255,255,255,.14);background:#000;color:#fff;cursor:pointer;transition:background .3s,border-color .3s}
.filter button.on{background:var(--o);border-color:var(--o)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:40px 0}
.kpis div{padding:24px}
.kpis b{display:block;font-weight:300;font-size:clamp(2rem,3.4vw,3.2rem);letter-spacing:-.05em;line-height:1;margin-bottom:10px}
.kpis span{font-size:.92rem}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ba figure{margin:0;border-radius:var(--r);overflow:hidden;position:relative;background:#0d0d0d}
.ba figure img{width:100%;height:100%;object-fit:cover}
.ba figcaption{position:absolute;left:14px;top:14px;font-size:.82rem;color:#fff;padding:7px 13px;border-radius:99px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.ba figure.after figcaption{background:var(--o)}
.prose{max-width:68ch}
.prose p{font-size:1.1rem;line-height:1.7}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.3rem);margin:1.6em 0 .6em}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.gallery img{border-radius:var(--rs);aspect-ratio:4/5;object-fit:cover;width:100%}
.wiz{padding:clamp(24px,4vw,44px)}
.wiz-bar{height:3px;border-radius:3px;background:rgba(255,255,255,.08);margin:14px 0 30px;overflow:hidden}
.wiz-bar i{display:block;height:100%;width:20%;background:linear-gradient(90deg,#fff,var(--o));box-shadow:0 0 12px var(--o);transition:width .6s var(--ease)}
.wstep{display:none}
.wstep.on{display:block;animation:fin .6s var(--ease)}
@keyframes fin{from{opacity:0;transform:translateY(12px)}}
.wstep h3{font-size:clamp(1.6rem,2.6vw,2.3rem);margin-bottom:24px;letter-spacing:-.03em}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt input{position:absolute;opacity:0}
.opt label{display:block;padding:18px 20px;border-radius:18px;border:1px solid var(--g-bd);background:rgba(255,255,255,.03);cursor:pointer;transition:border-color .3s,background .3s,box-shadow .3s}
.opt label b{display:block;font-weight:400;color:#fff}
.opt label span{font-size:.9rem}
.opt input:checked+label{border-color:rgba(255,140,80,.7);background:rgba(255,90,6,.12);box-shadow:0 0 30px -8px rgba(255,90,6,.6)}
.opt input:focus-visible+label{outline:2px solid var(--o)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fields label{display:grid;gap:6px;font-size:.9rem}
.fields .full{grid-column:1/-1}
.fields .inp{border-radius:16px}
.wiz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:30px}
.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;color:#fff;font-size:1.2rem;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--g-bd);position:relative;transition:transform .4s var(--ease),background .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:#fff;translate:-50% -50%}
.faq summary i::after{rotate:90deg}
.faq details[open] summary i{transform:rotate(45deg);background:var(--o);border-color:var(--o)}
.faq details p{margin:14px 0 0;max-width:70ch}
.toast{position:fixed;left:50%;bottom:24px;translate:-50% 0;z-index:120;padding:14px 20px;border-radius:99px;color:#fff;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .5s var(--ease);pointer-events:none}
.toast.on{opacity:1;transform:none}

/* revelação ao scroll */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.rv.in{opacity:1;transform:none}
.stag>*{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
.stag.in>*{opacity:1;transform:none}
.stag.in>*:nth-child(2){transition-delay:.08s}.stag.in>*:nth-child(3){transition-delay:.16s}.stag.in>*:nth-child(4){transition-delay:.24s}.stag.in>*:nth-child(5){transition-delay:.32s}.stag.in>*:nth-child(6){transition-delay:.4s}

.cookie{position:fixed;right:18px;bottom:18px;z-index:90;max-width:360px;padding:18px;font-size:.9rem;border-radius:22px;display:none}
.cookie.on{display:block}
.cookie .row{display:flex;gap:8px;margin-top:12px}
.cookie .btn{flex:1;min-height:42px}

@media (max-width:1100px){
  .nav{display:none}
  .burger{display:block}
  .hdr .in{grid-template-columns:1fr auto}
  .seal-mini span{display:none}
  .stats{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:repeat(3,1fr)}
  .steps-line{grid-template-columns:repeat(3,1fr);row-gap:34px}
  .steps-line::before{display:none}
}
@media (max-width:860px){
  body{font-size:16px}
  .hdr-cta{display:none}
  .h-float{display:none}
  .cmp-grid,.cards3,.news,.tstats,.tcols,.kpis{grid-template-columns:1fr}
  .tcols .col:nth-child(2){margin-top:0}
  .bento{grid-template-columns:1fr}
  .case,.case.w4,.case.w2{grid-column:auto;min-height:440px}
  .brand-grid{grid-template-columns:repeat(3,1fr)}
  .top5,.dx-wrap,.two,.svc-detail,.cards2,.tabs3{grid-template-columns:1fr}
  .svc-detail .ph{position:relative;top:0;aspect-ratio:4/3}
  .ftr-g{grid-template-columns:1fr 1fr}
  .svc .top,.svc .bot{padding-inline:22px}
  .svc{--rot:0deg!important;--sx:0!important}
  .opts,.fields{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr}
  .tl .card{grid-template-columns:1fr;gap:10px}
  .steps-line{grid-template-columns:1fr 1fr}
  .cookie{left:12px;right:12px;max-width:none}
}
@media (max-width:560px){
  .stats,.team{grid-template-columns:1fr 1fr}
  .ftr-g{grid-template-columns:1fr}
  .h-ctas{flex-direction:column;width:100%}
  .h-ctas .btn{width:100%}
  .stat{min-height:170px;padding:22px 18px}
  .ba{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .mq .trk{animation:none}
}

@media (max-width:760px){.h-in{margin-top:27vh;gap:20px}.h-horizon{top:70%}.hero{align-items:flex-start}.stat .bars{display:none}}
.tstats div>span{color:var(--body);font-size:.92rem;display:block;margin-top:8px}
.tstats b span{font-size:inherit;color:inherit;margin:0;display:inline}
.glass>svg.sym{width:min(30%,260px);height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.4))}
.glass+figure,.glass+.ba{margin-top:16px!important}

.hdr .in{max-width:1180px}
.nav a.on{color:#fff}
.hdr-cta{min-height:42px}
.logo svg,.logo img{height:30px}
/* números limpos */
.stat .bars{display:none}
.stat{min-height:0;padding:26px 24px}
.stat b{font-size:clamp(2.4rem,3.6vw,3.4rem);margin-bottom:10px}
/* marcas */
.brands{padding:30px 0 10px}
.brands p{color:#fff;font-size:.95rem}
.mq{border:0;padding:16px 0}
.mq span{font-size:clamp(1.15rem,1.8vw,1.6rem);color:#4d4d4d}
.mq span.o{color:#d8d8d8}
@media (max-width:1100px){.d-body{grid-template-columns:1fr 1fr}.d-side{display:none}.d-search{display:none}}
@media (max-width:860px){.feat{grid-template-columns:1fr}.fc,.fc.wide{grid-column:auto}.d-body{grid-template-columns:1fr}.d-right{display:none}.d-team b{display:none}.dash{height:420px}.h-arc{top:150px;width:240vw}}
.fc.wide .fc-vis{height:240px}
.v-q .qs{gap:7px}
.v-q .qs span{padding:8px 14px}
@media (max-width:760px){.hero .h-in{margin-top:30px}.hero{padding-top:130px}.h-arc{top:120px}.dash{padding:6px;border-radius:18px}.dash .hero-reel{border-radius:14px!important}.h-line{margin-top:50px}}
@media (max-width:420px){.h-title{font-size:2.05rem}}

/* ===== Coerência tipográfica: um tamanho para cada nível ===== */
:root{--t-hero:clamp(2.5rem,5.2vw,4.9rem);--t-title:clamp(1.9rem,3.4vw,3.2rem);--t-card:clamp(1.35rem,1rem + .8vw,1.65rem);--t-body:clamp(1.125rem,.9rem + .6vw,1.375rem);--t-num:clamp(2.4rem,3.6vw,3.4rem)}
.h-title,.h-1,.phero .h-1{font-size:var(--t-hero)!important;line-height:1.05;letter-spacing:-.045em;max-width:18ch}
.phero.c .h-1{margin-inline:auto}
.h-2,.svc-detail .h-1,.fcta .h-2,.talks .h-2,.big-quote{font-size:var(--t-title)!important;line-height:1.08;letter-spacing:-.035em}
.svc-detail .h-1{max-width:none}
.h-3,.fc h3,.case h3,.card h3,.step h3,.ncard h3,.tq blockquote+.who b,.q p,.cmp-card .tx,.wstep h3,.d-h,.mmenu nav a span{letter-spacing:-.02em}
.h-3,.fc h3,.case h3,.card h3,.step h3,.ncard h3,.q p,.cmp-card .tx,.wstep h3,.tl .yr{font-size:var(--t-card)!important;line-height:1.25}
.cmp-card .tx{height:3.8em}
body,p,li,.lead,.hero .lead,.pbx-l .lead,.fc p,.case p,.card p,.step p,.tq blockquote,.prose p,.faq details p,.svc .bot p,.dx-face,.tabs3 ul{font-size:var(--t-body)}
.lead{max-width:52ch;line-height:1.55}
.stat b,.tstats b,.kpis b,.dx-list b{font-size:var(--t-num)!important;line-height:1}
.big-quote{max-width:22ch;color:#fff}
.tl .card{grid-template-columns:110px 1fr}

/* ===== Marcas (como no site antigo) ===== */
.brands{position:relative;padding-top:clamp(70px,9vw,120px);padding-bottom:clamp(60px,8vw,100px);overflow:hidden}
.brands .shead{max-width:900px;margin-inline:auto;padding-inline:var(--pad)}
.lq{overflow:hidden;padding:20px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.lq .trk{display:flex;align-items:center;width:max-content;gap:clamp(48px,5vw,80px);animation:mq 60s linear infinite}
.lq.r .trk{animation-direction:reverse;animation-duration:70s}
.lq:hover .trk{animation-play-state:paused}
.lq img{height:clamp(30px,3vw,42px);width:auto;max-width:170px;object-fit:contain;filter:brightness(0) invert(1);opacity:.62;transition:opacity .3s}
.lq img:hover{opacity:1}

/* ===== Casos: imagem em cima, texto por baixo ===== */
.case{min-height:0!important;padding:10px;border-radius:24px}
.case .vis{position:relative;flex:none;margin:0;min-height:0;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:#0b0b0b}
.case.w4 .vis{aspect-ratio:16/8.4}
.case .vis img{-webkit-mask-image:none;mask-image:none}
.case .vis.sym-bg{display:grid;place-items:center}
.case .vis .sym{width:34%;max-width:200px;height:auto}
.case .tx{padding:20px 14px 12px}
.case h3{margin-bottom:8px}
.case .kp{position:static;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.case .kp span{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:none;backdrop-filter:none;font-size:.82rem}
.case .kp span:first-child{background:rgba(255,90,6,.14);border-color:rgba(255,140,80,.5);box-shadow:none;color:#fff}
.bento{align-items:start}

/* ===== TOP 5%: só luz e selo ===== */
.folder,.pillar .steps{display:none}
.pillar{--sw:clamp(200px,26vw,360px);height:calc(var(--sw) * 1.75)}
.pillar .light-col{display:none}
.pillar .seal,.pillar .ring-txt{bottom:auto;top:50%;translate:-50% -50%}
.pillar .seal{width:calc(var(--sw) * 1.45);border-radius:0;box-shadow:none;clip-path:circle(40%)}
.pillar .ring-txt{width:calc(var(--sw) * 1.68)}
.pillar .ring-txt text{fill:rgba(255,255,255,.62);font-size:8.5px;letter-spacing:.32em}

/* ===== Outros acertos ===== */
.stats .stat{text-align:left}
.svc-detail{padding-block:clamp(50px,7vw,90px)}
.q p{color:#000}
@media (max-width:860px){.case.w4 .vis{aspect-ratio:16/10}.tl .card{grid-template-columns:1fr}}
.bento{align-items:stretch}
.case .tx{flex:1;display:flex;flex-direction:column}
.case .kp{margin-top:auto;padding-top:16px}
.lq img{height:34px;max-width:150px}
/* rótulos pequenos passam para depois do título */
.card{display:flex;flex-direction:column}
.card .n{order:3;margin:14px 0 0!important;color:var(--dim);font-size:.86rem}
.card.tall{justify-content:flex-start}
.card.tall>div{order:1}
.tabs3{grid-template-columns:1fr}
.tabs3 .card ul{columns:2;column-gap:28px;display:block}
.tabs3 .card ul li{break-inside:avoid;margin-bottom:8px}
.tl .big-quote{font-size:var(--t-card)!important;line-height:1.3;color:#fff;max-width:none;margin-top:14px!important}
.svc-detail{grid-template-columns:.7fr 1.3fr}
@media (max-width:860px){.svc-detail{grid-template-columns:1fr}.tabs3 .card ul{columns:1}}
.lq img{height:var(--h,34px)!important;max-width:none!important;filter:none!important;opacity:.7}
.lq .trk{gap:clamp(56px,6vw,96px)}
@media (max-width:760px){.lq img{height:calc(var(--h,34px)*.75)!important}}
.hero+.sec{padding-top:clamp(60px,7vw,90px)}
.lq img[src$=".svg"]{filter:brightness(0) invert(1)!important}

/* ===== Tudo preto: componentes que eram das secções brancas ===== */
.cmp-card{background:var(--g-bg);border:1px solid var(--g-bd);box-shadow:var(--g-hi);color:var(--body)}
.cmp-card .n{color:var(--o)}
.cmp-card .tx,.cmp-card h3,.cmp-card .big-quote{color:#fff}
.cmp-card .tx .s{color:#6f6f6f;text-decoration-color:rgba(255,255,255,.3)}
.on-good .cmp-card{background:var(--g-bg);border-color:rgba(255,140,80,.4)}
.cmp-sw{color:#fff}
.cmp-sw .t{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.cmp-sw .t::after{background:#fff}
.cmp-sw[aria-checked=true] .a,.cmp-sw:not([aria-checked=true]) .b{color:#5d5d5d}
.q{background:var(--g-bg);border:1px solid var(--g-bd);box-shadow:var(--g-hi)}
.q p,.q .t p{color:#fff!important}
.rail-nav button{background:var(--g-bg);border-color:var(--g-bd);color:#fff}
.cmp-card{justify-content:flex-start;gap:18px}
.cmp-card>div{order:1}
.cmp-card>.n{order:2;margin-top:auto;color:var(--dim);font-size:.86rem}
.lq{padding:14px 0}
.lq img{opacity:.55}
.lq .trk{gap:clamp(60px,6.5vw,110px)}
.brands .shead{margin-bottom:clamp(36px,4vw,56px)}

/* ===== Desfoque progressivo no fundo do ecrã ===== */
.progressive-blur{position:fixed;left:0;right:0;bottom:0;height:36vh;pointer-events:none;z-index:9}
.progressive-blur>div{position:absolute;inset:0}
.progressive-blur>div:nth-child(1){z-index:1;backdrop-filter:blur(.25px);-webkit-backdrop-filter:blur(.25px);mask:linear-gradient(to bottom,transparent 0%,#000 12.5%,#000 25%,transparent 37.5%);-webkit-mask:linear-gradient(to bottom,transparent 0%,#000 12.5%,#000 25%,transparent 37.5%)}
.progressive-blur>div:nth-child(2){z-index:2;backdrop-filter:blur(.5px);-webkit-backdrop-filter:blur(.5px);mask:linear-gradient(to bottom,transparent 12.5%,#000 25%,#000 37.5%,transparent 50%);-webkit-mask:linear-gradient(to bottom,transparent 12.5%,#000 25%,#000 37.5%,transparent 50%)}
.progressive-blur>div:nth-child(3){z-index:3;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);mask:linear-gradient(to bottom,transparent 25%,#000 37.5%,#000 50%,transparent 62.5%);-webkit-mask:linear-gradient(to bottom,transparent 25%,#000 37.5%,#000 50%,transparent 62.5%)}
.progressive-blur>div:nth-child(4){z-index:4;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);mask:linear-gradient(to bottom,transparent 37.5%,#000 50%,#000 62.5%,transparent 75%);-webkit-mask:linear-gradient(to bottom,transparent 37.5%,#000 50%,#000 62.5%,transparent 75%)}
.progressive-blur>div:nth-child(5){z-index:5;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask:linear-gradient(to bottom,transparent 50%,#000 62.5%,#000 75%,transparent 87.5%);-webkit-mask:linear-gradient(to bottom,transparent 50%,#000 62.5%,#000 75%,transparent 87.5%)}
.progressive-blur>div:nth-child(6){z-index:6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);mask:linear-gradient(to bottom,transparent 62.5%,#000 75%,#000 87.5%,transparent 100%);-webkit-mask:linear-gradient(to bottom,transparent 62.5%,#000 75%,#000 87.5%,transparent 100%)}
.progressive-blur>div:nth-child(7){z-index:7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);mask:linear-gradient(to bottom,transparent 75%,#000 87.5%,#000 100%);-webkit-mask:linear-gradient(to bottom,transparent 75%,#000 87.5%,#000 100%)}
.progressive-blur>div:nth-child(8){z-index:8;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);mask:linear-gradient(to bottom,transparent 87.5%,#000 100%);-webkit-mask:linear-gradient(to bottom,transparent 87.5%,#000 100%)}

/* ===== Hero: o vídeo ocupa o ecrã todo ===== */
.hero.full{position:relative;height:100vh;height:100svh;min-height:560px;padding:0;overflow:hidden}
.hero.full .dash{position:absolute;inset:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:#000;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none!important}
.hero.full .dash::before{display:none}
.hero.full .dash .hero-reel{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto;border-radius:0!important;box-shadow:none!important}
.hero.full .h-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 18%,transparent 70%,rgba(0,0,0,.75) 100%)}
.hero.full .h-in{position:absolute;left:0;right:0;bottom:clamp(28px,5vh,56px);margin:0;gap:12px;z-index:3}
.hero.full .rl-toggle{bottom:clamp(28px,5vh,56px)!important;right:var(--pad)!important}
.hero.full+.sec{padding-top:clamp(70px,8vw,110px)}
.h-micro{font-size:.88rem;color:#d0d0d0}
.hero.full .rl-chip{top:clamp(96px,12vh,124px)!important;left:var(--pad)!important}
.hero.full .dash{height:auto!important;inset:0!important}

/* ===== Hero: máscara do logo BC ao fazer scroll ===== */
.hero.full.mask-section{height:300vh;height:300svh;min-height:0;overflow:visible}
.mask-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.mask-glow{position:absolute;inset:0;filter:drop-shadow(0 0 calc(var(--p,0)*40px) #ff5a06) drop-shadow(0 0 calc(var(--p,0)*90px) rgba(255,90,6,.5))}
.mask-layer{position:absolute;inset:0;-webkit-mask-image:var(--logo);mask-image:var(--logo);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:var(--mask-size,400vmax);mask-size:var(--mask-size,400vmax);will-change:mask-size}
.mask-grain{position:absolute;inset:0;pointer-events:none;opacity:.1;mix-blend-mode:overlay;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")}
.hero.full .h-in{opacity:calc(1 - var(--p,0)*4);transform:translateY(calc(var(--p,0)*40px))}
.mask-caption{position:absolute;left:var(--pad);right:var(--pad);bottom:12vh;margin:0;text-align:center;opacity:calc((var(--p,0) - .75)*4);transform:translateY(calc((1 - var(--p,0))*24px));pointer-events:none}
.hero.full.mask-section+.sec{padding-top:clamp(60px,7vw,100px)}
@media (prefers-reduced-motion:reduce){.hero.full.mask-section{height:100vh}}
.mask-caption{font-size:var(--t-title)!important;max-width:none!important;bottom:10vh}
.progressive-blur{transition:opacity .5s}
.in-hero .progressive-blur,.in-ftr .progressive-blur{opacity:0}
.hin-off .h-in{pointer-events:none;visibility:hidden}
.hero.full.mask-section{height:190vh;height:190svh}

/* ===== Método: timeline imersiva 3D com as sete perguntas ===== */
.t3{position:relative;height:560vh;--tilt:56deg;--turn:-10deg}
.t3-view{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;perspective:1100px;perspective-origin:50% 20%}
.t3-view::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,120,50,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,120,50,.07) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%)}
.t3-title{position:absolute;top:calc(110px + 2vh);left:var(--pad);right:var(--pad);text-align:center;z-index:5;margin:0 auto;max-width:20ch}
.t3-cam{position:absolute;left:50%;top:42%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(var(--tilt)) rotateZ(var(--turn))}
.t3-plane{position:absolute;left:0;top:0;transform-style:preserve-3d;will-change:transform}
.t3-grid{position:absolute;background-image:linear-gradient(rgba(255,120,50,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,120,50,.08) 1px,transparent 1px);background-size:80px 80px}
.t3-plane svg{position:absolute;left:0;top:0;overflow:visible}
.t3-base{fill:none;stroke:rgba(255,120,50,.16);stroke-width:3}
.t3-glow{fill:none;stroke:#ff8a4a;stroke-width:14;opacity:.55;filter:url(#t3blur)}
.t3-main{fill:none;stroke:#ff5a06;stroke-width:4;stroke-linecap:round}
.t3-core{fill:none;stroke:#ffe1cf;stroke-width:1.2;stroke-linecap:round}
.t3-comet{position:absolute;width:0;height:0}
.t3-hole{display:none}
.t3-grid{-webkit-mask-image:radial-gradient(circle 560px at var(--cx,50%) var(--cy,50%),transparent 0,transparent 60%,#000 100%);mask-image:radial-gradient(circle 560px at var(--cx,50%) var(--cy,50%),transparent 0,transparent 60%,#000 100%)}
.t3-view::before{-webkit-mask-image:radial-gradient(circle 320px at 50% 50%,transparent 0,transparent 55%,#000 100%);mask-image:radial-gradient(circle 320px at 50% 50%,transparent 0,transparent 55%,#000 100%)}
@media (max-width:640px){.t3-view::before{-webkit-mask-image:radial-gradient(circle 240px at 50% 56%,transparent 0,transparent 55%,#000 100%);mask-image:radial-gradient(circle 240px at 50% 56%,transparent 0,transparent 55%,#000 100%)}}
.t3-comet::before{content:"";position:absolute;width:18px;height:18px;left:-9px;top:-9px;border-radius:50%;background:#fff;box-shadow:0 0 8px 3px #fff,0 0 22px 8px #ff8a4a,0 0 60px 26px rgba(255,90,6,.8),0 0 140px 60px rgba(255,90,6,.35)}
.t3-comet::after{content:"";position:absolute;width:220px;height:220px;left:-110px;top:-110px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,74,.45) 0%,rgba(255,90,6,.18) 35%,transparent 70%);pointer-events:none}
.t3-node{position:absolute;width:0;height:0;transform-style:preserve-3d}
.t3-node .dot{position:absolute;width:14px;height:14px;left:-7px;top:-7px;border-radius:50%;border:2px solid rgba(255,140,80,.35);background:#000;transition:all .5s}
.t3-node.on .dot{border-color:#fff;background:#ff5a06;box-shadow:0 0 18px 4px #ff8a4a}
.t3-card{position:absolute;left:0;bottom:0;width:300px;border-radius:20px;overflow:hidden;transform-origin:50% 100%;
  transform:translateX(-50%) rotateZ(calc(var(--turn)*-1)) rotateX(calc(var(--tilt)*-1)) translateY(-40px) scale(.85);
  background:#000;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 70px rgba(0,0,0,.6);
  opacity:0;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1),border-color .6s}
.t3-node.on .t3-card{opacity:1;border-color:rgba(255,255,255,.55);transform:translateX(-50%) rotateZ(calc(var(--turn)*-1)) rotateX(calc(var(--tilt)*-1)) translateY(-70px) scale(1)}
.t3-card figure{margin:10px 10px 0;position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:12px}
.t3-card figure img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.t3-card .tx{padding:16px 18px 18px;display:flex;flex-direction:row-reverse;align-items:center;gap:16px}
.t3-card small{display:none;flex:none;color:var(--o);font-size:2.6rem;font-weight:600;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.t3-card small i{font-style:normal;font-size:.45em;letter-spacing:0;opacity:.7;margin-left:2px}
.t3-card h3{flex:1;margin:0;font-size:calc(var(--t-card)*.88)!important;line-height:1.2;letter-spacing:-.02em;color:#fff;text-align:center}
.t3-fog{position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.85) 18%,transparent 34%,transparent 80%,#000 100%),radial-gradient(ellipse at 50% 55%,transparent 45%,rgba(0,0,0,.6) 100%)}
.t3-foot{position:absolute;z-index:6;left:var(--pad);right:var(--pad);bottom:7vh;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;text-align:center}
.t3-foot p{margin:0}
.t3-prog{position:absolute;left:50%;bottom:3vh;width:min(240px,60vw);height:2px;transform:translateX(-50%);background:rgba(255,120,50,.15);z-index:6;border-radius:2px;overflow:hidden}
.t3-prog i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#fff,#ff5a06);transform-origin:left;transform:scaleX(0)}
.in-t3 .progressive-blur{opacity:0}
@media (max-width:640px){.t3{--tilt:50deg;--turn:-6deg}.t3-card{width:230px}.t3-cam{top:46%}}
@media (prefers-reduced-motion:reduce){.t3{height:auto}.t3-view{position:relative;height:auto}}
.t3-cam{top:64%}
.t3-card{width:380px}
.t3-fog{background:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.45) 9%,transparent 20%,transparent 82%,#000 100%),radial-gradient(ellipse at 50% 55%,transparent 50%,rgba(0,0,0,.55) 100%)}
.t3-title{top:calc(96px + 2vh)}
@media (max-width:640px){.t3-card{width:250px}.t3-cam{top:66%}}
.t3{height:420vh}
.t3-cam{top:58%}
.t3-foot{top:50%;bottom:auto;translate:0 -50%;flex-direction:column;gap:26px;opacity:0;background:radial-gradient(60% 60% at 50% 50%,rgba(0,0,0,.85),transparent 75%);padding:40px 0}
.t3-foot .h-2{max-width:20ch;margin:0 auto}
@media (max-width:640px){.t3-cam{top:62%}}

/* ===== Fundo preto puro ===== */
html,body{background:#000!important}
.amb{display:none!important}
.ftr{background:#000}
.grid-bg,.dots-bg,.brands .dots-bg{display:none}
.phero .beam{display:none}
.t3-cam{top:50%}
.t3-title{top:calc(90px + 1vh)}
@media (max-width:640px){.t3-cam{top:56%}}
.t3-title{top:auto;bottom:calc(50% + 34px);max-width:22ch}
.t3-veil{position:absolute;inset:0;z-index:5;background:#000;opacity:0;pointer-events:none}
.t3-foot{background:none;padding:0}
.t3-foot .h-2{max-width:none;white-space:normal}
.t3-prog{display:none}
@media (max-width:640px){.t3-title{bottom:calc(56% + 30px)}.t3-foot .h-2 br{display:none}}
.t3-title{bottom:calc(50% + 48px)}

/* ===== Resultados: grelha de imagens limpa ===== */
.mz-filter{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:-10px 0 34px}
.mz-filter span{color:var(--dim);font-size:.92rem;margin-right:6px}
.mz-filter button{border:0;cursor:pointer;padding:8px 16px;border-radius:10px;background:rgba(255,255,255,.06);color:#d6d6d6;font-size:.92rem;transition:background .3s,color .3s}
.mz-filter button:hover{background:rgba(255,255,255,.12);color:#fff}
.mz-filter button.on{background:rgba(255,255,255,.18);color:#fff}
.cases-wide{--maxw:none}
.mz{columns:3;column-gap:18px}
.mz-it{position:relative;display:block;break-inside:avoid;margin:0 0 18px;border-radius:18px;overflow:hidden;background:#0d0d0d}
.mz-it img{width:100%;height:auto;display:block;transition:transform 1.2s var(--ease)}
.mz-it:nth-child(3n+2) img{aspect-ratio:4/5.6;object-fit:cover}
.mz-it:nth-child(3n+1) img,.mz-it:nth-child(3n) img{aspect-ratio:4/3.2;object-fit:cover}
.mz-it::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.75));opacity:0;transition:opacity .5s}
.mz-cap{position:absolute;z-index:1;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:2px;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .6s var(--ease)}
.mz-cap b{font-weight:400;color:#fff;font-size:1.05rem}
.mz-cap small{color:#ffb48c;font-size:.86rem}
.mz-it:hover img{transform:scale(1.04)}
.mz-it:hover::after,.mz-it:hover .mz-cap,.mz-it:focus-visible .mz-cap,.mz-it:focus-visible::after{opacity:1;transform:none}
@media (hover:none){.mz-it::after,.mz-cap{opacity:1;transform:none}}
@media (max-width:860px){.mz{columns:2;column-gap:12px}.mz-it{margin-bottom:12px;border-radius:14px}}
@media (max-width:520px){.mz{columns:1}}
.mz{columns:auto;display:flex;gap:18px;align-items:flex-start}
.mz-col{flex:1;display:flex;flex-direction:column;gap:18px;min-width:0}
.mz-it{margin:0}
.mz-it img,.mz-it:nth-child(n) img{aspect-ratio:4/3.1;object-fit:cover}
.mz-col.tall .mz-it img{aspect-ratio:4/5.4}
@media (max-width:860px){.mz{gap:12px}.mz-col{gap:12px}}
@media (max-width:520px){.mz{flex-direction:column}.mz-col.tall .mz-it img{aspect-ratio:4/3.1}}
.mz-col.tall{align-self:stretch}
.mz-col.tall .mz-it{flex:1}
.mz-col.tall .mz-it img{aspect-ratio:auto;height:100%;min-height:320px}
@media (max-width:520px){.mz-col.tall .mz-it img{height:auto;aspect-ratio:4/3.1;min-height:0}}

/* ===== Transição de cor: horizonte de luz laranja entre secções ===== */
.glow-band{position:relative;height:clamp(260px,34vw,460px);margin:clamp(-60px,-4vw,-30px) 0 clamp(-220px,-14vw,-120px);pointer-events:none;overflow:hidden;z-index:0}
.glow-band::before{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:100%;
  background:radial-gradient(60% 75% at 50% 100%,rgba(255,150,90,.85) 0%,rgba(255,90,6,.6) 22%,rgba(255,90,6,.22) 48%,transparent 72%);filter:blur(6px)}
.glow-band::after{content:"";position:absolute;left:50%;bottom:0;width:min(1100px,90vw);height:2px;translate:-50% 0;border-radius:2px;
  background:linear-gradient(90deg,transparent,#ffd2b8 30%,#fff 50%,#ffd2b8 70%,transparent);box-shadow:0 0 30px 8px rgba(255,90,6,.55)}
.tst-sec{position:relative;z-index:1;background:radial-gradient(70% 420px at 50% 0%,rgba(255,90,6,.35),rgba(255,90,6,.08) 55%,transparent 80%)}
.glow-band{display:none}
.tst-sec{background:none;padding-top:clamp(140px,16vw,220px)}
.tst-sec::before{content:"";position:absolute;z-index:-1;left:50%;top:clamp(-120px,-6vw,-60px);width:100vw;height:clamp(560px,60vw,820px);translate:-50% 0;pointer-events:none;
  background:radial-gradient(48% 46% at 50% 52%,rgba(255,150,90,.55) 0%,rgba(255,90,6,.38) 30%,rgba(255,90,6,.12) 58%,transparent 78%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%,#000 62%,transparent 100%)}
.tst-sec .shead{position:relative}
.tst-sec .shead::after{content:"";position:absolute;left:50%;bottom:-34px;width:min(900px,80vw);height:2px;translate:-50% 0;border-radius:2px;
  background:linear-gradient(90deg,transparent,#ffd2b8 30%,#fff 50%,#ffd2b8 70%,transparent);box-shadow:0 0 26px 6px rgba(255,90,6,.5)}
.tst-sec .tcols{margin-top:70px}

/* ===== Passagem preto → branco (e de volta) com luz laranja no meio ===== */
.to-white,.to-black{position:relative;height:clamp(320px,36vw,520px);pointer-events:none}
.to-white{background:radial-gradient(70% 60% at 50% 74%,rgba(255,120,40,1) 0%,rgba(255,90,6,.75) 22%,rgba(255,90,6,.25) 48%,transparent 70%),linear-gradient(180deg,#000 0%,#000 30%,#1a0800 50%,#ffe7da 88%,#fff 100%)}
.to-black{background:radial-gradient(70% 60% at 50% 26%,rgba(255,120,40,1) 0%,rgba(255,90,6,.75) 22%,rgba(255,90,6,.25) 48%,transparent 70%),linear-gradient(0deg,#000 0%,#000 30%,#1a0800 50%,#ffe7da 88%,#fff 100%)}
.tst-sec.white{background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax);padding-top:clamp(40px,5vw,70px);--grad:linear-gradient(95deg,#000 0%,#000 15%,#ff5a06 100%)}
.tst-sec.white::before,.tst-sec.white .shead::after{display:none}
.tst-sec.white h2{color:#000}
.tst-sec.white .tcols{margin-top:0}
.tst-sec.white .tq{background:#f4f4f4!important;border:1px solid rgba(0,0,0,.06);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.tst-sec.white .tq.hi{background:radial-gradient(90% 60% at 50% -10%,rgba(255,90,6,.22),transparent 70%),#f4f4f4!important;border-color:rgba(255,90,6,.25)}
.tst-sec.white .tq blockquote{color:#3a3a3a}
.tst-sec.white .tq .who b{color:#000}
.tst-sec.white .tq .who span{color:#777}
.white-zone{background:#fff;margin:-1px 0}
.tst-sec.white{box-shadow:none;clip-path:none;background:transparent}
.to-white{margin-bottom:-1px}.to-black{margin-top:-1px}
.to-white{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 24%),radial-gradient(70% 55% at 50% 66%,rgba(255,120,40,1) 0%,rgba(255,90,6,.75) 22%,rgba(255,90,6,.25) 48%,transparent 70%),linear-gradient(180deg,#000 0%,#000 30%,#1a0800 50%,#ffe7da 88%,#fff 100%)}
.to-black{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 24%),radial-gradient(70% 55% at 50% 34%,rgba(255,120,40,1) 0%,rgba(255,90,6,.75) 22%,rgba(255,90,6,.25) 48%,transparent 70%),linear-gradient(0deg,#000 0%,#000 30%,#1a0800 50%,#ffe7da 88%,#fff 100%)}
.to-white,.to-black{z-index:2}
.to-white{box-shadow:0 3px 0 #fff}
.to-black{box-shadow:0 -3px 0 #fff}

/* passagem suave (degradê longo) */
.to-white,.to-black{height:clamp(520px,52vw,820px)}
.to-white{background:
  radial-gradient(90% 38% at 50% 60%,rgba(255,90,6,.38) 0%,rgba(255,90,6,.14) 45%,transparent 78%),
  linear-gradient(180deg,#000 0%,#030201 18%,#120703 32%,#2e1306 44%,#6a2f12 55%,#b9643c 65%,#e8a585 74%,#f8d9c9 83%,#fdf2ec 92%,#fff 100%)}
.to-black{background:
  radial-gradient(90% 38% at 50% 40%,rgba(255,90,6,.38) 0%,rgba(255,90,6,.14) 45%,transparent 78%),
  linear-gradient(0deg,#000 0%,#030201 18%,#120703 32%,#2e1306 44%,#6a2f12 55%,#b9643c 65%,#e8a585 74%,#f8d9c9 83%,#fdf2ec 92%,#fff 100%)}

/* passagem mais curta: menos espaço vazio entre secções */
.to-white,.to-black{height:clamp(220px,20vw,360px)}
.to-white{background:
  radial-gradient(90% 45% at 50% 60%,rgba(255,90,6,.38) 0%,rgba(255,90,6,.14) 45%,transparent 78%),
  linear-gradient(180deg,#000 0%,#120703 12%,#2e1306 26%,#6a2f12 42%,#b9643c 56%,#e8a585 68%,#f8d9c9 80%,#fdf2ec 90%,#fff 100%)}
.to-black{background:
  radial-gradient(90% 45% at 50% 40%,rgba(255,90,6,.38) 0%,rgba(255,90,6,.14) 45%,transparent 78%),
  linear-gradient(0deg,#000 0%,#120703 12%,#2e1306 26%,#6a2f12 42%,#b9643c 56%,#e8a585 68%,#f8d9c9 80%,#fdf2ec 90%,#fff 100%)}
.sec:has(+.to-white){padding-bottom:clamp(32px,4vw,56px)}
.to-black+.sec{padding-top:clamp(32px,4vw,56px)}

/* ===== Hero: carrossel em arco 3D com a equipa ao centro ===== */
.arc-hero{--card-w:300px;--card-h:560px;position:relative;height:100vh;height:100svh;min-height:640px;padding:0;overflow:hidden;isolation:isolate;cursor:grab;touch-action:pan-y;background:#000}
.arc-hero.dragging{cursor:grabbing}
.arc-hero::before{content:"";position:absolute;left:50%;bottom:-12%;width:120vmin;height:90vmin;translate:-50% 0;z-index:1;pointer-events:none;background:radial-gradient(closest-side,rgba(255,90,6,.85),rgba(255,90,6,.25) 55%,transparent);filter:blur(30px)}
.arc-hero::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,transparent 40%,rgba(0,0,0,.55) 100%),linear-gradient(to bottom,rgba(0,0,0,.6),transparent 18%,transparent 62%,rgba(0,0,0,.92))}
.arc-stage{position:absolute;inset:0;z-index:0}
.arc-ring{position:absolute;left:50%;top:33%;width:0;height:0}
.arc-card{position:absolute;left:calc(var(--card-w)/-2);top:calc(var(--card-h)/-2);width:var(--card-w);height:var(--card-h);will-change:transform,opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.arc-img,.arc-ref{position:absolute;left:0;right:0;height:100%;border-radius:14px;overflow:hidden;background:#151515 center/cover no-repeat}
.arc-img{top:0;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.arc-ref{top:calc(100% + 10px);transform:scaleY(-1);opacity:.35;-webkit-mask-image:linear-gradient(to top,#000,rgba(0,0,0,.35) 30%,transparent 65%);mask-image:linear-gradient(to top,#000,rgba(0,0,0,.35) 30%,transparent 65%);filter:url(#arc-water)}
.arc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 40%),rgba(0,0,0,var(--dim,0))}
.arc-person{position:absolute;left:50%;bottom:6vh;-webkit-mask-image:linear-gradient(to bottom,#000 68%,transparent 97%);mask-image:linear-gradient(to bottom,#000 68%,transparent 97%);translate:-50% 0;z-index:2;height:min(calc((100vh - 6vh - 76px)*.95),930px);width:auto;max-width:94vw;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.arc-copy{position:absolute;left:0;right:0;bottom:clamp(28px,6vh,64px);z-index:5;display:flex;flex-direction:column;align-items:center;gap:22px;padding-inline:var(--pad);text-align:center}
.arc-title{font-size:clamp(2.2rem,4.3vw,4.1rem);line-height:1.02;letter-spacing:-.045em;max-width:16ch;margin:0;color:#fff;text-wrap:balance}
.arc-hero+.sec{padding-top:clamp(60px,7vw,100px)}
@media (max-width:700px){.arc-hero{--card-w:170px;--card-h:320px}.arc-person{height:56vh;bottom:14vh}.arc-copy{gap:16px}}
/* secção do problema: título à esquerda, comparador em cartão à direita (layout do site antigo) */
.pbx{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,88px);align-items:center}
.pbx>*{min-width:0}
.pbx-l .h-2{max-width:14ch}
.pbx-l .lead{margin:clamp(18px,2.4vw,30px) 0 0;max-width:34ch;color:#8a8a8a}
.pbx-card{border-radius:clamp(20px,2vw,28px);padding:clamp(22px,2.6vw,40px);background:#f7f7f7;color:#121212;transition:opacity 1s var(--ease),transform 1.2s var(--ease),background .9s var(--ease),color .9s var(--ease)}
.pbx-card.on-good{background:var(--o);color:#fff}
.pbx-sw{display:inline-flex;align-items:center;gap:14px;background:none;border:0;padding:0 0 clamp(16px,1.8vw,24px);cursor:pointer;color:inherit;font-size:1.05rem}
.pbx-sw .t{width:74px;height:40px;border-radius:99px;border:1px solid #121212;position:relative;transition:background .4s,border-color .4s}
.pbx-sw .t::after{content:"";position:absolute;top:4px;left:4px;width:30px;height:30px;border-radius:50%;background:#121212;transition:transform .5s var(--ease),background .4s}
.pbx-sw[aria-checked=true] .t{background:#fff;border-color:#fff}
.pbx-sw[aria-checked=true] .t::after{transform:translateX(34px);background:var(--o)}
.pbx-sw .a,.pbx-sw .b{transition:color .3s}
.pbx-sw:not([aria-checked=true]) .b{color:#6b6b6b}
.pbx-sw[aria-checked=true] .a{color:rgba(255,255,255,.72)}
.pbx-row{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:clamp(14px,1.4vw,20px);padding:clamp(12px,1.4vw,18px) 0}
.pbx-row:last-child{padding-bottom:0}
.pbx-card .ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(18,18,18,.07);transition:background .6s}
.pbx-card.on-good .ic{background:rgba(255,255,255,.2)}
.pbx-card .ic svg{width:22px;height:22px}
.pbx-row .tx{display:grid;overflow:hidden;font-size:var(--t-body);line-height:1.5}
.pbx-row .tx span{grid-area:1/1;align-self:center;transition:transform .7s var(--ease),opacity .5s}
.pbx-row .tx .s{color:#6b6b6b}
.pbx-row .tx .gd{transform:translateY(110%);opacity:0}
.pbx-card.on-good .tx .s{transform:translateY(-110%);opacity:0}
.pbx-card.on-good .tx .gd{transform:none;opacity:1}
.pbx-row:nth-child(3) .tx span{transition-delay:.04s}
.pbx-row:nth-child(4) .tx span{transition-delay:.08s}
@media (max-width:860px){.pbx{grid-template-columns:1fr}}
/* TOP 5% -> testemunhos: menos espaço vazio na passagem para branco */
.sec:has(+.to-white){padding-bottom:clamp(8px,1vw,16px)}
.to-white{height:clamp(160px,13vw,240px)}
.to-white+.white-zone .tst-sec.white{padding-top:clamp(16px,2vw,32px)}
/* home: o mesmo espaço entre todas as secções (2 × --sec-y) */
.page[data-page="home"]{--sec-y:clamp(60px,7vw,100px)}
.page[data-page="home"]>.sec,.page[data-page="home"]>[data-fcta]>.sec{padding-block:var(--sec-y)}
.page[data-page="home"]>.talks{margin-block:var(--sec-y)}
.page[data-page="home"]>.sec:has(+.to-white){padding-bottom:0}
.page[data-page="home"]>.to-white,.page[data-page="home"]>.to-black{height:calc(2*var(--sec-y))}
.page[data-page="home"] .white-zone>.tst-sec{padding-block:0}
.page[data-page="home"]>.to-black+.sec{padding-top:0}

/* passagem preto → branco: degradê longo e suave com horizonte de luz (ref. Crypzone) */
.to-white,.to-black,.page[data-page="home"]>.to-white,.page[data-page="home"]>.to-black{height:clamp(380px,38vw,600px)}
.to-white{background:
  radial-gradient(150% 62% at 50% 118%,#fff 0%,#fff 34%,rgba(255,255,255,.7) 46%,rgba(255,255,255,.35) 58%,rgba(255,255,255,.1) 70%,rgba(255,255,255,0) 82%),
  radial-gradient(110% 48% at 50% 74%,rgba(255,140,80,.55) 0%,rgba(255,110,40,.3) 30%,rgba(255,90,6,.12) 55%,rgba(255,90,6,0) 80%),
  linear-gradient(180deg,#000 0%,#000 18%,#070100 28%,#160400 37%,#2e0a00 45%,#541600 53%,#8a2805 60%,#c4400e 67%,#ee6024 73%,#ff8a52 79%,#ffb592 85%,#ffd9c7 91%,#fff1ea 96%,#fff 100%)}
.to-black{background:
  radial-gradient(150% 62% at 50% -18%,#fff 0%,#fff 34%,rgba(255,255,255,.7) 46%,rgba(255,255,255,.35) 58%,rgba(255,255,255,.1) 70%,rgba(255,255,255,0) 82%),
  radial-gradient(110% 48% at 50% 26%,rgba(255,140,80,.55) 0%,rgba(255,110,40,.3) 30%,rgba(255,90,6,.12) 55%,rgba(255,90,6,0) 80%),
  linear-gradient(0deg,#000 0%,#000 18%,#070100 28%,#160400 37%,#2e0a00 45%,#541600 53%,#8a2805 60%,#c4400e 67%,#ee6024 73%,#ff8a52 79%,#ffb592 85%,#ffd9c7 91%,#fff1ea 96%,#fff 100%)}

/* serviços na home: painéis com fotografia que se expandem (como no site actual) */
.xp-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.xp-head h2{max-width:none}
.xp-head .lead{margin:0 auto}
.xp{--xe:cubic-bezier(.77,0,.18,1);--xo:cubic-bezier(.22,1,.36,1);display:flex;gap:12px;height:clamp(540px,78vh,760px);margin-top:48px}
.xp-p{--bg:#1c1c1c;--ink:#f7f7f7;--mu:#8a8a8a;--wd:rgba(255,255,255,.05);--ln:rgba(255,255,255,.14);position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:var(--r);background:var(--bg);color:var(--ink);cursor:pointer;transition:flex-grow .9s var(--xe);isolation:isolate}
.xp-flow{--bg:var(--o);--ink:#fff;--mu:rgba(255,255,255,.8);--wd:rgba(255,255,255,.16);--ln:rgba(255,255,255,.4)}
.xp-landing{--bg:#e6e3df;--ink:#111;--mu:#5e5e5e;--wd:rgba(255,255,255,.75);--ln:rgba(17,17,17,.16)}
.xp.has-a .xp-p.on{flex-grow:2.6}
.xp-ph{--w:min(26vh,200px);position:absolute;left:0;top:0;width:100%;height:100%;z-index:-1;transition:left 1s var(--xe),top 1s var(--xe),width 1s var(--xe),height 1s var(--xe),transform 1s var(--xe)}
.xp-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--bg) 85%,transparent) 0%,color-mix(in srgb,var(--bg) 45%,transparent) 18%,color-mix(in srgb,var(--bg) 12%,transparent) 38%,transparent 58%);transition:opacity .6s ease;pointer-events:none}
.xp-p.on .xp-ph{left:50%;top:29%;width:var(--w);height:calc(var(--w)*4/3);transform:translate(-50%,-50%) rotate(-3deg)}
.xp-p.on .xp-ph::after{opacity:0}
.xp-fl{width:100%;height:100%;border-radius:0;overflow:hidden;transition:border-radius 1s var(--xe),box-shadow 1s var(--xe)}
.xp-p.on .xp-fl{border-radius:22px;box-shadow:0 30px 50px rgba(0,0,0,.35);animation:xpf 6s ease-in-out 1s infinite}
.xp-fl img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
@keyframes xpf{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1.5deg)}}
.xp-lb{position:absolute;left:28px;right:28px;bottom:26px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;transition:opacity .45s ease,transform .6s var(--xo)}
.xp-lb strong{display:block;font-weight:400;font-size:clamp(1.6rem,2.2vw,2.2rem);letter-spacing:-.03em;line-height:1}
.xp-go{flex:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--ln);display:grid;place-items:center;transition:background .4s,border-color .4s,transform .6s var(--xo)}
.xp-go svg{width:20px;height:20px;transition:transform .5s var(--xo)}
.xp-p.on .xp-lb{opacity:0;transform:translateY(12px);pointer-events:none}
.xp-dt{position:absolute;left:50%;bottom:clamp(24px,5vh,44px);transform:translateX(-50%);width:min(88%,480px);text-align:center;pointer-events:none}
.xp-dt>*{opacity:0;transform:translateY(18px);transition:opacity .3s ease,transform .5s var(--xo)}
.xp-p.on .xp-dt{pointer-events:auto}
.xp-p.on .xp-dt>*{opacity:1;transform:none;transition:opacity .6s ease,transform .9s var(--xo);transition-delay:calc(.45s + var(--d)*.07s)}
.xp-k{display:block;margin:0 0 8px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.xp-dt .xp-k{margin:0;color:var(--o)}
.xp-dt h3{font-weight:400;font-size:clamp(2.2rem,3.6vw,3.6rem);letter-spacing:-.035em;line-height:1;margin:10px 0 14px}
.xp-ds{font-size:var(--t-body);line-height:1.5;color:var(--mu);margin:0 auto;max-width:36ch}
.xp-ch{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 22px}
.xp-ch span{font-size:.88rem;padding:.35em .85em;border-radius:999px;border:1px solid var(--ln)}
.xp-cta{display:inline-flex;align-items:center;gap:12px;padding:6px 6px 6px 22px;border-radius:999px;background:var(--o);color:#fff;text-decoration:none;font-size:1rem;transition:transform .25s var(--xo),box-shadow .3s}
.xp-cta .xp-go{width:40px;height:40px;border:0;background:#fff;color:var(--o)}
.xp-cta:hover{box-shadow:0 20px 50px -14px rgba(255,90,6,.95)}
.xp-cta:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.xp-cta:hover .xp-go svg{transform:rotate(-45deg)}.xp-p:hover .xp-lb .xp-go{background:var(--ink);color:var(--bg)}}
@media (max-width:760px){
.xp{flex-direction:column;height:auto;gap:10px;margin-top:36px}
.xp-p{flex:none;height:150px;transition:height .9s var(--xe)}
.xp-p.on{height:590px}
.xp-p.on .xp-ph{--w:124px;top:28px;transform:translateX(-50%) rotate(-3deg)}
.xp-lb{left:22px;right:22px;bottom:22px}
.xp-lb .xp-go{display:none}
.xp-dt{width:calc(100% - 40px);bottom:22px}
.xp-ch{margin:14px 0 18px}
}
@media (prefers-reduced-motion:reduce){.xp *,.xp-p{transition-duration:.01ms!important;animation:none!important}}
/* desfoque do fundo do ecrã: faixa curta e suave para não tapar botões */
.progressive-blur{height:12vh}
.progressive-blur>div:nth-child(6){backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.progressive-blur>div:nth-child(7){backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.progressive-blur>div:nth-child(8){backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
/* cartões de serviços mais baixos */
@media (min-width:761px){
.xp{height:clamp(440px,56vh,540px)}
.xp-ph{--w:min(13vh,115px)}
.xp-p.on .xp-ph{top:26px;transform:translate(-50%,0) rotate(-3deg)}
.xp-dt{bottom:28px}
.xp-dt h3{font-size:clamp(1.9rem,2.6vw,2.6rem);margin:6px 0 8px}
}
.xp-lb>div{min-width:0}
.xp-lb strong{font-size:clamp(1.4rem,1.9vw,2rem)}
.xp-lb .xp-go{width:44px;height:44px}
/* frase final das sete perguntas maior */
.t3-foot .h-2{font-size:clamp(2.4rem,5.2vw,5rem)!important;line-height:1.04}

/* movimento: títulos palavra a palavra, imagens e grelhas em cascata (motion.js) */
@keyframes mvWord{from{opacity:0;transform:translateY(.55em);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes mvFade{from{opacity:0}to{opacity:1}}
@keyframes mvImg{from{opacity:0;transform:scale(1.14)}to{opacity:1;transform:none}}
@keyframes mvUp{from{opacity:0;transform:translateY(42px) scale(.97)}to{opacity:1;transform:none}}
.mvh .mw{display:inline-block}
.mvh:not(.in) .mw,.mvh:not(.in) .mwg,.mvi:not(.in),.mvs:not(.in)>*{opacity:0}
.mvh.in .mw{animation:mvWord .9s var(--ease,cubic-bezier(.2,.7,.1,1)) backwards;animation-delay:calc(var(--i)*55ms)}
.mvh.in .mwg{animation:mvFade 1.1s ease backwards;animation-delay:calc(var(--i)*55ms + 80ms)}
.mvi.in{animation:mvImg 1.5s var(--ease,cubic-bezier(.2,.7,.1,1)) backwards}
.mvs.in>*{animation:mvUp 1s var(--ease,cubic-bezier(.2,.7,.1,1)) backwards;animation-delay:calc(var(--i,0)*80ms)}
@media (prefers-reduced-motion:reduce){.mvh .mw,.mvh .mwg,.mvi,.mvs>*,.rv{opacity:1!important;transform:none!important;animation:none!important}}

/* ===== Números com ilustração e luz laranja ===== */
.sx .sxc{height:clamp(380px,31vw,430px);min-height:0;padding:0;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;isolation:isolate;background:radial-gradient(520px circle at var(--mx,50%) var(--my,-40%),rgba(255,90,6,.1),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.012))}
.sxc::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:14px 14px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%);pointer-events:none}
.sxc::after{content:"";position:absolute;left:-30%;right:-30%;bottom:-46%;height:82%;z-index:3;pointer-events:none;mix-blend-mode:screen;border-radius:50%;background:radial-gradient(closest-side,rgba(255,246,236,.95) 0%,rgba(255,190,140,.85) 14%,rgba(255,112,30,.7) 34%,rgba(255,90,6,.28) 58%,transparent 100%);filter:blur(14px);opacity:.9;transition:opacity .6s,transform .8s var(--ease)}
.sxc:hover::after{opacity:1;transform:scale(1.06)}
.sx-t{position:relative;z-index:4;padding:28px 26px 0}
.sx .sx-t b{margin-bottom:12px}
.sx-t>span{display:block;color:var(--body);font-size:.98rem;line-height:1.45;max-width:22ch}
.sx-v{position:relative;flex:1;min-height:0;transition:transform .8s var(--ease)}
.sxc:hover .sx-v{transform:translateY(-6px)}

/* chip e mosaico de vidro */
.sx-chips i,.sx-bars em,.sx-badge em{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 15px 0 11px;border-radius:99px;font-style:normal;font-size:.84rem;font-weight:400;color:#f3f3f3;white-space:nowrap;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 14px 30px -12px rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sx-v svg{width:15px;height:15px;flex:none;fill:none;stroke:#ff9a5c;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* 45+: logótipos a flutuar */
.sx-logos i{position:absolute;left:var(--x);top:var(--y);width:58px;height:58px;translate:-50% 0;display:grid;place-items:center;border-radius:17px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 34px -14px rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:sxFloat 6s ease-in-out var(--d) infinite}
.sx-logos img{max-width:70%;max-height:34%;object-fit:contain;opacity:.92}
.sx-logos i.c{width:80px;height:80px;border-radius:23px;border-color:rgba(255,160,100,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 6px rgba(255,90,6,.08),0 0 40px -4px rgba(255,90,6,.55)}
.sx-logos i.c img{max-height:50%;max-width:56%;opacity:1}
@keyframes sxFloat{50%{transform:translateY(-8px)}}

/* 230+: serviços em chips inclinados */
.sx-chips{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:30px 0 0 34px;rotate:-7deg}
.sx-chips i{translate:var(--x) 0}
.sx-chips i:nth-child(3){border-color:rgba(255,160,100,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 30px -6px rgba(255,90,6,.55)}

/* 700+: barras */
.sx-bars{display:flex;align-items:flex-end;gap:8px;padding:0 22px}
.sx-bars i{flex:1;height:var(--h);border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-bottom:0}
.sx-bars i.on{background:linear-gradient(180deg,#ffe4d2,#ff9a5c 45%,#ff5a06);border-color:rgba(255,220,200,.5);box-shadow:0 0 26px rgba(255,90,6,.6)}
.sx-bars i.on2{background:linear-gradient(180deg,rgba(255,200,165,.75),rgba(255,90,6,.45))}
.sx-bars em{position:absolute;left:50%;top:6%;translate:-50% 0;rotate:-6deg;z-index:2}
.sx-bars i{transform-origin:bottom;transition:transform .9s var(--ease)}
.stats:not(.in) .sx-bars i{transform:scaleY(.15)}

/* Top 5%: selo com anéis */
.sx-badge s{position:absolute;left:50%;top:60%;width:var(--w);aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:1px solid rgba(255,255,255,.09);background:radial-gradient(closest-side,transparent 70%,rgba(255,255,255,.03))}
.sx-badge s:nth-child(1){--w:150%}
.sx-badge s:nth-child(2){--w:104%;border-style:dashed;border-color:rgba(255,170,120,.22);animation:sxSpin 40s linear infinite}
.sx-badge s:nth-child(3){--w:62%;border-color:rgba(255,255,255,.14)}
.sx-badge i{position:absolute;left:50%;top:60%;translate:-50% -50%;width:82px;height:82px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid rgba(255,160,100,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 0 7px rgba(255,90,6,.08),0 0 46px -4px rgba(255,90,6,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sx-badge i svg{width:36px;height:36px;stroke:#ffd9c2;stroke-width:1.3}
.sx-badge em{position:absolute;right:12%;top:12%;rotate:6deg;z-index:2}
@keyframes sxSpin{to{rotate:360deg}}

@media (max-width:560px){
  .stats.sx{grid-template-columns:1fr}
  .sx .sxc{height:360px}
}
@media (prefers-reduced-motion:reduce){.sx-logos i,.sx-badge s{animation:none}.stats:not(.in) .sx-bars i{transform:none}}
.sx-logos i.c svg.bc{width:58px;height:58px;fill:#fff;stroke:none}
.sx-bars em{top:0}
/* números só com texto, centrados */
.sx .sxc{height:auto;min-height:clamp(240px,20vw,290px);justify-content:center;align-items:center;text-align:center}
.stats.sx .stat{text-align:center}
.sx-t{padding:30px 24px 44px}
.sx-t>span{margin-inline:auto}
@media (max-width:560px){.sx .sxc{height:auto;min-height:220px}}
/* cartões pretos, mais baixos, borda fina */
.sx .sxc{min-height:clamp(180px,14vw,210px);background:#000;border:.5px solid rgba(255,255,255,.28);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.sxc::before{display:none}
.sxc::after{bottom:-58%;height:80%;opacity:.85}
.sx-t{padding:22px 24px 34px}
.sx .sx-t b{margin-bottom:8px}
@media (max-width:560px){.sx .sxc{min-height:180px}}
.sxc::after{bottom:-52%;height:84%;opacity:1}
.sx .sxc{min-height:clamp(150px,11.5vw,170px);justify-content:center;align-items:center;text-align:center}
.sx-t{padding:18px 22px 26px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
.sx .sx-t b{margin-bottom:6px}
.sx-t>span{text-align:center}
.sxc::after{bottom:-60%;height:90%}
@media (max-width:560px){.sx .sxc{min-height:150px}}
.xp-lb{align-items:flex-end}
.xp-lb .xp-go{margin-bottom:calc((1em - 44px) / 2);font-size:clamp(1.4rem,1.9vw,2rem)}

/* site inteiro: o mesmo espaço entre todas as secções = 2 × --sec-y (manda sobre tudo o que está acima e sobre paddings inline) */
:root,.page[data-page]{--sec-y:clamp(40px,4.5vw,64px);--fade-o:clamp(80px,9vw,140px)}
.page[data-page]>.sec,.page[data-page]>section.wrap{padding-block:var(--sec-y)!important}
.phero{padding-bottom:var(--sec-y)}
.page[data-page]>.talks{margin-block:var(--sec-y)}
.svc-detail{padding-block:var(--sec-y)}
.ftr{margin-top:var(--sec-y)}
.page[data-page]>.t3+.sec{margin-top:calc(var(--sec-y) - var(--t3-tail,0px))}
.page[data-page]>.sec:has(+.to-white){padding-bottom:0!important;z-index:1}
.page[data-page]>.to-black+.sec{padding-top:0!important;z-index:1}
.page[data-page] .white-zone>.tst-sec.white{padding-block:0}
.page[data-page]>.to-white,.page[data-page]>.to-black{height:calc(2*var(--sec-y) + var(--fade-o));z-index:0}
.page[data-page]>.to-white{margin-top:calc(-1*var(--fade-o))}
.page[data-page]>.to-black{margin-bottom:calc(-1*var(--fade-o))}

/* cartões de serviços: degradê laranja em baixo e, quando abertos, fundo preto com luz laranja como os cartões de números */
.xp-p.xp-core,.xp-p.xp-flow,.xp-p.xp-landing{--bg:#000;--ink:#f7f7f7;--mu:#a3a3a3;--ln:rgba(255,255,255,.22);border:.5px solid rgba(255,255,255,.28)}
.xp-ph::after{background:linear-gradient(to top,rgba(255,90,6,.92) 0%,rgba(255,90,6,.5) 20%,rgba(255,90,6,.14) 40%,transparent 60%)}
.xp-p::after{content:"";position:absolute;left:-12%;right:-12%;bottom:-34%;height:60%;z-index:-1;pointer-events:none;mix-blend-mode:screen;border-radius:50%;background:radial-gradient(closest-side,rgba(255,246,236,.95) 0%,rgba(255,190,140,.85) 14%,rgba(255,112,30,.7) 34%,rgba(255,90,6,.28) 58%,transparent 100%);filter:blur(18px);opacity:0;transition:opacity .8s ease}
.xp-p.on::after{opacity:1}

/* transições preto↔branco: mais respiro antes e depois do degradê */
:root,.page[data-page]{--fade-gap:clamp(48px,6vw,96px)}
.page[data-page]>.t3+.sec{margin-top:calc(var(--sec-y) + var(--fade-gap) - var(--t3-tail,0px))}
.page[data-page]>.sec:has(+.to-white){padding-bottom:var(--fade-gap)!important}
.page[data-page] .white-zone>.tst-sec.white{padding-block:var(--fade-gap)}
.page[data-page]>.to-black+.sec{padding-top:var(--fade-gap)!important}
@media (min-width:761px){.xp-p.on .xp-ph{top:var(--pt,26px)}}

/* menos espaço entre os serviços e as sete perguntas */
.page[data-page]>.sec:has(+.t3){position:relative;z-index:2}
.page[data-page]>.t3{margin-top:-22vh}

/* ===== testemunhos em carrossel (2 filas em loop) ===== */
.tst-sec .shead::after{display:none}
.tst-sec .tcar{margin-top:36px;padding-block:24px;display:grid;width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.tcar .ttrack{display:flex;align-items:flex-start;gap:18px;width:max-content;animation:tscroll 70s linear infinite}
.tcar:hover .ttrack{animation-play-state:paused}
@keyframes tscroll{to{transform:translateX(calc(-50% - 9px))}}
.tcar .tq{flex:none;width:380px;display:flex;flex-direction:column;border-radius:var(--r);background:#000;border:.5px solid rgba(255,255,255,.3);box-shadow:none;transition:border-color .35s,box-shadow .35s,transform .35s var(--ease)}
.tcar .tq:hover{border-color:#ff5a06;box-shadow:0 0 22px -8px rgba(255,90,6,.6);transform:translateY(-3px)}
.tcar .ttrack{align-items:stretch}
.tcar .tq blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:9;line-clamp:9;overflow:hidden;flex:none;margin-bottom:auto}
.tcar .tq blockquote::before{content:none}
.tcar .tq-t,.tdlg .tq-t{margin:0 0 16px;color:#fff;font-size:clamp(1.35rem,1.8vw,1.6rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
.tcar .tq blockquote,.tdlg blockquote{font-size:.9rem;line-height:1.6;color:#bdbdbd}
.tdlg .tq-t{padding-right:36px}
.tcar .tq .who{margin-top:20px}
.tcar .tmore{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:0;background:none;border:0;color:var(--o);font:inherit;font-size:.95rem;cursor:pointer}
.tcar .tmore[hidden]{display:none}
.tcar .tq:has(.tmore:not([hidden])) blockquote{margin-bottom:0}
.tcar .tq:has(.tmore:not([hidden])) .tmore{margin-bottom:auto}
.tdlg{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:36px 32px 30px;border-radius:var(--r);background:#000;color:#fff;border:.5px solid #ff5a06;box-shadow:0 0 50px -10px rgba(255,90,6,.6)}
.tdlg::backdrop{background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tdlg blockquote{margin:0 0 24px;color:#bdbdbd;font-size:.95rem;line-height:1.65}
.tdlg .tq-t{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:22px}
.tdlg .who{display:flex;align-items:center;gap:12px}
.tdlg .who i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:linear-gradient(180deg,#ff7a33,#ff5a06);color:#fff;font-size:.9rem}
.tdlg .who b{display:block;font-weight:400;color:#fff;font-size:.95rem}
.tdlg .who span{font-size:.84rem;color:var(--dim)}
.tdlg-x{position:absolute;top:10px;right:14px;width:36px;height:36px;border-radius:50%;border:.5px solid rgba(255,255,255,.3);background:none;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;transition:border-color .25s}
.tdlg-x:hover{border-color:#ff5a06}
@media (max-width:600px){.tcar .tq{width:280px;padding:22px}.tcar .tq blockquote{-webkit-line-clamp:7;line-clamp:7}}
@media (prefers-reduced-motion:reduce){.tcar:not(.js) .ttrack{animation:none}.tst-sec .tcar:not(.js){overflow-x:auto}}
.tcar.js .ttrack{animation:none;will-change:transform}
.tcar.js{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.tcar.js.drag{cursor:grabbing}
.tcar.drag .tq{transition:none}

/* notícia: título no tamanho de secção, texto a toda a largura, anterior/seguinte */
.phero .h-1.news-h{font-size:var(--t-title)!important;line-height:1.08;letter-spacing:-.035em;max-width:none}
.news-body{max-width:none}
.news-body p{color:var(--body);font-size:var(--t-body);line-height:1.65}
.news-body .big-quote{color:#fff;max-width:none}
.npn{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.6vw,22px)}
.npn a{display:flex;align-items:center;gap:clamp(16px,2vw,26px);padding:12px;border-radius:var(--r);background:var(--g-bg);border:1px solid var(--g-bd);transition:border-color .4s}
.npn a:hover{border-color:rgba(255,150,100,.4)}
.npn .nx{flex-direction:row-reverse;text-align:right}
.npn .im{flex:0 0 clamp(110px,14vw,190px);aspect-ratio:4/3;border-radius:calc(var(--r) - 12px);overflow:hidden;background:#0b0b0b}
.npn .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.npn a:hover .im img{transform:scale(1.05)}
.npn .tx{display:flex;flex-direction:column;gap:10px;min-width:0;padding-inline:4px}
.npn .k{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;color:var(--o);font-size:.95rem}
.npn .nx .k{align-self:flex-end}
.npn .pv .k{flex-direction:row-reverse}
.npn h3{font-size:calc(var(--t-card)*.82)!important;line-height:1.3;letter-spacing:-.015em;color:#fff;margin:0}
@media (max-width:820px){.npn{grid-template-columns:1fr}.npn .nx{flex-direction:row;text-align:left}}
.news-h .g{-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* seta redonda dos botões em links de texto (Ler notícia, Ler mais, anterior/seguinte) */
.ncard .more::after,.tcar .tmore::after,.npn .k::after{content:"";flex:none;width:1.45em;height:1.45em;border-radius:50%;background:var(--o) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/62% no-repeat;transition:transform .5s var(--ease)}
.ncard:hover .more::after,.tcar .tmore:hover::after,.npn .nx:hover .k::after{transform:rotate(-45deg)}
.npn .pv .k::after{transform:rotate(180deg)}
.npn .pv:hover .k::after{transform:rotate(225deg)}
/* footer: títulos de coluna maiores que os links, links mais pequenos, ícones, logótipo */
.ftr .ftr-sub{font-size:1rem;color:var(--body);margin:0;max-width:30ch}
.ftr h4,.ftr .fh{font-size:1.15rem;color:#fff;margin-bottom:18px;font-weight:400;letter-spacing:-.01em}
.ftr li,.ftr li a{font-size:.95rem;color:var(--body)}
.ftr ul{gap:12px}
.ftr li a:hover{color:var(--o)}
.ftr .ic a,.ftr .ic span{display:inline-flex;align-items:center;gap:12px}
.ftr .fi{flex:none;width:30px;height:30px;padding:7px;border-radius:50%;border:1px solid var(--g-bd);background:var(--g-bg);color:#fff;transition:color .3s,border-color .3s}
.ftr .ic a:hover .fi{color:var(--o);border-color:rgba(255,150,100,.4)}
.ftr-word{background:none;-webkit-background-clip:border-box;background-clip:border-box;font-size:0;line-height:0}
.ftr-word img{display:block;width:100%;height:auto;-webkit-mask:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,0) 85%);mask:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,0) 85%)}
.phero .h-1.svc-h{max-width:none}
@media (min-width:768px){.phero .h-1.svc-h{white-space:nowrap}}
.phero.c .lead.svc-lead{max-width:none}
@media (max-width:767px){.svc-lead br{display:none}}

.svc-k{margin:0;color:var(--dim);font-size:.95rem}
.stabs{margin-top:30px}
.stab-btns{position:relative;display:inline-flex;gap:2px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:99px;background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:100%;overflow-x:auto;scrollbar-width:none}
.stab-btns::-webkit-scrollbar{display:none}
.stab-btns button{position:relative;z-index:1;border:0;background:none;color:var(--body);font:inherit;font-size:.98rem;padding:.65em 1.2em;border-radius:99px;cursor:pointer;white-space:nowrap;transition:color .35s}
.stab-btns button[aria-selected=true]{color:#fff}
.stab-btns button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.stab-ind{position:absolute;top:5px;bottom:5px;left:0;width:0;border-radius:99px;background:var(--o);box-shadow:0 10px 30px -12px rgba(255,90,6,.8);transition:transform .5s var(--ease),width .5s var(--ease)}
.stab-p{display:none;padding:26px 0 30px}
.stab-p.on{display:block;animation:stabIn .5s var(--ease)}
@keyframes stabIn{from{opacity:0;transform:translateY(8px)}}
.stab-l,.stab-ph{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.stab-l li{position:relative;padding-left:1.3em;color:var(--body)}
.stab-l li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--o)}
.stab-ph{counter-reset:ph}
.stab-ph li{display:grid;grid-template-columns:52px 1fr;align-items:baseline;color:var(--body)}
.stab-ph li::before{counter-increment:ph;content:counter(ph,decimal-leading-zero);color:var(--o);font-size:.85em}
.svc-prazo{border-top:1px solid var(--line);padding:24px 0 30px}
.svc-prazo span{display:block;color:var(--dim);font-size:.95rem;margin-bottom:8px}
.svc-prazo p{margin:0}
@media (max-width:760px){.stab-btns{display:flex;width:100%}.stab-btns button{flex:1;padding:.6em .6em;font-size:.88rem}}
@media (prefers-reduced-motion:reduce){.stab-ind{transition:none}.stab-p.on{animation:none}}
@media (max-width:860px){.svc-detail .ph{position:relative!important;top:0}}

/* página de notícias e artigos (/artigos/) */
.artigos .phero{padding-bottom:0}
.artigos .news{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.acard .tx{padding-top:28px}
.acard p{margin:0;color:var(--body);font-size:.95rem;line-height:1.55}
.acard .am{color:var(--dim);font-size:.86rem}
.acard .am+.more{margin-top:-8px}
.acard .tx>p{flex:1}
.svc-k{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--o)}
.svc-detail{align-items:stretch;border:1px solid rgba(255,255,255,.22);border-radius:var(--r);padding:clamp(12px,1.4vw,18px);gap:clamp(24px,4vw,56px);margin-block:clamp(20px,2.5vw,32px)}
.svc-detail>div{padding:clamp(14px,2.2vw,32px) clamp(6px,1.6vw,22px)}
.svc-detail .ph{position:relative;top:0;aspect-ratio:auto;height:100%;min-height:340px;border-radius:calc(var(--r) - 10px)}
.svc-detail .ph img{position:absolute;inset:0}
.svc-detail .btn{margin-top:4px}
@media (max-width:860px){.svc-detail .ph{height:auto;min-height:0;aspect-ratio:4/3}}
@media (min-width:861px){.svc-detail .ph img{object-position:50% 0}}
.svc-detail.svc-o{background:var(--o);border-color:var(--o);box-shadow:0 40px 90px -50px rgba(255,90,6,.7)}
.svc-o .svc-k{color:#000}
.svc-o .h-1 .g{background:none;color:#fff;-webkit-text-fill-color:#fff}
.svc-o .lead,.svc-o .stab-l li,.svc-o .stab-ph li{color:#fff}
.svc-o .stab-l li::before{background:#000}
.svc-o .stab-ph li::before{color:#000}
.svc-o .stab-btns{background:#fff;border-color:#fff}
.svc-o .stab-btns button{color:#000}
.svc-o .stab-btns button[aria-selected=true]{color:#fff}
.svc-o .stab-ind{background:var(--o);box-shadow:none}
.svc-o .btn{--ar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");background:#fff;color:#000;box-shadow:0 14px 40px -16px rgba(0,0,0,.35)}
.svc-o .btn::after{background-color:var(--o)}
.svc-o .btn:hover{box-shadow:0 20px 50px -14px rgba(0,0,0,.45)}
.hdr .nav{border-color:rgba(255,255,255,.22)}
/* rodapé um pouco mais claro que o resto da página */
.ftr{background:#121212}
.ftr::before{display:none}
.fcta-img{position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;min-height:clamp(380px,38vw,520px);padding:clamp(56px,7vw,100px) clamp(20px,4vw,48px);border:1px solid rgba(255,255,255,.22);border-radius:var(--r)}
.fcta-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fcta-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.72))}
.fcta-img .tx{position:relative;z-index:1;max-width:760px}
.fcta-img .h-2{margin:0 auto 18px;max-width:22ch}
.fcta-img .lead{margin:0 auto 34px;max-width:40ch}

/* ===== Equipa: carrossel orbital na hero ===== */
.orbita{--orb-r:320px;--orb-cw:156px;--orb-ch:198px;--orb-incl:-3deg;--orb-w:312px;--orb-h:408px;position:relative;height:calc(var(--orb-h) + 40px);display:grid;place-items:center;perspective:1400px}
.orb-cena{position:relative;width:0;height:0}
.orb-centro{position:absolute;z-index:50;max-width:none;width:var(--orb-w);height:var(--orb-h);left:calc(var(--orb-w)/-2);top:calc(var(--orb-h)/-2);object-fit:cover;border-radius:22px;transform:perspective(1400px) rotateX(-3deg);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.orb-anel{position:absolute;left:0;top:0}
.orbita{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.orbita.dragging{cursor:grabbing}
.orbita img{-webkit-user-drag:none;pointer-events:none}
.orb-card{position:absolute;width:var(--orb-cw);height:var(--orb-ch);left:calc(var(--orb-cw)/-2);top:calc(var(--orb-ch)/-2);transform:perspective(1400px) rotateX(-3deg) rotateY(calc(var(--i)*45deg)) translateZ(var(--orb-r));border-radius:14px;overflow:hidden;will-change:transform;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.orb-card img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1300px){.orbita{--orb-r:250px;--orb-cw:122px;--orb-ch:155px;--orb-w:244px;--orb-h:320px}}
@media (max-width:900px){.orbita{--orb-r:240px;--orb-cw:110px;--orb-ch:140px;--orb-w:220px;--orb-h:288px}}
@media (max-width:480px){.orbita{--orb-r:160px;--orb-cw:80px;--orb-ch:102px;--orb-w:170px;--orb-h:222px}}

/* ===== testemunhos em leque (cartão activo ao centro, vizinhos rodados em arco) ===== */
.tst-sec:has(.tfan)::before{display:none}
.tst-sec:has(.tfan){overflow-x:clip}
.tst-sec:has(.tfan) .shead{margin-top:clamp(170px,22vw,300px)}
.tst-sec:has(.tfan) .shead::before{content:"";position:absolute;z-index:-2;left:50%;top:50%;width:clamp(560px,80vw,1100px);aspect-ratio:1.3;translate:-50% -50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,120,40,.55) 0%,rgba(255,90,6,.32) 35%,rgba(255,90,6,.1) 65%,transparent 100%)}
.tfan-star{position:absolute;z-index:-1;left:50%;top:50%;width:clamp(560px,72.8vw,1008px);translate:-50% -48.5%;overflow:visible;pointer-events:none;
  fill:rgba(255,90,6,.07);stroke:#ff7a33;stroke-width:1.5px;stroke-linejoin:round;
  filter:drop-shadow(0 0 2px #ff5a06) drop-shadow(0 0 30px rgba(255,90,6,.5));
  -webkit-mask-image:linear-gradient(180deg,#000 50%,transparent 77%);mask-image:linear-gradient(180deg,#000 50%,transparent 77%);
  animation:tfanPulse 5s ease-in-out infinite}
@keyframes tfanPulse{50%{opacity:.65}}
/* 5 estrelas: duas mais pequenas de cada lado, mais atrás, em arco */
.tst-sec .shead{--sw:clamp(560px,72.8vw,1008px)}
.tfan-star.sm{width:calc(var(--sw)*var(--k));translate:calc(-50% + var(--sw)*var(--x)) calc(-48.5% + var(--sw)*var(--y));rotate:var(--r);
  -webkit-mask-image:none;mask-image:none;opacity:var(--o);animation:none;filter:drop-shadow(0 0 2px #ff5a06) drop-shadow(0 0 18px rgba(255,90,6,.45)) blur(var(--b))}
.tfan-star path{vector-effect:non-scaling-stroke}
.tfan-star.s1{--k:.30;--x:-.37;--y:.06;--r:-9deg;--o:.85;--b:.3px}
.tfan-star.s2{--k:.22;--x:-.58;--y:.13;--r:-17deg;--o:.65;--b:.8px}
.tfan-star.s3{--k:.30;--x:.37;--y:.06;--r:9deg;--o:.85;--b:.3px}
.tfan-star.s4{--k:.22;--x:.58;--y:.13;--r:17deg;--o:.65;--b:.8px}
@media (max-width:640px){.tfan-star.sm{display:none}}
.tfan-dust{position:absolute;z-index:-3;top:0;left:50%;width:100vw;height:100%;translate:-50% 0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 80%,transparent)}
.tst-sec .tcar.tfan{--fan-a:13deg;--fan-r:1800px;display:grid;justify-items:center;margin-top:clamp(40px,5vw,70px);padding:0 0 clamp(50px,5vw,80px);
  cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;outline:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.tfan.drag{cursor:grabbing}
.tfan.drag .tq{transition:border-color .35s,box-shadow .35s}
.tfan .tq{grid-area:1/1;width:min(400px,80vw);transform-origin:50% var(--fan-r);cursor:pointer;background:#000;
  transition:transform .9s cubic-bezier(.22,1,.36,1),filter .9s,opacity .9s,border-color .35s,box-shadow .35s}
.tfan .tq.on{border-color:rgba(255,90,6,.55);box-shadow:0 30px 60px rgba(0,0,0,.7),0 0 34px -10px rgba(255,90,6,.7);cursor:default}
.tfan .tq.off{pointer-events:none}
.tfan .tq:not(.on) .tmore{pointer-events:none}
@media (max-width:640px){.tst-sec .tcar.tfan{--fan-a:15deg;--fan-r:1100px;padding-bottom:50px}}
@media (prefers-reduced-motion:reduce){.tfan .tq{transition:none}.tfan-star{animation:none}}

/* ===== Equipa: timeline com a linha a desenhar-se no scroll ===== */
.tlj{position:relative;padding-left:40px}
.tlj-svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.tlj-track{fill:none;stroke:rgba(255,255,255,.18);stroke-width:2;stroke-dasharray:2 9;stroke-linecap:round}
.tlj-fill{fill:none;stroke:url(#tlj-grad);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(255,90,6,.55))}
.tlj-spark{fill:#fff;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #ff5a06)}
.tlj:not(.tlj-ok) .tlj-spark{display:none}
.tlj-node{position:absolute;z-index:2;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;display:grid;place-items:center;font-size:.95rem;color:var(--body);background:#141414;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 6px #000;transition:transform .5s var(--ease),background .5s,box-shadow .5s,color .5s,border-color .5s}
.tlj-node::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid #ff8a4a;opacity:0;pointer-events:none}
.tlj-node.on{transform:scale(1.1);color:#fff;border-color:transparent;background:linear-gradient(140deg,#ff8a4a,#ff5a06);box-shadow:0 0 0 6px #000,0 0 26px rgba(255,90,6,.6)}
.tlj-node.on::after{animation:tljPing 2.2s ease-out infinite}
.tlj-node svg{width:20px;height:15px;fill:currentColor}
@keyframes tljPing{0%{opacity:.85;transform:scale(.85)}100%{opacity:0;transform:scale(1.7)}}
.tlj-row{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,72px);align-items:center;padding:clamp(36px,5vw,64px) 0}
.tlj-row:nth-of-type(even) .tlj-tx{order:2}
.tlj-tx{padding-left:28px}
.tlj-yr{display:inline-block;font-size:var(--t-title)!important;line-height:1.05;letter-spacing:-.035em;margin:0 0 18px;font-weight:300}
.tlj-tx p{color:var(--body);font-size:var(--t-body);line-height:1.6;max-width:44ch;margin:0}
.tlj-media{position:relative;margin:0;aspect-ratio:4/3;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0d0d0d}
.tlj-media>img:first-child{width:100%;height:100%;object-fit:cover;display:block}
.tlj-seal{position:absolute;right:16px;bottom:16px;width:clamp(76px,9vw,110px);height:auto;border-radius:50%;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.tlj-quote{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,3vw,40px)}
.tlj-quote .tlj-qbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tlj-quote::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 45%,rgba(0,0,0,.15) 100%)}
.tlj-quote>:not(img){position:relative;z-index:2}
.tlj-qm{display:block;height:.42em;margin-bottom:10px;font-size:3.4rem;line-height:1;color:#ff5a06}
.tlj-quote blockquote{margin:0;max-width:34ch;color:#fff;font-size:var(--t-body);line-height:1.45;letter-spacing:-.01em}
.tlj-quote figcaption{margin-top:12px;color:var(--body);font-size:calc(var(--t-body)*.75)}
@media (prefers-reduced-motion:reduce){.tlj-spark{display:none}}
@media (max-width:960px){
  .tlj{padding-left:58px}
  .tlj-row{grid-template-columns:1fr;gap:24px}
  .tlj-row:nth-of-type(even) .tlj-tx{order:0}
  .tlj-tx{padding-left:0}
}

/* ===== Equipa: quem trabalha a tua marca, em stories ===== */
.tst-wrap{display:grid;grid-template-columns:1fr minmax(300px,400px);gap:clamp(28px,6vw,96px);align-items:center}
.ts-names{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ts-names button{position:relative;width:100%;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:14px;padding:18px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--dim);text-align:left;cursor:pointer;font:inherit}
.ts-names b{font-weight:300;font-size:var(--t-title);letter-spacing:-.035em;line-height:1.05;transition:color .3s,transform .6s var(--ease)}
.ts-names .r{font-size:calc(var(--t-body)*.8);text-align:right;color:var(--body)}
.ts-names button:hover b{color:var(--body)}
.ts-names button.on{color:#fff}
.ts-names button.on b{color:var(--o);transform:translateX(12px)}
.ts-names button::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:calc(var(--p,0)*100%);background:var(--o)}
.ts-names button:not(.on)::after{width:0}
.ts-stage{position:relative;display:grid;justify-items:center;gap:14px}
.ts-stage::before{content:"";position:absolute;top:50%;left:50%;width:120%;aspect-ratio:1;translate:-50% -55%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,90,6,.32),transparent);filter:blur(30px);pointer-events:none}
.ts-frame{position:relative;width:100%;aspect-ratio:9/16;max-height:78vh;border-radius:28px;overflow:hidden;background:#0d0d0d;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px -40px rgba(0,0,0,.9);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ts-frame:focus-visible{outline:2px solid var(--o);outline-offset:4px}
.ts-bars{position:absolute;top:12px;left:12px;right:12px;z-index:4;display:flex;gap:4px}
.ts-bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.28);overflow:hidden}
.ts-bars i b{display:block;height:100%;width:0;background:#fff}
.ts-head{position:absolute;top:24px;left:12px;right:12px;z-index:4;display:flex;align-items:center;gap:8px;color:#fff;font-size:.88rem;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.ts-head img{width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid var(--o)}
.ts-head b{font-weight:400}
.ts-imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;opacity:0;transform:scale(1.1);transition:opacity .7s var(--ease),transform 5.4s linear}
.ts-imgs img.on{opacity:1;transform:scale(1)}
.ts-cap{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;padding:14px 16px 16px;border-radius:20px;color:#fff;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.ts-cap.in{animation:tsIn .55s var(--ease)}
@keyframes tsIn{from{opacity:0;transform:translateY(12px)}}
.ts-cap small{display:block;color:var(--o);font-size:.82rem;margin-bottom:4px}
.ts-cap p{margin:0;font-size:calc(var(--t-body)*.85);line-height:1.4;color:#fff}
.ts-cap p.big{font-size:var(--t-card);line-height:1.1;letter-spacing:-.02em}
.ts-cap span{display:block;margin-top:6px;color:var(--body);font-size:.92rem}
.ts-prev,.ts-next{position:absolute;top:0;bottom:0;z-index:3;border:0;background:none;cursor:pointer;padding:0}
.ts-prev{left:0;width:34%}
.ts-next{right:0;width:66%}
.ts-hint{margin:0;color:var(--dim);font-size:.88rem}
@media (max-width:760px){
  .tst-wrap{grid-template-columns:1fr;gap:18px}
  .ts-names{display:flex;gap:8px;overflow-x:auto;border:0;margin-inline:calc(-1*var(--pad));padding:0 var(--pad) 4px;scrollbar-width:none}
  .ts-names::-webkit-scrollbar{display:none}
  .ts-names li{flex:none}
  .ts-names button{display:flex;gap:8px;align-items:center;padding:.55em 1em;border:1px solid var(--line);border-radius:999px;overflow:hidden}
  .ts-names b{font-size:1.05rem;letter-spacing:0}
  .ts-names .r{display:none}
  .ts-names button.on{border-color:var(--o)}
  .ts-names button::after{bottom:0;height:3px}
  .ts-names button.on b{transform:none}
  .ts-frame{max-height:none;aspect-ratio:9/15;max-width:460px;margin:0 auto}
  .ts-stage::before{width:100%}
}

/* Não somos para todos: cards iluminados pelo rato */
.lg-head{position:sticky;top:var(--lg-top,100px);z-index:2}
.lgrid{position:relative;z-index:1;max-width:640px;margin-inline:auto}
.lgrid::after{content:"";display:block;height:25vh}
.lg-card{position:relative;overflow:hidden;padding:40px 36px 44px;border-radius:var(--r);background:#000;border:1px solid rgba(255,255,255,.14);position:sticky;top:calc(var(--lg-st,260px) + var(--i)*18px);margin-top:40vh;transform-origin:center top;transform:scale(var(--s,1));filter:brightness(var(--b,1));will-change:transform,filter;box-shadow:0 -10px 30px rgba(0,0,0,.5);transition:border-color .4s ease}
.lg-card:first-child{margin-top:0}
.lg-card::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(320px circle at var(--cx,50%) var(--cy,0%),rgba(255,90,6,.16),transparent 70%);opacity:0;transition:opacity .3s ease}
.lg-card:hover,.lg-card.on{border-color:rgba(255,90,6,.35)}
@media (prefers-reduced-motion:reduce){.lg-card{transform:none;filter:none}}
.lg-card:hover::after,.lg-card.on::after{opacity:1}
.lg-card>*{position:relative;z-index:1}
.lg-ic{position:relative;width:44px;height:44px;padding:11px;margin:11px 0 32px 11px;border-radius:50%;border:1px solid var(--g-bd);background:var(--g-bg);color:#fff;transition:color .3s,border-color .3s}
.lg-ic svg{display:block;width:100%;height:100%}
.lg-card:hover .lg-ic,.lg-card.on .lg-ic{color:var(--o);border-color:rgba(255,150,100,.4)}
.lg-ic::before{content:"";position:absolute;inset:-5px;border-radius:50%;padding:1.5px;background:conic-gradient(from 0deg,transparent 0 65%,var(--o) 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:lgSpin 4s linear infinite;opacity:.55;transition:opacity .3s}
.lg-ic::after{content:"";position:absolute;inset:-11px;border-radius:50%;border:1px solid rgba(255,255,255,.14);transition:border-color .3s}
.lg-card:hover .lg-ic::before,.lg-card.on .lg-ic::before{opacity:1}
.lg-card:hover .lg-ic::after,.lg-card.on .lg-ic::after{border-color:rgba(255,90,6,.4)}
@keyframes lgSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.lg-ic::before{animation-duration:40s}}
.lg-card h3{margin:0}
.lg-card p{margin:10px 0 0;color:var(--body);font-size:calc(var(--t-body)*.85);line-height:1.55;max-width:40ch}
@media (max-width:640px){.lg-card{padding:32px 24px 36px;margin-top:30vh}.lg-card:first-child{margin-top:0}}

/* Não somos para todos: fundo de código com luz que segue o rato */
.lg-sec>.wrap{position:relative;z-index:1}
.lg-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.lg-bg-in{--x:50%;--y:50%;position:sticky;top:0;height:100vh;overflow:hidden}
.lg-code{position:absolute;inset:-20px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-family:var(--f);font-weight:500;font-size:13px;line-height:1.6;letter-spacing:-.01em;white-space:nowrap;user-select:none}
.lg-code span{display:inline-block;margin:0 1.2em}
.lg-code-base{color:#1c1c1c;-webkit-mask-image:radial-gradient(ellipse 55% 50% at 50% 50%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 55% 50% at 50% 50%,#000 40%,transparent 100%)}
.lg-code-base .hl{color:#3a1704}
.lg-code-light{color:#5a5a5a;-webkit-mask-image:radial-gradient(circle 320px at var(--x) var(--y),#000 0%,rgba(0,0,0,.3) 40%,transparent 75%);mask-image:radial-gradient(circle 320px at var(--x) var(--y),#000 0%,rgba(0,0,0,.3) 40%,transparent 75%)}
.lg-code-light .hl{color:var(--o);text-shadow:0 0 12px rgba(255,90,6,.45)}
@media (max-width:767px){.lg-code{font-size:11px}.lg-code-light{-webkit-mask-image:radial-gradient(circle 200px at var(--x) var(--y),#000 0%,rgba(0,0,0,.3) 40%,transparent 75%);mask-image:radial-gradient(circle 200px at var(--x) var(--y),#000 0%,rgba(0,0,0,.3) 40%,transparent 75%)}}
/* card fixado à frente da pilha: fundo laranja */
.lg-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--o);opacity:0;transition:opacity .5s var(--ease)}
.lg-card.on{border-color:var(--o)}
.lg-card.on::before{opacity:1}
.lg-card.on::after{opacity:0}
.lg-card h3,.lg-card p{transition:color .5s var(--ease)}
.lg-card.on h3{color:#fff}
.lg-card.on p{color:rgba(255,255,255,.9)}
.lg-card.on .lg-ic{color:#fff;background:rgba(0,0,0,.18);border-color:rgba(255,255,255,.35)}
.lg-card.on .lg-ic::before{background:conic-gradient(from 0deg,transparent 0 65%,#fff 90%,transparent 100%)}
.lg-card.on .lg-ic::after{border-color:rgba(255,255,255,.4)}
.lg-code-wave{--w:-200px;color:#a8a8a8;opacity:0;-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent calc(var(--w) - 260px),rgba(0,0,0,.35) calc(var(--w) - 120px),#000 var(--w),transparent calc(var(--w) + 60px));mask-image:radial-gradient(circle at 50% 50%,transparent calc(var(--w) - 260px),rgba(0,0,0,.35) calc(var(--w) - 120px),#000 var(--w),transparent calc(var(--w) + 60px))}
.lg-code-wave .hl{color:#ff7a2e;text-shadow:0 0 14px rgba(255,90,6,.6)}
/* selo PME antes do Top 5% */
.sx-row{display:flex;align-items:center;justify-content:center;gap:.1em;margin-bottom:6px;font-size:var(--t-num)}
.sx .sx-row b{margin-bottom:0}
.sx-seal{width:1.05em;height:1.05em;border-radius:50%;flex:none;animation:sx-seal-rot 14s linear infinite}
@keyframes sx-seal-rot{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sx-seal{animation:none}}
#allcases,#homecases{grid-template-columns:repeat(3,minmax(0,1fr))}
#allcases .case,#homecases .case{grid-column:auto}
@media (max-width:1200px){#allcases,#homecases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){#allcases,#homecases{grid-template-columns:1fr}}
#allcases .case h3,#homecases .case h3{font-size:clamp(1.25rem,1rem + .4vw,1.5rem)!important;margin-bottom:6px}
#allcases .case p,#homecases .case p{font-size:clamp(1rem,.92rem + .2vw,1.075rem)!important;line-height:1.55}
#allcases .case .kp span,#homecases .case .kp span{font-size:.78rem;padding:6px 11px}
#allcases .case,#homecases .case{--mx:50%!important;--my:-40%!important}
#allcases .cmeta,#homecases .cmeta{margin-top:auto;padding-top:18px;font-size:.75rem;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--o)}

/* rodapé: palavra ByourChange a toda a largura */
.ftr-word{width:100vw;margin-left:calc(50% - 50vw);margin-top:clamp(50px,7vw,90px);padding-inline:clamp(8px,1vw,18px);box-sizing:border-box}
.ftr-word img{display:block;width:100%;height:auto;opacity:.09;-webkit-mask:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 70%,transparent 100%);mask:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 70%,transparent 100%)}

/* ---------- página de caso (estrutura padrão) ---------- */
@font-face{font-family:"CG";src:url(/fonts/febf9c7b5.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url(/fonts/f65449f16.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Italiana";src:url(/fonts/fbfe7288a.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/f7cf8a1c1.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/fonts/f102eb61a.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
.cx{--cx-card:#0d0d0d;--cx-bd:rgba(255,255,255,.1);padding-bottom:clamp(60px,8vw,110px)}
.cx p{color:var(--body)}
.cx-top{padding-top:calc(140px + env(safe-area-inset-top,0))}
.cx-crumb{display:flex;gap:10px;flex-wrap:wrap;font-size:.9rem;color:var(--body);margin-bottom:22px}
.cx-crumb a{color:var(--body);text-decoration:none}.cx-crumb a:hover{color:#fff}
.cx-crumb span:last-child{color:#fff}
.cx-hero{margin:0;position:relative;width:100%;height:min(60vh,600px);min-height:360px;overflow:hidden;background:#0d0d0d}
.cx-hero img{width:100%;height:100%;object-fit:cover;display:block}
.cx-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:32%;background:linear-gradient(to bottom,transparent,#000);pointer-events:none}
.cx-hero:before{content:"";position:absolute;inset:0 0 auto 0;height:180px;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent);z-index:1;pointer-events:none}
.cx.has-hero .cx-top{padding-top:clamp(36px,4vw,56px)}
.cx-pills{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.cx-pills li{padding:10px 18px;border-radius:99px;background:#000;border:1px solid rgba(255,255,255,.85);color:#fff;font-size:.95rem;line-height:1.2;display:flex;align-items:center}
.cx-pills li>span{font-weight:700!important;-webkit-text-stroke:.6px currentColor;margin-right:.35em}
.cx-pills li.cx-go{padding:0;border:0;background:none}
.cx-go a{display:inline-flex;align-items:center;gap:10px;padding:5px 5px 5px 18px;border-radius:99px;background:var(--o);color:#fff;font-size:.95rem;line-height:1.2;text-decoration:none;font-weight:500;transition:transform .25s var(--ease)}
.cx-go a:hover{transform:translateY(-2px)}
.cx-go .ar{width:28px;height:28px;padding:6px;border-radius:50%;background:#fff;color:var(--o);box-sizing:border-box}
.cx-name{margin-top:clamp(36px,4vw,56px);max-width:none}
.cx-lead{display:grid;gap:18px;margin-top:22px;max-width:none}
.cx-lead p{margin:0;font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.6}
.cx-lead .cx-title{color:#fff;font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.2;letter-spacing:-.02em}
.cx-kpis{margin-top:clamp(40px,5vw,60px)}
.cx-sec{margin-top:clamp(80px,10vw,140px)}
.cx-k{color:var(--o)!important;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px}
.cx-intro{max-width:62ch;margin-bottom:clamp(30px,4vw,48px)}
.cx-intro .h-2,.cx-h{margin:0 0 20px}
.cx-tx .cx-h{font-size:clamp(1.7rem,2.8vw,2.6rem)}
.cx-intro p,.cx-tx p{font-size:clamp(1rem,1.15vw,1.1rem);line-height:1.65;margin:0 0 14px}
.cx-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.cx-split.flip .cx-tx{order:2}
.cx-split.solo{grid-template-columns:minmax(0,1fr)}.cx-split.solo .cx-tx{max-width:68ch}
.cx-media{display:grid;gap:14px}.cx-media.two{grid-template-columns:1fr 1fr}
.cx-fig{margin:0}
.cx-fig img{display:block;width:100%;height:auto;border-radius:var(--r);background:var(--cx-card)}
.cx-fig figcaption{margin-top:12px;color:var(--body);font-size:.92rem;line-height:1.45;text-align:center}
.cx-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.cx-list li{position:relative;padding-left:22px;color:var(--body);line-height:1.55}
.cx-list li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--o)}
.cx-quotes{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.cx-quotes li{padding:10px 16px;border-radius:14px;background:var(--cx-card);border:1px solid var(--cx-bd);color:#fff;font-size:.95rem;line-height:1.4}
.cx-zero{background:var(--cx-card);border:1px solid var(--cx-bd);border-radius:var(--r);padding:clamp(30px,4vw,56px);aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end}
.cx-zero b{color:var(--o);font-size:clamp(4rem,9vw,8rem);font-weight:400;line-height:.9;letter-spacing:-.04em}
.cx-zero span{margin-top:16px;color:var(--body);font-size:1.05rem;max-width:26ch}
.cx-tl-n{display:block;color:var(--o);font-size:.8rem;font-weight:600;letter-spacing:.08em;margin:0 6px 6px}
.cx-steps h3,.cx-parts h3,.cx-posts h3{font-size:1.1rem;line-height:1.25;margin:0 6px 8px;font-weight:500}
.cx-stats{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.cx-stats>div{background:var(--cx-card);border:1px solid var(--cx-bd);border-radius:18px;padding:16px 20px;min-width:120px}
.cx-stats b{display:block;color:var(--o);font-size:1.8rem;font-weight:500;line-height:1}
.cx-stats span{display:block;margin-top:6px;color:var(--body);font-size:.88rem}
.cx-bubbles{display:grid;gap:10px;margin-top:24px}
.cx-bubbles p{margin:0!important;padding:12px 16px;border-radius:18px 18px 18px 4px;background:#1a1a1a;color:#fff!important;font-size:.95rem!important;line-height:1.45;max-width:46ch}
.cx-bubbles.big{margin-top:0}.cx-bubbles.big p:nth-child(even){justify-self:end;border-radius:18px 18px 4px 18px}
.cx-note{font-size:.88rem!important;opacity:.85}
.cx-proof{margin-top:24px}
.cx-phone{width:min(100%,340px);margin-inline:auto;border-radius:44px;padding:10px;background:#1a1a1a;border:1px solid var(--cx-bd)}
.cx-phone img{display:block;width:100%;border-radius:36px}
.cx-phone.hook{aspect-ratio:9/16;display:flex;align-items:center;justify-content:center;background:var(--o)}
.cx-phone.hook p{color:#fff!important;font-size:1.4rem;line-height:1.25;padding:28px;margin:0;text-align:center}
.cx-gal{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:14px}
.cx-gal.n2{--cols:2}.cx-gal.n4{--cols:4}.cx-gal.n5{--cols:5}
.cx-gal figure{margin:0;background:var(--cx-card);border:1px solid var(--cx-bd);border-radius:22px;padding:10px 10px 18px}
.cx-gal img{display:block;width:100%;border-radius:14px}
.cx-gal figcaption{padding:14px 6px 0}
.cx-gal figcaption b{display:block;color:#fff;font-weight:500;font-size:1rem;line-height:1.3}
.cx-gal figcaption span{display:block;margin-top:6px;color:var(--body);font-size:.88rem;line-height:1.4}
.cx-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:clamp(30px,4vw,50px)}
.cx-strip img{width:100%;border-radius:18px;display:block}
.cx-big{text-align:center;padding:clamp(50px,7vw,100px) 24px!important;border-radius:var(--r)}
.sx .cx-big.sxc{min-height:0}
.cx-big b{display:block;font-size:clamp(4.5rem,12vw,10rem)!important;font-weight:300;line-height:.95;letter-spacing:-.05em;position:relative;z-index:1}
.cx-big h2,.cx-big p{position:relative;z-index:1}
.cx-big h2{margin:18px auto 0;max-width:24ch}
.cx-big p{margin:14px auto 0;max-width:52ch;line-height:1.6}
.cx-logo{background:var(--cx-card);border:1px solid var(--cx-bd);border-radius:var(--r);padding:clamp(30px,5vw,70px);display:flex;align-items:center;justify-content:center}
.cx-logo img{max-width:80%;height:auto}
.cx-ba{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(30px,4vw,50px)}
.cx-ba figcaption{color:#fff;font-weight:500}.cx-ba .after figcaption{color:var(--o)}
.cx-quote{margin:26px 0 0;padding:0 0 0 20px;border-left:3px solid var(--o);color:#fff;font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.3}
.cx-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cx-tags span{padding:8px 14px;border-radius:99px;border:1px solid var(--cx-bd);background:#000;color:#fff;font-size:.9rem}
.cx-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.cx-posts h3{margin:18px 0 0;font-size:1.25rem}
.cx-brandrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:14px}
.cx-panel{margin:0;border-radius:var(--r);display:flex;align-items:center;justify-content:center;min-height:clamp(260px,30vw,420px);padding:clamp(24px,4vw,60px);position:relative;overflow:hidden}
.cx-panel .cx-sym{width:min(88%,340px);height:auto}
.cx-panel .cx-word{width:100%;height:auto;max-height:200px}
.cx-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.cx-parts>div,.cx-steps>div{background:var(--cx-card);border:1px solid var(--cx-bd);border-radius:22px;padding:22px}
.cx-parts i{display:block;width:26px;height:26px;border-radius:50%;margin:0 6px 14px}
.cx-parts p,.cx-steps p{margin:0 6px!important;font-size:.95rem!important;line-height:1.55}
.cx-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.cx-flip{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cx-flip .cx-panel{flex-direction:column;gap:18px;min-height:260px}
.cx-flip svg{width:70%;height:auto}
.cx-flip figcaption{color:#fff;font-size:.95rem}
.cx-pal{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:clamp(12px,1.6vw,26px)}
.cx-pal.n5{--cols:5}.cx-pal.n3{--cols:3}
.cx-sw{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:auto;min-height:clamp(170px,15vw,260px);border-radius:22px;padding:clamp(20px,2.2vw,30px);color:#fff;box-sizing:border-box}
.cx-sw.sw-light{color:#141414}
.cx-sw p{margin:0!important;color:inherit!important;font-size:.9rem!important;line-height:1.45!important;max-width:30ch}
.cx-sw p b{font-weight:700;-webkit-text-stroke:.45px currentColor}
.cx-sw small{display:block;margin-top:8px;font-size:.72rem;opacity:.75}
.cx-spec{border-radius:var(--r);padding:clamp(28px,4vw,50px);min-height:clamp(300px,32vw,440px);display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.cx-spec-a{font-size:clamp(5rem,10vw,9rem);line-height:.9}
.cx-spec-s{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.15}
.cx-spec-abc{font-size:clamp(.85rem,1vw,1rem);line-height:1.6;opacity:.8;word-break:break-all}
.cx-spec h3{margin:0;font-size:1.3rem;font-weight:500;color:inherit}
.cx-spec p{margin:0;color:inherit!important;opacity:.85;font-size:.95rem;line-height:1.5}
.cx-spec .cx-k{opacity:1}
.cx-spec-svg{width:100%;height:auto;max-height:240px}
.cx-wght{display:flex;align-items:center;gap:12px;font-size:.85rem;font-weight:400!important}
.cx-wght input{flex:1;accent-color:var(--o)}
.cx-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cx-final{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:14px}
.cx-final.n2{--cols:2}
.cx-final .cx-panel{flex-direction:column;justify-content:space-between;aspect-ratio:1/1;min-height:0}
.cx-fv{flex:1;width:100%;display:flex;align-items:center;justify-content:center}
.cx-fv>svg{max-width:100%;max-height:220px;height:auto}
.cx-fv .cx-fsym{width:46%;height:auto}
.cx-lrow{display:flex;align-items:center;gap:6%;width:100%}.cx-lrow .cx-fsym{width:22%;flex:none}.cx-lrow .cx-fword{flex:1;height:auto}
.cx-lstack{display:flex;flex-direction:column;align-items:center;gap:8%;width:100%}.cx-lstack .cx-fsym{width:34%}.cx-lstack .cx-fword{width:88%;height:auto}
.cx-final figcaption{font-size:.9rem;margin-top:14px}
.cx-mock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cx-mock .cx-fig.full{grid-column:1/-1}
.cx-mock .cx-fig img{aspect-ratio:auto;object-fit:cover}
.cx-mock .cx-fig:not(.full) img{aspect-ratio:4/5}
.cx-mock .cx-fig.full img{aspect-ratio:16/9}
.cx-next{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px);margin-top:clamp(60px,8vw,100px)}
.cx-nb{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--r);background:#000;border:1px solid rgba(255,255,255,.12);padding:clamp(12px,1.4vw,18px);transition:border-color .4s}
.cx-nb:hover{border-color:rgba(255,90,6,.6)}
.cx-nb-im{aspect-ratio:16/9;overflow:hidden;background:#0d0d0d;border-radius:calc(var(--r) - 10px)}
.cx-nb-im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.cx-nb:hover .cx-nb-im img{transform:scale(1.04)}
.cx-nb-tx{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 8px 8px}
.cx-nb h3{margin:0;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:400;color:#fff;letter-spacing:-.02em}
.cx-nb p{margin:6px 0 0;font-size:.95rem}
.cx-nb .btn{flex:none}
.cx-nb.prev .cx-nb-tx{flex-direction:row-reverse;text-align:right}
.cx-nb.prev .btn{flex-direction:row-reverse;padding:6px 24px 6px 6px}
.cx-nb.prev .btn::after{transform:rotate(180deg)}
.cx-nb.prev .btn:hover::after{transform:rotate(225deg)}
.cx-all{display:flex;justify-content:center;margin-top:clamp(24px,3vw,36px)}
@media (max-width:700px){.cx-next{grid-template-columns:1fr}}@media (max-width:1100px){.cx-nb-tx{flex-direction:column;align-items:flex-start}.cx-nb.prev .cx-nb-tx{flex-direction:column;align-items:flex-end}}
@media (max-width:1100px){.cx-gal.n5,.cx-gal.n4{--cols:3}.cx-pal.n5{--cols:3}.cx-pal{--cols:2}.cx-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.cx-split,.cx-brandrow,.cx-types,.cx-posts{grid-template-columns:minmax(0,1fr)}.cx-split.flip .cx-tx{order:0}.cx-gal{--cols:2!important}.cx-parts,.cx-steps,.cx-final{grid-template-columns:minmax(0,1fr)}.cx-hero{height:46vh;min-height:300px}.cx-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cx-mock{grid-template-columns:minmax(0,1fr)}.cx-mock .cx-fig img{aspect-ratio:auto!important}.cx-pal{--cols:1!important}.cx-chip{aspect-ratio:5/2}.cx-ba{grid-template-columns:1fr}}

/* timeline: scroll horizontal */
.cx-hs{position:relative;margin-top:clamp(40px,5vw,70px)}
.cx-hs-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding-top:clamp(100px,14vh,140px);gap:clamp(28px,4vh,48px);background:#000}
.cx-hs-head{width:100%;text-align:center}
.cx-hs-head .h-2{margin:0 auto}
.cx-hs{--cw:min(1000px,74vw);--gap:56px}
.cx-hs-track{position:relative;display:flex;gap:var(--gap);width:max-content;padding-inline:calc(50vw - var(--cw)/2);will-change:transform}
.cx-hs-conn{display:none;position:absolute;top:50%;height:2px;left:calc(50vw - var(--cw)/2);right:calc(50vw - var(--cw)/2);background:repeating-linear-gradient(90deg,rgba(255,138,76,.4) 0 8px,transparent 8px 16px);pointer-events:none}
.cx-hs-conn:after{content:"";position:absolute;top:-3px;left:0;width:120px;height:8px;border-radius:8px;background:radial-gradient(closest-side,#ff8a4c,transparent);animation:cxpulse 4s linear infinite}
@keyframes cxpulse{from{left:0}to{left:calc(100% - 120px)}}
.cx-hs-card{position:relative;flex:0 0 var(--cw);display:grid;grid-template-columns:clamp(240px,36vh,380px) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:center;padding:20px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:#000;opacity:.3;transform:scale(.92);filter:blur(1.5px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),filter .6s ease,border-color .6s ease,box-shadow .6s ease}
.cx-hs-card.on{opacity:1;transform:none;filter:none;border-color:rgba(255,90,6,.45);box-shadow:0 30px 80px -24px rgba(255,90,6,.4)}
.cx-hs-media{aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#151515;border:1px solid rgba(255,255,255,.08)}
.cx-hs-media img{width:100%;height:100%;object-fit:cover;display:block}
.cx-hs-card.wide{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.cx-hs-card.wide .cx-hs-media{aspect-ratio:auto}
.cx-hs-card.wide .cx-hs-media img{height:auto}
@media (max-width:760px){.cx-hs-card.wide{grid-template-columns:1fr}}
.cx-hs-media.quote{display:flex;align-items:center;background:var(--o);border-color:transparent}
.cx-hs-media.quote p{margin:0;padding:24px;color:#fff!important;font-size:1.25rem;line-height:1.3;font-weight:500}
.cx-hs-step{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--o);font-weight:600}
.cx-hs-tx h3{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;letter-spacing:-.02em;margin:0 0 12px;color:#fff;line-height:1.15}
.cx-hs-tx p{margin:0;font-size:1rem;line-height:1.6}
.cx-hs-tl{position:relative;width:min(760px,calc(100% - 64px));height:44px;margin:0 auto}
.cx-hs-line,.cx-hs-fill{position:absolute;left:0;right:0;top:12px;height:2px;border-radius:2px}
.cx-hs-line{background:rgba(255,255,255,.1)}
.cx-hs-fill{background:linear-gradient(90deg,var(--o),#ff8a4c);transform-origin:left;transform:scaleX(0);box-shadow:0 0 12px rgba(255,90,6,.6)}
.cx-hs-node{all:unset;position:absolute;top:13px;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;background:#151515;border:2px solid #333;transition:background .3s,border-color .3s,box-shadow .3s}
.cx-hs-node.done{background:var(--o);border-color:#ff8a4c}
.cx-hs-node.on{box-shadow:0 0 0 6px rgba(255,90,6,.2),0 0 18px var(--o)}
.cx-hs-node:focus-visible{outline:2px solid #ff8a4c;outline-offset:4px}
.cx-hs-node span{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-size:.78rem;color:var(--body);white-space:nowrap;pointer-events:none;transition:color .3s}
.cx-hs-node.on span{color:#fff}
@media (max-width:760px){.cx-hs{--cw:84vw;--gap:20px}.cx-hs-card{grid-template-columns:1fr;gap:16px;padding:14px}.cx-hs-media{aspect-ratio:16/10}.cx-hs-node span{display:none}.cx-hs-sticky{gap:24px}}
.cx-hs.static{height:auto!important}
.cx-hs.static .cx-hs-sticky{position:relative;height:auto;padding:40px 0;overflow-x:auto;scroll-snap-type:x mandatory}
.cx-hs.static .cx-hs-card{opacity:1;transform:none;filter:none;scroll-snap-align:center}
.cx-hs.static .cx-hs-conn:after{animation:none}
.cx-hs.static .cx-hs-tl{display:none}

/* números a flutuar sobre a capa do reel */
.cx-phwrap{position:relative;width:min(100%,340px);margin-inline:auto}
.cx-phwrap .cx-phone{width:100%}
.cx-float{position:absolute;z-index:2;min-width:130px;padding:16px 20px;border-radius:18px;background:rgba(0,0,0,.78);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 50px -20px rgba(0,0,0,.9);animation:cxUp 7s ease-in-out infinite alternate}
.cx-float b{display:block;color:var(--o);font-size:1.9rem;font-weight:500;line-height:1}
.cx-float span{display:block;margin-top:6px;color:#fff;font-size:.88rem}
.cx-float.f0{top:14%;left:-22%}
.cx-float.f1{bottom:16%;right:-22%;animation-name:cxDown}
.cx-float.f2{top:50%;left:-26%;animation-duration:8s}
@keyframes cxUp{from{transform:translate(0,10px)}to{transform:translate(8px,-14px)}}
@keyframes cxDown{from{transform:translate(0,-10px)}to{transform:translate(-8px,14px)}}
@media (max-width:860px){.cx-float.f0{left:-6%}.cx-float.f1{right:-6%}.cx-float.f2{left:-8%}}
@media (prefers-reduced-motion:reduce){.cx-float{animation:none}}

/* grelha de posts do Instagram (reutilizável por cliente) */
.cx-ig{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1vw,14px)}
.cx-ig-it{position:relative;display:block;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#0d0d0d}
.cx-ig-it img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.cx-ig-it:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);opacity:0;transition:opacity .4s}
.cx-ig-ic{position:absolute;right:14px;top:14px;z-index:1;width:36px;height:36px;padding:8px;border-radius:50%;background:#000;color:#fff;opacity:0;transform:translateY(-4px);transition:opacity .4s,transform .4s;box-sizing:border-box}
.cx-ig-ic svg{display:block;width:100%;height:100%}
.cx-ig-it:hover img{transform:scale(1.05)}
.cx-ig-it:hover:after,.cx-ig-it:hover .cx-ig-ic{opacity:1;transform:none}
.cx-ig-cta{display:flex;justify-content:center;margin-top:clamp(24px,3vw,40px)}
@media (max-width:1000px){.cx-ig{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.cx-ig{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* fecho "O que fica": maior, entra ao chegar ao ecrã */
.cx-ins{position:relative;margin-top:clamp(90px,12vw,170px);padding-block:clamp(40px,6vw,90px)}
.cx-ins-in{text-align:center}
.cx-ins-h{margin:0 auto;max-width:18ch;font-size:clamp(2.6rem,6vw,5.6rem);line-height:1.02;opacity:0;transform:translateY(40px);filter:blur(10px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.cx-ins-p{margin:clamp(30px,4vw,56px) auto 0;max-width:52ch;font-size:clamp(1.25rem,2.1vw,2rem);line-height:1.3;letter-spacing:-.02em;font-weight:300}
.cx-ins-p .w{display:inline-block;color:var(--body);opacity:0;transform:translateY(.45em);filter:blur(8px);transition:opacity .6s var(--ease),transform .6s var(--ease),filter .6s var(--ease)}
.cx-ins.in .cx-ins-h,.cx-ins.in .cx-ins-p .w{opacity:1;transform:none;filter:none}
@media (max-width:700px){.cx-ins-p{max-width:none}}

.cx-hs-media.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;aspect-ratio:auto;background:none;border:0;border-radius:16px}
.cx-hs-media.grid img{aspect-ratio:4/5;border-radius:8px}
.cx-hs-card.wide{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}

.cx-pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.cx-pgrid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px}

/* abrir imagens em ecrã inteiro */
.cx-zoom{cursor:zoom-in}
.cx-lb{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.92);opacity:0;pointer-events:none;transition:opacity .3s}
.cx-lb.on{opacity:1;pointer-events:auto}
.cx-lb img{max-width:min(92vw,1400px);max-height:88vh;object-fit:contain;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.cx-lb button{all:unset;position:absolute;cursor:pointer;color:#fff;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#000;display:grid;place-items:center;font-size:1.8rem;line-height:1}
.cx-lb button:hover{border-color:var(--o);color:var(--o)}
.cx-lb .cx-lb-x{top:24px;right:24px}
.cx-lb .cx-lb-p{left:24px;top:50%;translate:0 -50%}
.cx-lb .cx-lb-n{right:24px;top:50%;translate:0 -50%}
.cx-lb.one .cx-lb-p,.cx-lb.one .cx-lb-n{display:none}

.cx-mock.natural .cx-fig img{aspect-ratio:auto!important;height:auto}
.cx-sw.sw-dark{border:1px solid rgba(255,255,255,.28)}

.cx-capwrap{position:relative}
.cx-capwrap .cx-float.f1{bottom:12%;right:-10%}
@media (max-width:860px){.cx-capwrap .cx-float.f1{right:-4%}}
.cx-hs-media img[data-img="mv_zero"]{object-position:50% 22%}
.cx-capwrap.zero img{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;object-position:50% 22%}
.cx-capwrap.zero .cx-float b{font-size:2.6rem}
.cx-capwrap.zero .cx-float span{max-width:18ch}

/* construção do símbolo nas páginas de branding: o logótipo monta-se com o scroll (vinda do site antigo) */
.cx-build{position:relative;margin-top:clamp(80px,10vw,140px)}
.cb-stick{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.cb-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,80px);align-items:center;width:100%}
.cb-grid>*{min-width:0}
.cb-list{list-style:none;margin:clamp(24px,4vh,40px) 0 0;padding:0;display:grid}
.cb-step{display:block;padding:12px 0 12px 20px;border-left:1px solid rgba(255,255,255,.14);transition:border-color .5s}
.cb-step.on,.cb-step.done{border-left-color:var(--o)}
.cb-step b{display:block;font-weight:300;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.35;letter-spacing:-.01em;color:var(--dim);transition:color .4s,font-size .5s var(--ease)}
.cb-step.done b{color:var(--body)}
.cb-step.on b{color:#fff;font-size:clamp(1.3rem,1.9vw,1.75rem)}
.cb-d{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--ease),opacity .4s}
.cb-d>p{overflow:hidden;min-height:0;margin:0;max-width:42ch;font-size:1rem;line-height:1.6;color:var(--body)}
.cb-step.on .cb-d{grid-template-rows:1fr;opacity:1}
.cb-step.on .cb-d>p{padding-top:8px}
.cb-stage{position:relative;aspect-ratio:1/1;max-height:78vh;border-radius:var(--r);background:var(--bbg);display:grid;place-items:center;overflow:hidden;padding:8%}
.cb-sym{width:100%;height:auto;overflow:visible;transition:transform 1s var(--ease)}
.cb-sym .pt{transform:translate(var(--dx),var(--dy));transition:transform 1.1s var(--ease),opacity .6s;opacity:1}
.cb-sym .pt.placed{transform:none}
.cb-sym .pt.dim{opacity:.18}
.cb-sym .pt.hl{filter:drop-shadow(0 0 30px var(--glow))}
.cb-stage.whole .cb-sym .pt.ghost{opacity:0}
.cb-word{position:absolute;left:14%;right:14%;bottom:12%;width:72%;height:auto;opacity:0;transform:translateY(40px);transition:opacity .8s,transform 1s var(--ease)}
.cb-stage.withword .cb-sym{transform:translateY(-16%) scale(.72)}
.cb-stage.withword .cb-word{opacity:1;transform:none}
.cb-stage.fit.withword .cb-sym{transform:translateY(-13%) scale(.72)}
.cb-stage.fit .cb-word{left:22%;right:22%;width:56%;bottom:10%}
.cx-build.static{height:auto!important}
.cx-build.static .cb-stick{position:relative;height:auto;padding-block:20px}
@media (max-width:860px){
  .cb-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .cb-stick{align-items:flex-start;padding-top:84px}
  .cb-stage{max-height:46vh;width:min(100%,46vh);margin:0 auto;order:-1}
  .cb-txt .h-2{font-size:1.5rem}
  .cb-list{margin-top:12px}
  .cb-step:not(.on){display:none}
  .cb-step{padding-block:4px}
  .cb-step.on b{font-size:1.3rem}
  .cb-d>p{font-size:.98rem}
}

/* ---------- projetos: hero com esfera WebGL (three.js) com as capas dos casos ---------- */
.ptun{min-height:100svh;display:grid;place-items:center;isolation:isolate}
.ptun>.wrap{position:relative;z-index:5;pointer-events:none}
.ptun .h-1,.ptun .lead{text-shadow:0 8px 50px rgba(0,0,0,.9)}
.pt-gl{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity .8s ease}
.pt-gl.on{opacity:1}
.pt-gl{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 62%,transparent 100%)}
.pt-gl.drag{cursor:grabbing}.pt-gl.hover{cursor:pointer}
.pt-vig{position:absolute;inset:0;pointer-events:none;z-index:4;background:radial-gradient(ellipse 38% 34% at 50% 50%,rgba(0,0,0,.94),rgba(0,0,0,.7) 50%,transparent 100%),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.65) 100%)}
.pt-tip{position:fixed;left:0;top:0;z-index:20;pointer-events:none;opacity:0;transition:opacity .2s;padding:10px 14px;border-radius:12px;background:rgba(0,0,0,.6);border:1px solid var(--g-bd);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.pt-tip b{display:block;font-weight:400;font-size:15px;color:#fff}
.pt-tip span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--o)}
@media (max-width:640px){.pt-vig{background:radial-gradient(ellipse 70% 30% at 50% 50%,rgba(0,0,0,.94) 30%,rgba(0,0,0,.6) 60%,transparent 100%),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.65) 100%)}}

/* artigo individual (artigos/<slug>/, gerado por ferramentas/refazer-artigos.py) */
.post-col{max-width:740px;margin:0 auto;text-align:left}
.post .post-hero{padding-bottom:0}
.post .post-hero .h-1{font-size:clamp(2.2rem,4.6vw,4.2rem)!important;max-width:none;margin:0}
.post .post-hero .h-1 .g{-webkit-box-decoration-break:slice;box-decoration-break:slice}
.post .post-hero .lead{max-width:none;margin:24px 0 0}
.post-author{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:clamp(28px,3.5vw,40px)}
.pa-who{display:flex;align-items:center;gap:14px}
.pa-who img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--g-bd)}
.pa-who span{display:flex;flex-direction:column;line-height:1.35}
.pa-who b{color:#fff;font-weight:400;font-size:1.02rem}
.pa-who small{color:var(--body);font-size:.88rem}
.pa-when{margin:0;color:var(--body);font-size:.9rem}
.prose{max-width:740px;margin:0 auto;border-top:1px solid var(--line);margin-top:clamp(24px,3vw,32px);padding-top:clamp(32px,4vw,52px);text-align:left}
.prose>p,.prose li{font-size:var(--t-body);line-height:1.65;color:var(--body)}
.prose>p{margin:0 0 1.1em}
.prose h2{color:#fff;font-weight:300;font-size:clamp(1.55rem,2.5vw,2.2rem);line-height:1.15;letter-spacing:-.025em;margin:2.1em 0 .7em}
.prose b,.prose strong{color:#fff;font-weight:400}
.prose a{color:#fff;text-decoration:underline;text-decoration-color:var(--o);text-decoration-thickness:1px;text-underline-offset:5px;transition:color .25s}
.prose a:hover{color:var(--o)}
.prose ul,.prose ol{margin:0 0 1.3em;padding-left:1.2em}
.prose li{margin:0 0 .5em;padding-left:.3em}
.prose li::marker{color:var(--o)}
.prose section{margin-top:2.4em}
.prose .faq summary{font-size:var(--t-body)}
.prose details p{color:var(--body)}
.post-back{margin:clamp(40px,5vw,64px) 0 0;padding-top:28px;border-top:1px solid var(--line)}
.post-back a{text-decoration:none;color:#fff}
.post-back a::before{content:"←";color:var(--o);margin-right:10px}
.post-cta{padding-top:clamp(40px,6vw,80px)}
@media (max-width:640px){.post .post-hero{padding-top:calc(110px + env(safe-area-inset-top,0))}.pa-when{width:100%}}
.page[data-page="talks"] .talks .wrap{text-align:left}
.page[data-page="talks"] .talks .lead{margin-inline:0;max-width:52ch}
.page[data-page="talks"] .glass{background:radial-gradient(520px circle at var(--mx,50%) var(--my,-40%),rgba(255,90,6,.05),transparent 55%),var(--g-bg)}
.page[data-page="talks"] .glow-t::before,.page[data-page="talks"] .glow-t::after{opacity:.4}
.tcards{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
@media (max-width:860px){.tcards{grid-template-columns:1fr}}
/* menções a projetos nos artigos e notícias */
.prose a.proj,a.proj{color:var(--o);text-decoration:underline;text-decoration-color:rgba(255,90,6,.35);text-decoration-thickness:1px;text-underline-offset:5px;transition:text-decoration-color .25s}
.prose a.proj:hover,a.proj:hover{color:var(--o);text-decoration-color:var(--o)}
.post-npn{padding-top:clamp(40px,6vw,80px)}
/* serviços: leque de cards por baixo do título (ByourCore, ByourFlow, ByourLanding) */
.svfan{--spring:cubic-bezier(.34,1.56,.64,1);display:flex;justify-content:center;align-items:center;margin:clamp(56px,7vw,96px) auto 0;padding-bottom:20px;text-align:left}
.svfan.rv{opacity:1;transform:none}
/* posição de cada card calculada no app.js (svFan) a partir do scroll */
.sf-slot{flex:0 0 auto;position:relative;opacity:0;translate:0 80px;will-change:transform;transform:translate3d(var(--x,0px),var(--y,0px),0) rotate(var(--r,0deg));transition:opacity .6s,translate .9s var(--spring)}
.sf-slot:nth-child(2){z-index:2}
.svfan.in .sf-slot{opacity:1;translate:0 0}
.svfan.in .sf-slot:nth-child(2){transition-delay:.08s}
.svfan.in .sf-slot:nth-child(3){transition-delay:.16s}
.sf-card{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;flex-direction:column;justify-content:flex-start;line-height:1.2;text-align:left;width:340px;height:350px;border-radius:var(--rs);background:#0c0c0c;border:1px solid rgba(255,255,255,.12);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .5s var(--spring),border-color .4s}
.sf-card:focus-visible{outline:2px solid var(--o);outline-offset:4px}
.sf-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:20px 22px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border-bottom:1px solid rgba(255,255,255,.08)}
.sf-head>span{color:var(--title);font-size:20px;font-weight:400;letter-spacing:-.02em}
.sf-head em{font-style:normal;font-size:13px;color:var(--body);letter-spacing:.02em}
.sf-stage{position:absolute;inset:66px 0 0}
.sf-i{position:absolute;display:block;transition:transform .7s var(--spring),opacity .4s}
/* ByourCore */
.sf-pill{padding:12px 26px;border-radius:999px;font-size:30px;font-weight:500;letter-spacing:-.035em;white-space:nowrap;box-shadow:inset 0 -5px 0 rgba(0,0,0,.18),inset 0 3px 6px rgba(255,255,255,.35),0 12px 24px rgba(0,0,0,.5)}
.sf-pill.p1{background:linear-gradient(160deg,#ff8a3d,#ff5a06);color:#fff;left:56px;top:34px;transform:rotate(-14deg)}
.sf-pill.p2{background:#fff;color:#0c0c0c;left:30px;top:106px;transform:rotate(-2deg)}
.sf-pill.p3{background:#1a1a1a;color:var(--o);border:1px solid rgba(255,90,6,.45);left:70px;top:176px;transform:rotate(-9deg);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 24px rgba(0,0,0,.5)}
.sf-sw{right:20px;bottom:18px;display:flex;align-items:center;gap:6px}
.sf-sw i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.2);transition:transform .6s var(--spring)}
.sf-sw i:nth-child(1){background:var(--o)}.sf-sw i:nth-child(2){background:#fff}.sf-sw i:nth-child(3){background:#000}
.sf-sw b{margin-left:6px;color:var(--title);font-weight:300;font-size:22px;letter-spacing:-.04em}
/* ByourFlow */
.sf-path{position:absolute;inset:0;width:100%;height:100%}
.sf-path path{fill:none;stroke:rgba(255,90,6,.35);stroke-width:1.5;stroke-dasharray:4 7;stroke-dashoffset:0;transition:stroke-dashoffset 1.4s ease}
.sf-post{background:#fff;padding:6px;border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.55)}
.sp-in{position:relative;display:flex;flex-direction:column;width:100%;height:100%;border-radius:7px;overflow:hidden;box-sizing:border-box}
.sf-post b,.sf-post i{display:block}
.sf-post.a .sp-in{background:radial-gradient(90% 70% at 30% 20%,#ffb07a,transparent 60%),linear-gradient(160deg,#ff7a2e,#ff5a06 55%,#c23f00);justify-content:flex-end;gap:6px;padding:12px}
.sp-play{position:absolute;left:50%;top:40%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:rgba(255,255,255,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sp-play::after{content:"";position:absolute;left:13px;top:10px;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}
.sf-post.a b{height:7px;border-radius:4px;background:#fff}
.sf-post.a b+b{width:60%;opacity:.7}
.sf-post.b .sp-in{background:#f4f1ee;padding:10px;gap:10px}
.sp-top{display:flex;align-items:center;gap:6px}
.sp-top i{width:16px;height:16px;border-radius:50%;background:var(--o)}
.sp-top b{width:46px;height:5px;border-radius:3px;background:#cfc9c4}
.sp-h{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:center}
.sp-h b{height:11px;border-radius:5px;background:#111}
.sp-h b:nth-child(2){width:80%}
.sp-h b:nth-child(3){width:55%;background:var(--o)}
.sp-ft{display:flex;gap:6px}
.sp-ft i{width:12px;height:12px;border-radius:50%;border:2px solid #111;box-sizing:border-box}
.sp-ft i:first-child{border-color:var(--o);background:var(--o)}
.sf-post.a{width:118px;height:148px;left:34px;top:96px;transform:rotate(-12deg)}
.sf-post.b{width:134px;height:168px;left:170px;top:26px;transform:rotate(-3deg)}
.sf-gr{left:176px;top:192px;display:flex;align-items:flex-end;gap:6px;width:92px;height:64px;padding:12px 14px;border-radius:14px;box-sizing:border-box;background:rgba(20,20,20,.9);border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 24px rgba(0,0,0,.5);transform:rotate(5deg)}
.sf-gr i{flex:1;border-radius:3px;background:rgba(255,255,255,.25);height:calc(var(--h)*1%);transform-origin:bottom;transition:transform .7s var(--spring)}
.sf-gr i:nth-child(1){--h:30}.sf-gr i:nth-child(2){--h:48}.sf-gr i:nth-child(3){--h:66}.sf-gr i:nth-child(4){--h:100;background:var(--o)}
/* ByourLanding */
.sf-win{left:26px;top:30px;width:250px;border-radius:10px;overflow:hidden;background:#0d0d0d;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 36px rgba(0,0,0,.6);transform:rotate(-4deg)}
.sf-bar{display:flex;align-items:center;gap:4px;height:20px;padding:0 8px;background:#1f1f1f}
.sf-bar i{width:6px;height:6px;border-radius:50%;background:#555}
.sf-bar i:first-child{background:var(--o)}
.sf-bar b{flex:1;height:8px;margin-left:10px;border-radius:4px;background:#333}
.sw-pg{display:flex;flex-direction:column;gap:10px;padding:10px 12px 14px;background:#0d0d0d;aspect-ratio:16/10;box-sizing:border-box}
.sw-pg b,.sw-pg i,.sw-pg u{display:block;text-decoration:none}
.sw-nav{display:flex;align-items:center;gap:7px}
.sw-nav i{width:12px;height:12px;border-radius:50%;background:var(--o);margin-right:auto}
.sw-nav b{width:20px;height:4px;border-radius:2px;background:rgba(255,255,255,.35)}
.sw-nav u{width:34px;height:12px;border-radius:999px;background:var(--o);margin-left:4px}
.sw-hero{flex:1;display:flex;gap:10px}
.sw-tx{flex:1.1;display:flex;flex-direction:column;justify-content:center;gap:6px}
.sw-tx b{height:9px;border-radius:5px;background:#fff}
.sw-tx b:nth-child(2){width:85%;background:linear-gradient(90deg,#fff,#ff5a06)}
.sw-tx b:nth-child(3){width:60%;height:5px;background:rgba(255,255,255,.3);margin-top:4px}
.sw-tx u{width:56px;height:16px;border-radius:999px;background:var(--o);margin-top:6px}
.sw-ph{flex:1;border-radius:8px;background:radial-gradient(40% 32% at 50% 38%,#ffd2b8,#ff8a3d 70%,transparent 72%),radial-gradient(80% 55% at 50% 105%,#ff5a06,transparent 70%),linear-gradient(160deg,#2a2a2a,#151515)}
.sf-ph{left:222px;top:58px;width:84px;height:168px;padding:5px;border-radius:18px;box-sizing:border-box;background:#1c1c1c;border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 36px rgba(0,0,0,.65);transform:rotate(8deg)}
.sph-in{display:flex;flex-direction:column;gap:6px;width:100%;height:100%;padding:12px 8px 8px;border-radius:13px;box-sizing:border-box;background:#0d0d0d}
.sph-in i,.sph-in b,.sph-in u{display:block;text-decoration:none}
.sph-in i{width:10px;height:10px;border-radius:50%;background:var(--o);margin-bottom:4px}
.sph-in b{height:6px;border-radius:3px;background:#fff}
.sph-in b:nth-child(3){width:80%;background:linear-gradient(90deg,#fff,#ff5a06)}
.sph-in b:nth-child(4){width:60%;height:4px;background:rgba(255,255,255,.3)}
.sph-im{flex:1;border-radius:7px;background:radial-gradient(45% 30% at 50% 45%,#ff8a3d,transparent 72%),linear-gradient(160deg,#2a2a2a,#151515)}
.sph-in u{height:14px;border-radius:999px;background:var(--o)}
@media (hover:hover){
  .sf-slot:hover{z-index:3}
  .sf-card:hover{transform:translateY(-12px);border-color:rgba(255,90,6,.45)}
  .sf-card:hover .p1{transform:rotate(-22deg) translate(-8px,-24px)}
  .sf-card:hover .p2{transform:rotate(4deg) translate(-14px,-2px)}
  .sf-card:hover .p3{transform:rotate(-3deg) translate(12px,18px)}
  .sf-card:hover .sf-sw i:nth-child(1){transform:translateX(-10px)}
  .sf-card:hover .sf-sw i:nth-child(3){transform:translateX(10px)}
  .sf-card:hover .sf-post.a{transform:rotate(-20deg) translate(-8px,-20px) scale(1.05)}
  .sf-card:hover .sf-post.b{transform:rotate(5deg) translate(8px,-12px) scale(1.06)}
  .sf-card:hover .sf-gr{transform:rotate(-4deg) translate(-22px,-12px) scale(1.06)}
  .sf-card:hover .sf-gr i{transform:scaleY(1.15)}
  .sf-card:hover .sf-gr i:nth-child(1){transform:scaleY(.8)}
  .sf-card:hover .sf-path path{stroke-dashoffset:-160}
  .sf-card:hover .sf-win{transform:rotate(-12deg) translate(-6px,-30px)}
  .sf-card:hover .sf-ph{transform:rotate(-2deg) translate(-16px,-26px)}
}
@media (max-width:1100px){.sf-card{width:300px}.sf-pill{font-size:26px}}
@media (max-width:900px){
  .svfan{flex-direction:column;margin-bottom:-60px}
  .sf-slot:nth-child(3){z-index:3}
  .sf-card{width:min(340px,calc(100vw - 48px))}
}
@media (prefers-reduced-motion:reduce){.sf-slot,.sf-card,.sf-i,.sf-path path{transition:none!important}.sf-slot{opacity:1;translate:none}}
/* talks: cartões da lista de espera (preto com borda branca fina) e do patrocínio (laranja) */
.tcards .tc-dark,.tcards .tc-or{position:relative;border-radius:var(--r)}
.tcards .tc-dark{background:#000;border:1px solid rgba(255,255,255,.3)}
.tcards .tc-or{background:var(--o);border:1px solid var(--o)}
.tcards .tc-or p{color:rgba(255,255,255,.88)}
.tcards .tc-or .btn{background:#000;box-shadow:none}
.tcards .tc-or .btn:hover{box-shadow:0 16px 36px -14px rgba(0,0,0,.6)}
.tcards .tc-or .btn.ghost{background:transparent;border-color:rgba(255,255,255,.7)}
.tcards .tc-or .btn.ghost:hover{border-color:#fff}
/* mobile: margens laterais maiores, botões da hero sem largura total, carrossel da hero mais baixo e com espaço entre cartões */
@media (max-width:560px){
  :root{--pad:26px}
  .hdr{padding-top:18px;padding-bottom:18px}
  .h-ctas{flex-direction:column;align-items:center;width:auto}
  .h-ctas .btn{width:auto;min-width:220px}
}
@media (max-width:700px){
  .arc-hero{--card-w:132px;--card-h:166px}
  .arc-hero{height:78vh;height:78svh;min-height:560px}
  .arc-ring{top:24%}
  .arc-person{height:60vh}
  .arc-img,.arc-ref{border-radius:10px}
  .arc-ref{top:calc(100% + 6px)}
}
/* responsivo geral: nada passa da largura do ecrã */
html{overflow-x:clip}
.ct-wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
.nl .inp{min-width:0}
@media (max-width:860px){
  .top5,.dx-wrap,.ct-wrap,.two,.svc-detail,.cards2,.tabs3,.tcards{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .nl{flex-wrap:wrap}
  .nl .inp{flex:1 1 100%}
  .nl .btn{margin-inline:auto}
}
/* tablet: grelhas de projetos e notícias em duas colunas; só uma no telemóvel */
@media (min-width:561px) and (max-width:1100px){
  #allcases,#homecases,.news[data-news="all"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news[data-news=""]{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:560px){#allcases,#homecases,.news[data-news]{grid-template-columns:minmax(0,1fr)}}
/* fotos dos serviços: enquadrar pelo topo para não cortar caras */
.svc-detail .ph img{object-position:50% 18%}
/* separadores dos serviços no telemóvel: cabem os três sem cortar texto */
@media (max-width:420px){.stab-btns button{font-size:.8rem;padding:.6em .35em}}
/* talks: o conteúdo não fica por baixo do menu quando é mais alto que o ecrã */
.page[data-page="talks"]>.talks{padding-top:calc(120px + env(safe-area-inset-top,0px))}
/* leque dos serviços no tablet: fica em linha, reduzido */
@media (min-width:701px) and (max-width:900px){
  .svfan{flex-direction:row;margin-bottom:0;zoom:.7}
  .sf-card{width:340px}
  .sf-slot:nth-child(3){z-index:auto}
}
@media (max-width:700px){
  .svfan{flex-direction:column;margin-bottom:-60px}
  .sf-card{width:min(340px,calc(100vw - 48px))}
}
@media (max-width:700px){.news[data-news=""]{grid-template-columns:minmax(0,1fr)}}
/* mobile: a luz laranja da hero fica atrás da equipa, como no desktop */
@media (max-width:700px){.arc-hero::before{bottom:auto;top:10%;width:150vmin;height:120vmin}}
/* mobile: botões da hero lado a lado e números em duas colunas */
@media (max-width:560px){
  .h-ctas{flex-direction:row;flex-wrap:nowrap;justify-content:center;gap:8px;width:100%}
  .h-ctas .btn{min-width:0;flex:0 1 auto;min-height:46px;gap:10px;padding:4px 4px 4px 16px;font-size:.9rem}
  .h-ctas .btn::after{width:36px;height:36px;background-size:15px}
  .h-ctas .btn.no-ar{padding:4px 18px}
  .stats.sx{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sx .sxc{min-height:170px}
  .stats.sx .sx-t{padding:16px 10px 22px}
  .stats.sx .sx-t>span{font-size:.84rem;max-width:none}
}
@media (max-width:360px){.h-ctas .btn{font-size:.82rem;padding-left:13px}.h-ctas .btn.no-ar{padding:4px 13px}}
/* mobile: projetos em duas colunas, cartões compactos */
@media (max-width:560px){
  #allcases,#homecases{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #allcases .case,#homecases .case{padding:6px;border-radius:18px}
  #allcases .case .vis,#homecases .case .vis{aspect-ratio:1/1;border-radius:13px}
  #allcases .case .tx,#homecases .case .tx{padding:12px 8px 8px}
  #allcases .case h3,#homecases .case h3{font-size:1rem!important;margin-bottom:4px}
  #allcases .case p,#homecases .case p{font-size:.8rem!important;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  #allcases .cmeta,#homecases .cmeta{padding-top:10px;font-size:.62rem;letter-spacing:.06em}
  /* "Quem nos procura": texto centrado */
  .pbx-l{text-align:center}
  .pbx-l .h-2,.pbx-l .lead,.pbx-l p{margin-inline:auto}
  .pbx-l .btn{margin-inline:auto}
}
/* mobile: "Entre as 5% melhores" centrado, botões lado a lado */
@media (max-width:560px){
  .top5>.rv{text-align:center}
  .top5>.rv .lead{margin-inline:auto}
  .top5>.rv>div{justify-content:center;flex-wrap:nowrap!important;gap:8px!important}
  .top5>.rv .btn{min-width:0;min-height:46px;gap:10px;padding:4px 4px 4px 16px;font-size:.86rem;white-space:normal;text-align:left;line-height:1.2}
  .top5>.rv .btn::after{width:36px;height:36px;background-size:15px}
  .top5>.rv .btn.no-ar{padding:4px 16px}
  /* notícias em duas colunas; a última, se for ímpar, ocupa a linha toda */
  .news[data-news]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .news[data-news]>.ncard:last-child:nth-child(odd){grid-column:1/-1}
  .news .ncard .im{margin:6px 6px 0;border-radius:13px;aspect-ratio:1/1}
  .news .ncard:last-child:nth-child(odd) .im{aspect-ratio:16/10}
  .news .ncard .tx{gap:12px;padding:12px 10px 14px}
  .news .ncard h3{font-size:.84rem!important;line-height:1.35}
  .news .ncard .more{font-size:.8rem}
}
/* mobile: painéis dos serviços na home em quadrado e todos fechados de início */
@media (max-width:760px){
  .xp-p{height:calc(100vw - 2*var(--pad))}
}
/* mobile: números do Talks em duas colunas (o terceiro ocupa a linha toda) e bloco final centrado */
@media (max-width:560px){
  .tstats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .tstats>div:last-child:nth-child(odd){grid-column:1/-1}
  .tstats>div{padding:18px 12px}
  .tstats span{font-size:.84rem}
  .cta2 .tx{text-align:center}
  .cta2 .tx .lead{margin-inline:auto}
  .cta2 .tx .btn{margin-inline:auto}
}
/* mobile: rodapé com o mesmo espaço em cima, em baixo e dos lados */
@media (max-width:560px){.ftr{padding:var(--pad) 0}.ftr-word{padding-inline:var(--pad);margin-top:40px}}
/* mobile: o título sobe para cima da parte de baixo da foto, como no desktop */
@media (max-width:700px){.arc-hero{height:calc(78svh - 60px)}.arc-person{bottom:calc(14vh - 60px)}.arc-ring{top:26%}.arc-copy{bottom:clamp(28px,4vh,40px)}}
/* mobile: cartão Top 5% numa linha, com o selo ao lado */
@media (max-width:560px){.sx-row{font-size:calc(var(--t-num)*.74);gap:.22em;flex-wrap:nowrap}.sx-row b{white-space:nowrap;font-size:1em!important}.sx-seal{width:.95em;height:.95em}}
/* selo Top 5% com anel de texto: cabe no ecrã em telemóveis estreitos */
@media (max-width:560px){.pillar{--sw:min(200px,calc((100vw - 2*var(--pad))/1.7))}}
/* menu do telemóvel: botão laranja, sem números, página atual a laranja, itens mais pequenos e mais espaçados */
.burger{background:var(--o);border-color:var(--o);box-shadow:0 10px 30px -12px rgba(255,90,6,.8)}
.mmenu nav{gap:clamp(10px,2.4vh,18px)}
.mmenu nav a{font-size:clamp(1.7rem,7vw,2.6rem);line-height:1.1}
.mmenu nav a span{display:none}
.mmenu nav a.on{color:var(--o)}
/* mobile: luz da hero mais suave */
@media (max-width:700px){.arc-hero::before{opacity:.55}}
/* leque dos serviços: no mobile fica em linha como no desktop, reduzido para caber */
@media (max-width:700px){.svfan{flex-direction:row;margin-bottom:0;zoom:.5}.sf-card{width:340px}.sf-slot:nth-child(3){z-index:auto}}
@media (max-width:480px){.svfan{zoom:.37}}
@media (max-width:370px){.svfan{zoom:.33}}
/* páginas legais: privacidade e cookies */
.ldate{margin:22px 0 0;font-size:.95rem;color:var(--dim)}
.legal{max-width:900px}
.legal>h2:first-child{margin-top:0}
.legal code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:.1em .45em;border-radius:6px}
.ltab{margin:6px 0 1.6em;border:1px solid rgba(255,255,255,.14);border-radius:var(--rs);overflow:hidden}
.ltab table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.5}
.ltab thead th{text-align:left;font-weight:400;color:#fff;background:rgba(255,255,255,.05);padding:14px 16px;font-size:.85rem;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.14)}
.ltab tbody th,.ltab td{text-align:left;vertical-align:top;padding:14px 16px;color:var(--body);font-weight:300;border-top:1px solid rgba(255,255,255,.07)}
.ltab tbody tr:first-child th,.ltab tbody tr:first-child td{border-top:0}
.ltab tbody th{color:#fff;font-weight:400}
.lnext{margin-top:2.4em!important;padding-top:1.4em;border-top:1px solid var(--line)}
@media (max-width:760px){
  .ltab{border:0;border-radius:0;overflow:visible}
  .ltab thead{display:none}
  .ltab table,.ltab tbody,.ltab tr,.ltab tbody th,.ltab td{display:block;width:auto}
  .ltab tr{border:1px solid rgba(255,255,255,.14);border-radius:var(--rs);padding:6px 16px;margin-bottom:10px}
  .ltab tbody th,.ltab td{padding:10px 0;border-top:1px solid rgba(255,255,255,.07)!important}
  .ltab tbody th{border-top:0!important;font-size:1.02rem}
  .ltab td::before{content:attr(data-l);display:block;margin-bottom:3px;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--o)}
}
.cookie .row .btn{flex:0 1 auto}
.prose.legal{max-width:var(--maxw)}
.legal>*{max-width:900px}
.legal code{white-space:nowrap}
/* aviso de cookies compacto */
.cookie{max-width:320px;padding:14px 16px;border-radius:18px}
.cookie p{font-size:.84rem!important;line-height:1.45;color:var(--body)}
.cookie p .link{color:#fff}
.cookie .row{margin-top:10px}
.cookie .row .btn{min-height:34px;padding:0 16px;font-size:.84rem}
.cookie .row .btn::after{display:none}
@media (max-width:560px){.cookie{left:12px;right:12px;bottom:12px;max-width:none;display:none;align-items:center;gap:12px;padding:12px 12px 12px 16px}.cookie.on{display:flex}.cookie p{flex:1;font-size:.8rem!important}.cookie .row{margin:0;flex:none}}
/* mobile: a foto fica presa a uma distância fixa do fundo da hero, para o título cair sempre na zona dos pés, seja qual for a altura do ecrã */
@media (max-width:700px){.arc-person{width:min(100vw,560px);max-width:none;height:auto;object-fit:fill;bottom:96px}.arc-copy{bottom:28px}}
/* mobile: altura da hero ligada à largura da foto, para a equipa tapar a base dos cartões em qualquer ecrã */
@media (max-width:700px){.arc-hero{height:calc(250px + min(75vw,418px));min-height:0}.arc-ring{top:150px}}
/* ===== desempenho em todos os browsers (sobretudo Safari) =====
   1. cartões de vidro sobre fundo preto: o desfoque do fundo não se vê e custa muito ao Safari em cada scroll;
      fica só onde há imagem por trás (aviso de cookies, toast, números do Talks) */
.glass{-webkit-backdrop-filter:none;backdrop-filter:none}
.cookie.glass,.toast.glass{-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
/* 2. faixa de desfoque no fundo do ecrã: as camadas abaixo de 4px não se notam; ficam as três mais fortes */
.progressive-blur>div:nth-child(-n+5){display:none}
/* 3. brilhos laranja: o gradiente radial já é suave, o filtro de desfoque só obrigava a redesenhar */
.arc-hero::before,.svfan .sf-ntf,.e-num::before{filter:none}
.arc-hero::before{background:radial-gradient(closest-side,rgba(255,90,6,.7),rgba(255,90,6,.22) 50%,rgba(255,90,6,.06) 75%,transparent)}
/* 4. elementos animados por transform ganham a sua própria camada */
.arc-card,.sf-slot,.ttrack,.cx-hs-track{-webkit-backface-visibility:hidden;backface-visibility:hidden}

.hdr-cta::after{display:none}
.hdr-av{position:relative;flex:none;width:32px;height:32px}
.hdr-av img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1.5px #fff}
.hdr-av i{position:absolute;right:0;top:0;width:7px;height:7px;border-radius:50%;background:#2fd36b;box-shadow:0 0 0 1.5px var(--o)}
.prose.news-body{max-width:none;border-top:0;padding-top:0;margin-top:0}
.post .post-col,.post .prose{max-width:none}
.src-mk{position:absolute;right:14px;bottom:12px;z-index:1;width:min(32%,130px);aspect-ratio:850/120;background:url(/img/logo-marketeer-vermelho.webp) center/contain no-repeat;pointer-events:none;filter:drop-shadow(0 1px 6px rgba(0,0,0,.35))}
.src-mk.big{right:24px;bottom:22px;width:min(22%,200px)}
.hdr-av i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#2fd36b;animation:online-ping 1.6s cubic-bezier(0,0,.2,1) infinite}
.hdr-av i{animation:online-blink 1.6s ease-in-out infinite}
@keyframes online-ping{0%{transform:scale(1);opacity:.8}80%,100%{transform:scale(2.6);opacity:0}}
@keyframes online-blink{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.hdr-av i,.hdr-av i::after{animation:none}}


/* Rotunda 3D de projetos (topo da página Serviços) */
.rotunda{position:relative;width:100vw;margin:clamp(8px,1.5vw,20px) 0 0 50%;translate:-50% 0;height:clamp(230px,27vw,440px);cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.rotunda.rv{opacity:1;transform:none}
.rotunda.drag{cursor:grabbing}
.rotunda canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;opacity:0;transition:opacity 1s ease}
.rotunda.on canvas{opacity:1}
.rot-fb{position:absolute;inset:0;display:flex;align-items:center;gap:16px;overflow-x:auto;padding:0 8vw;scrollbar-width:none}
.rot-fb img{flex:0 0 auto;height:80%;aspect-ratio:1000/670;object-fit:cover;border-radius:14px}
.rotunda.on .rot-fb{display:none}
.rotunda:not(.fail) .rot-fb{visibility:hidden}
@media (max-width:700px){.rotunda{height:210px;margin-top:16px}}
/* Contacto: cartões com a identidade do site (fundo preto, borda fina branca, sem brilhos) */
.page[data-page="contacto"] .glass{background:#000;border:1px solid rgba(255,255,255,.16);box-shadow:none;transition:border-color .3s}
.page[data-page="contacto"] .glass::before,.page[data-page="contacto"] .glass::after{display:none}
.page[data-page="contacto"] .glass:hover{border-color:rgba(255,90,6,.5);box-shadow:none;transform:none}
.page[data-page="contacto"] .wiz-bar{height:2px;background:rgba(255,255,255,.12)}
.page[data-page="contacto"] .wiz-bar i{background:var(--o);box-shadow:none}
.page[data-page="contacto"] .opt label{background:transparent;border-color:rgba(255,255,255,.16);box-shadow:none}
.page[data-page="contacto"] .inp{background:transparent;border-color:rgba(255,255,255,.16)}
.page[data-page="contacto"] .inp:focus{border-color:rgba(255,255,255,.55);box-shadow:none}
.page[data-page="contacto"] .dx-face img{box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.faq-v .faq{max-width:860px;margin-inline:auto}
.page[data-page="contacto"] .opt label{transition:background .3s,border-color .3s}
.page[data-page="contacto"] .opt label span{transition:color .3s}
.page[data-page="contacto"] .opt input:checked+label{background:var(--o);border-color:var(--o);box-shadow:none}
.page[data-page="contacto"] .opt input:checked+label span{color:rgba(255,255,255,.9)}
@media (hover:hover){.page[data-page="contacto"] .opt label:hover{background:var(--o);border-color:var(--o)}.page[data-page="contacto"] .opt label:hover span{color:rgba(255,255,255,.9)}}
.faq-v .faq details{padding:22px 24px;border-radius:18px;transition:background .3s,border-color .3s}
.faq-v .faq details p{color:var(--body);transition:color .3s}
.faq-v .faq details[open]{background:var(--o);border-color:transparent}
.faq-v .faq details[open] p{color:rgba(255,255,255,.92)}
.faq-v .faq details[open] summary i{background:#fff;border-color:#fff}
.faq-v .faq details[open] summary i::before,.faq-v .faq details[open] summary i::after{background:var(--o)}
@media (hover:hover){.faq-v .faq details:hover{background:var(--o);border-color:transparent}.faq-v .faq details:hover p{color:rgba(255,255,255,.92)}.faq-v .faq details:hover summary i{border-color:#fff}}
.wa-card{align-items:flex-start;gap:18px}
.wa-card .h-3{margin:0}
.wa-cta{min-height:42px}
.wa-cta::after{display:none}
.dx-face.ct-face{gap:10px;font-size:.95rem;line-height:1.4}
.dx-face.ct-face img{width:34px;height:34px;box-shadow:0 0 0 1.5px #fff}
.page[data-page="contacto"] .card .n{order:0;margin:0 0 12px!important;color:var(--o);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.page[data-page="contacto"] .card .h-3{margin:0}
.tcards.tcards-1{grid-template-columns:minmax(0,680px);justify-content:center}
.page[data-page="talks"]>.sec.tk-spon{padding-top:0!important}
.page[data-page="contacto"] #wizlbl{font-size:.875rem;letter-spacing:.02em;color:var(--dim)}
.wstep[data-q="fim"] h3{font-size:var(--t-title)!important;line-height:1.1;letter-spacing:-.035em;margin-bottom:20px}
.wstep[data-q="fim"] p{max-width:44ch;line-height:1.5;color:var(--body);margin:0}
.wstep[data-q="fim"] p+p{margin-top:24px;font-size:calc(var(--t-body)*.82);color:var(--dim)}
.wstep[data-q="fim"] p+p .link{color:#fff}
.mail-l{display:inline-flex;align-items:center;gap:14px;line-height:1}
.mail-ic{box-sizing:border-box;flex:none;width:40px;height:40px;padding:10px;border-radius:50%;border:1px solid var(--g-bd);background:var(--g-bg);color:#fff;transition:color .3s,border-color .3s}
.mail-l:hover .mail-ic{color:var(--o);border-color:rgba(255,150,100,.4)}
.news[data-more]{position:relative}
.news[data-more]>.mh{display:none}
.news[data-more]>.mi{animation:fin .6s var(--ease) both}
.news[data-more].cut::after{content:"";position:absolute;left:0;right:0;bottom:0;height:min(55%,260px);background:linear-gradient(to bottom,rgba(0,0,0,0),#000 92%);pointer-events:none;z-index:2}
.vmore{display:flex;justify-content:center;margin-top:clamp(20px,3vw,32px);position:relative;z-index:3}
.vmore[hidden]{display:none}
.vmore .btn::after{transform:rotate(90deg)}
@media (max-width:700px){
  .artigos .news{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .artigos .news>.ncard:last-child:nth-child(odd){grid-column:1/-1}
  .artigos .news .ncard .tx{text-align:center;align-items:center;gap:10px;padding:14px 10px 16px}
  .artigos .news .ncard h3{font-size:.84rem!important;line-height:1.35}
  .artigos .acard p{font-size:.8rem;line-height:1.5}
  .artigos .acard .am{font-size:.74rem}
  .artigos .news .ncard .more{font-size:.8rem}
}
.mmenu nav{flex:1;justify-content:center}
@media (max-width:700px){.artigos .acard .tx>p,.artigos .acard .am{display:none}.artigos .acard .tx{padding-top:16px}.artigos .acard h3{flex:1}.artigos .acard .am+.more{margin-top:0}}
.tcards .tc-or h3{font-size:var(--t-title)!important;line-height:1.1;letter-spacing:-.035em;margin-bottom:14px}
.tcards .tc-or p{font-size:calc(var(--t-body)*.9);line-height:1.5;max-width:48ch;color:rgba(255,255,255,.82)}
.tcards .tc-or p+div{margin-top:28px!important}
@media (max-width:760px){.xp-p.xp-flow{order:1}.xp-p.xp-core{order:2}.xp-p.xp-landing{order:3}}
@media (max-width:560px){
  .h-ctas{flex-wrap:nowrap;gap:6px}
  .h-ctas .btn{flex:none;min-width:0;min-height:40px;gap:.45em;padding:.3em .3em .3em 1em;font-size:clamp(.66rem,3.4vw,.84rem);white-space:nowrap}
  .h-ctas .btn::after{width:2.3em;height:2.3em;background-size:1em}
  .h-ctas .btn.no-ar{padding:.3em 1em}
}
