/* ==========================================================================
   AENVO · Apresentação interativa — diapositivos
   Sistema visual da proposta AENVO × SIBS v2 (tokens do site aenvo.ai).
   Cada diapositivo é desenhado a 1920 × 1080 e escalado ao ecrã (--k).
   Em telemóvel na vertical, o diapositivo passa a 640 px de largura com layout empilhado.
   ========================================================================== */

@font-face{font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/InterTight-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/InterTight-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("../fonts/JetBrainsMono-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("../fonts/JetBrainsMono-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#0a0f0c; --ink-2:rgba(10,15,12,.68); --ink-3:rgba(10,15,12,.5);
  --paper:#fff; --bone:#f3f6ee; --bone-2:#e8eee3; --forest:#0e2a1c; --forest-2:#173a29; --leaf:#3f7a59;
  --mint:#d9f7e6; --lime:#dffb66; --green:#35d186; --green-ink:#127a4a;
  --line:rgba(10,15,12,.12); --line-2:rgba(10,15,12,.2);
  --on-dark:#f3f6ee; --on-dark-2:rgba(243,246,238,.7); --line-dark:rgba(243,246,238,.16);
  --nv-menta:rgba(102,251,194,.5); --nv-lima:rgba(223,251,102,.5); --nv-verde:rgba(53,209,134,.3); --nv-amarelo:rgba(162,251,102,.38);
  --sans:"Inter Tight","Helvetica Neue",Arial,sans-serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --t-display:150px; --t-h1:92px; --t-h2:60px; --t-h3:34px; --t-h4:26px; --t-lead:32px; --t-body:24px; --t-small:20px; --t-mono:16px;
  --mx:120px; --mt:128px; --mb:104px; --gap:40px; --r:22px;
  --ease:cubic-bezier(.16,1,.3,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --k:.5;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html,body{height:100%}
/* Sem o ajuste automático de texto do iOS/iPadOS: os diapositivos são escalados por inteiro e o Safari
   aumentava o texto em blocos mais largos do que o ecrã (como o AENVO Studio de 1440px), desalinhando-os. */
html{-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--bone);font-size:var(--t-body);line-height:1.42;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;overflow:hidden;transition:background .6s var(--ease)}
body[data-tone="dark"]{background:#0b2016}
img{display:block;max-width:100%}
ul,ol{list-style:none}
b,strong{font-weight:600}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus{outline:none}
:focus-visible{outline:3px solid var(--green);outline-offset:4px;border-radius:8px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- Palco ---------------- */
.stage{position:fixed;inset:0;overflow:hidden;touch-action:none;transform-origin:0 0}
.slide{position:absolute;left:50%;top:50%;width:1920px;height:1080px;margin:-540px 0 0 -960px;transform:scale(var(--k));transform-origin:50% 50%;
  overflow:hidden;background:var(--paper);visibility:hidden;counter-increment:pg}
/* No ecrã (não na impressão): fundo contínuo e fotografias até às bordas do ecrã.
   Com .is-letterbox (toque ou vertical) não: o diapositivo fica com o seu fundo, entre barras escuras, como no Google Slides. */
@media screen{
  body:not(.is-letterbox) .stage .slide{background:transparent;overflow:visible}
  body:not(.is-letterbox) .stage .slide > .mist{display:none}
  body:not(.is-letterbox) .stage .photo.bt{top:calc(var(--by,0px) * -1)!important}
  body:not(.is-letterbox) .stage .photo.bb{bottom:calc(var(--by,0px) * -1)!important}
  body:not(.is-letterbox) .stage .photo.bl{left:calc(var(--bx,0px) * -1)!important}
  body:not(.is-letterbox) .stage .photo.br{right:calc(var(--bx,0px) * -1)!important}
}
.backdrop{position:fixed;inset:0;z-index:0;pointer-events:none}
.is-letterbox,.is-letterbox .backdrop{background:#0b0e0c}
.is-letterbox .backdrop > div{display:none}
/* Tudo o que é da apresentação (transições, névoa, brilhos, progresso) fica dentro do retângulo do diapositivo */
.is-letterbox .stage{clip-path:inset(var(--lb-y,0px) var(--lb-x,0px))}
.is-letterbox .fx{inset:var(--lb-y,0px) var(--lb-x,0px)}
.is-letterbox .ctl__progress{left:var(--lb-x,0px);right:var(--lb-x,0px);bottom:var(--lb-y,0px)}
.backdrop > div{position:absolute;inset:0;transition:opacity 1.1s var(--ease)}
.backdrop .bg-paper{background:var(--paper)} .backdrop .bg-bone{background:var(--bone)} .backdrop .bg-forest{background:var(--forest)}
.backdrop .mist{position:absolute;inset:-6%}
.backdrop .bd-img{position:absolute;inset:0;background-size:cover;background-position:center}
.backdrop .bd-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,42,28,.35),rgba(14,42,28,.92) 62%)}
.stage{z-index:1}
.slide.is-current,.slide.is-leaving{visibility:visible}
.slide.is-leaving{z-index:1;pointer-events:none}
.slide.is-current{z-index:2}
.slide.bone{background:var(--bone)}
.slide.forest{background:var(--forest);color:var(--on-dark)}
.slide .in{position:absolute;inset:var(--mt) var(--mx) var(--mb) var(--mx);z-index:2}
.slide .z{position:relative;z-index:2}

/* Cabeçalho e rodapé (como na proposta) */
.cab{position:absolute;top:48px;left:var(--mx);right:var(--mx);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);z-index:5}
.cab .sec{color:var(--ink)}
.cab .sec::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:12px;vertical-align:1px}
.cab img{height:22px}
.rod{position:absolute;bottom:40px;left:var(--mx);right:var(--mx);display:flex;justify-content:space-between;gap:24px;font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);z-index:5}
.forest .cab,.forest .rod{color:var(--on-dark-2)}
.forest .cab .sec{color:var(--on-dark)}
.forest .cab .sec::before{background:var(--lime)}

/* Névoas (aurora do site, intensidade reduzida) */
.mist{position:absolute;inset:0;pointer-events:none;z-index:0}
.mist.tl{background:radial-gradient(ellipse 900px 620px at 0% 0%,var(--nv-menta),transparent 70%),radial-gradient(ellipse 700px 520px at 26% 10%,var(--nv-lima),transparent 70%),radial-gradient(ellipse 760px 600px at 8% 60%,var(--nv-verde),transparent 72%)}
.mist.br{background:radial-gradient(ellipse 900px 620px at 100% 100%,var(--nv-menta),transparent 70%),radial-gradient(ellipse 680px 520px at 74% 96%,var(--nv-lima),transparent 70%)}
.mist.tr{background:radial-gradient(ellipse 820px 600px at 100% 0%,var(--nv-menta),transparent 70%),radial-gradient(ellipse 620px 500px at 78% 6%,var(--nv-amarelo),transparent 70%)}
.mist.full{background:radial-gradient(ellipse 1100px 760px at 4% 6%,var(--nv-menta),transparent 70%),radial-gradient(ellipse 900px 640px at 30% 96%,var(--nv-lima),transparent 70%),radial-gradient(ellipse 820px 640px at 60% 8%,var(--nv-amarelo),transparent 70%),radial-gradient(ellipse 1000px 700px at 96% 92%,var(--nv-menta),transparent 70%),radial-gradient(ellipse 700px 520px at 88% 20%,var(--nv-verde),transparent 70%)}
.mist.dark{background:radial-gradient(ellipse 1000px 700px at 100% 100%,rgba(53,209,134,.3),transparent 70%),radial-gradient(ellipse 800px 600px at 80% 110%,rgba(223,251,102,.2),transparent 70%)}
.mist.soft{opacity:.55}
.mist.drift{animation:drift 26s var(--ease-io) infinite alternate}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(40px,-24px,0) scale(1.06)}}

/* Tipografia */
.eyebrow{font-family:var(--mono);font-size:var(--t-mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.forest .eyebrow{color:var(--on-dark-2)}
.display{font-size:var(--t-display);font-weight:500;letter-spacing:-.045em;line-height:.92}
.h1{font-size:var(--t-h1);font-weight:500;letter-spacing:-.04em;line-height:.98}
.h2{font-size:var(--t-h2);font-weight:500;letter-spacing:-.035em;line-height:1.02}
.h3{font-size:var(--t-h3);font-weight:500;letter-spacing:-.02em;line-height:1.12}
.h4{font-size:var(--t-h4);font-weight:600;letter-spacing:-.012em;line-height:1.2}
.lead{font-size:var(--t-lead);line-height:1.32;letter-spacing:-.012em;color:var(--ink-2)}
.body{font-size:var(--t-body);color:var(--ink-2)}
.small{font-size:var(--t-small);color:var(--ink-2);line-height:1.42}
.muted{color:var(--ink-3)}
.forest .lead,.forest .body,.forest .small{color:var(--on-dark-2)}
.mono{font-family:var(--mono);font-feature-settings:"liga" 0,"calt" 0}
/* Folga em baixo para as descendentes (g, j, p, q) da última linha não ficarem cortadas pela máscara */
.ln{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}
.ln > span{display:block}

/* Componentes */
.rule{height:1px;background:var(--line-2)}
.forest .rule{background:var(--line-dark)}
.pill{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line-2);font-size:19px;font-weight:500;background:rgba(255,255,255,.6);white-space:nowrap}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}
.pill.nodot::before{display:none}
.forest .pill{border-color:var(--line-dark);background:rgba(255,255,255,.04);color:var(--on-dark)}
.pills{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;gap:14px;height:64px;padding:0 32px;border-radius:999px;background:var(--lime);color:var(--ink);font-size:23px;font-weight:600;text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px -16px rgba(10,15,12,.4)}
.btn.dark{background:var(--ink);color:#fff}
.btn svg{width:24px;height:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px}
.card.bone{background:var(--bone);border-color:transparent}
.card.mint{background:var(--mint);border-color:transparent}
.card.forest{background:var(--forest);color:var(--on-dark);border-color:transparent}
.card.glass{background:rgba(255,255,255,.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:rgba(255,255,255,.6)}
.ico:not(svg){width:60px;height:60px;border-radius:18px;background:var(--bone);display:grid;place-items:center;color:var(--forest);flex:none}
svg.ico{width:20px;height:20px;flex:none;background:none;border-radius:0}
.ico:not(svg) svg{width:30px;height:30px}
.ico.mint:not(svg){background:var(--mint)} .ico.lime:not(svg){background:var(--lime)} .ico.dark:not(svg){background:var(--forest);color:var(--lime)}
.forest .ico:not(svg){background:rgba(255,255,255,.08);color:var(--lime)}
.check li{position:relative;padding-left:40px;margin:0 0 16px}
.check li::before{content:"";position:absolute;left:0;top:.28em;width:24px;height:24px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.4l2.6 2.6L14.2 7.4' fill='none' stroke='%230e2a1c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}
.forest .check li::before{background-color:rgba(223,251,102,.16);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.4l2.6 2.6L14.2 7.4' fill='none' stroke='%23dffb66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.photo{position:absolute;overflow:hidden;background:var(--bone-2)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.round{border-radius:var(--r)}
.tag{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.tag.soon{background:var(--lime);color:var(--ink)}
.tag.line{border:1px solid var(--line-2);color:var(--ink-3)}
.forest .tag.line{border-color:var(--line-dark);color:var(--on-dark-2)}
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:22px 44px}
.logos img{height:30px;width:auto}
.logos.mono img{filter:grayscale(1);opacity:.7}
.logos.light img{filter:brightness(0) invert(1);opacity:.88}
.wave{display:flex;align-items:center;gap:3px;height:40px}
.wave i{flex:1;border-radius:3px;background:currentColor;opacity:.35}
.wave i.on{opacity:1}

/* Elementos clicáveis dentro dos diapositivos */
.tap{cursor:pointer;transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .3s,border-color .3s,color .3s}
.tap:hover{transform:translateY(-3px);box-shadow:0 24px 50px -24px rgba(10,15,12,.35)}
.tap[aria-selected="true"],.tap[aria-pressed="true"],.tap.is-on{border-color:var(--ink)}

/* ---------------- Dispositivos e Studio (da proposta) ---------------- */
.iphone{position:absolute;width:440px;height:900px;border-radius:72px;background:#101213;padding:14px;box-shadow:inset 0 0 0 3px #3a3d40,inset 0 0 0 7px #0b0c0d,0 50px 90px -40px rgba(10,15,12,.55)}
.iphone .scr{position:relative;width:100%;height:100%;border-radius:58px;overflow:hidden;background:#efeae2}
.iphone .island{position:absolute;top:26px;left:50%;width:120px;height:34px;margin-left:-60px;border-radius:20px;background:#000;z-index:9}
.iphone .status{height:64px;display:flex;justify-content:space-between;align-items:flex-end;padding:0 40px 6px 48px;font-size:17px;font-weight:600;color:#111}
.wa-head{display:flex;align-items:center;gap:12px;padding:10px 16px 12px;background:#f6f5f3;border-bottom:1px solid #e3e0dc}
.wa-head .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--forest));color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px}
.wa-head b{font-size:17px;display:flex;align-items:center;gap:5px}
.wa-head span{font-size:13px;color:#667}
.wa-body{padding:14px 12px;display:flex;flex-direction:column;gap:8px;font-size:15.5px;line-height:1.34}
.wa-msg{max-width:82%;padding:7px 10px 18px;border-radius:10px;background:#fff;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.08);color:#111}
.wa-msg.me{align-self:flex-end;background:#d9fdd3}
.wa-msg .t{position:absolute;right:8px;bottom:4px;font-size:11px;color:#8a8f93}
.studio{font-family:var(--sans);color:#0d1110;background:#f7f8f8;width:1440px;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px rgba(10,15,12,.08),0 50px 100px -40px rgba(10,15,12,.4);font-size:15px;line-height:1.35}
.st-top{height:64px;background:#fff;border-bottom:1px solid #ebedec;display:flex;align-items:center;gap:18px;padding:0 22px}
.st-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:21px;letter-spacing:-.02em;padding-right:18px;border-right:1px solid #ebedec}
.st-logo img{height:22px}
.st-org{height:38px;padding:0 14px;border:1px solid #e3e6e5;border-radius:10px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;min-width:320px}
.st-org::after{content:"";width:8px;height:8px;border-right:2px solid #889;border-bottom:2px solid #889;transform:rotate(45deg) translate(-2px,-2px);margin-left:auto}
.st-badge{height:26px;padding:0 10px;border-radius:999px;background:#fdecec;color:#d33;border:1px solid #f6caca;font-size:12px;font-weight:600;display:inline-flex;align-items:center}
.st-user{margin-left:auto;height:44px;padding:0 16px 0 6px;border:1px solid #ebedec;border-radius:12px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.st-user i{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#35d186,#0e2a1c);color:#fff;font-style:normal;display:grid;place-items:center;font-weight:700;font-size:14px}
.st-wrap{display:flex}
.st-side{width:236px;flex:none;background:#fff;border-right:1px solid #ebedec;padding:18px 12px;font-size:14.5px}
.st-side h6{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#8a918e;text-transform:uppercase;font-weight:600;margin:4px 10px 10px}
.st-side span{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#222}
.st-side span.on{background:#f0f2f1;font-weight:600}
.st-side span.sub{padding-left:28px;color:#555}
.st-main{flex:1;padding:22px 26px 26px;min-width:0}
.st-card{background:#fff;border:1px solid #ebedec;border-radius:14px;padding:18px 20px}
.st-live{display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 12px;border-radius:999px;background:#e9f9f0;color:#128a52;font-size:13px;font-weight:600;border:1px solid #c9efd9}
.st-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#1fbf73}
.st-h{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:6px}
.st-tabs{display:flex;gap:6px;flex-wrap:wrap}
.st-tab{height:36px;padding:0 14px;border-radius:10px;display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;color:#333}
.st-tab.on{background:#0a0f0c;color:#fff}
.st-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.st-kpi{background:#fff;border:1px solid #ebedec;border-radius:14px;padding:14px 16px}
.st-kpi small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#6b7370;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-kpi b{display:block;font-family:var(--mono);font-size:28px;font-weight:600;letter-spacing:-.02em;margin-top:8px}
.st-kpi b.g{color:#11a35f}
.st-title{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.st-chip{font-family:var(--mono);font-size:11.5px;color:#6b7370;background:#f3f5f4;border:1px solid #e8ebea;border-radius:999px;padding:3px 10px}
.st-donut{width:150px;height:150px;border-radius:50%;position:relative;background:conic-gradient(#3b82f6 0 58%,#1fbf73 58% 84%,#16a34a 84% 100%)}
.st-donut::after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fff}
.st-donut div{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center}
.st-donut b{font-size:24px;font-weight:700}
.st-donut span{font-family:var(--mono);font-size:10px;color:#6b7370;letter-spacing:.08em}
.st-ch{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #eef0ef;border-radius:10px;font-size:14px;font-weight:500}
.st-ch + .st-ch{margin-top:8px}
.st-ch .n{margin-left:auto;font-family:var(--mono);font-weight:700}
.st-ch .p{font-family:var(--mono);font-size:11.5px;color:#8a918e;width:44px;text-align:right}
.st-ch i{width:12px;height:12px;border-radius:4px}
.st-sent{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.st-sent div{border-radius:12px;padding:14px;text-align:center;border:1px solid #eef0ef}
.st-sent small{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em}
.st-sent b{display:block;font-family:var(--mono);font-size:26px;margin-top:4px}
.st-sent .pos{background:#ecfbf3;color:#0f8a50;border-color:#cdeedc}
.st-sent .neu{background:#f7f8f8;color:#222}
.st-sent .neg{background:#fdf0f0;color:#c62828;border-color:#f6d3d3}
.st-msg{max-width:78%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.42}
.st-msg.ai{background:#f2f4f3;border-top-left-radius:4px}
.st-msg.us{background:#0e2a1c;color:#fff;margin-left:auto;border-top-right-radius:4px}
.st-msg small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;opacity:.6;margin-bottom:3px;text-transform:uppercase}
.st-player{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #eef0ef;border-radius:12px;background:#fff}
.st-player .pb{width:34px;height:34px;border-radius:50%;background:#0a0f0c;position:relative;flex:none}
.st-player .pb::after{content:"";position:absolute;left:13px;top:10px;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}
.st-player .wv{flex:1;height:30px;display:flex;align-items:center;gap:2px}
.st-player .wv i{flex:1;border-radius:2px;background:#c9d1cd}
.st-player .wv i.p{background:#35d186}
.st-act{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:9px 0;border-bottom:1px dashed #e6e9e8}
.st-act .ok{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:#0f8a50;background:#ecfbf3;padding:2px 8px;border-radius:6px}
.st-btn{height:34px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;background:#0a0f0c;color:#fff}
.st-btn.ghost{background:#fff;color:#222;border:1px solid #e3e6e5}
.shot{position:absolute}
/* --mh: teto de altura da ilustração (antes da escala), para nunca chegar ao rodapé, mesmo que o Safari
   do iPad aumente o texto lá dentro; o excesso fica cortado dentro do próprio quadro. */
.shot > .studio{zoom:var(--s,.8);max-height:var(--mh,none);-webkit-text-size-adjust:none;text-size-adjust:none}
.chart-dots path{fill:none;stroke:#0a0f0c;stroke-width:2.2}
.chart-dots circle{fill:#0a0f0c}

/* ---------------- Ecrã de entrada ---------------- */
.entry{position:fixed;inset:0;z-index:30;background:var(--bone);overflow:auto;display:grid}
.entry .mist{position:fixed}
.entry__in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(32px,6vw,120px);align-items:center;
  width:min(1440px,100%);margin:auto;padding:clamp(88px,10vh,140px) clamp(20px,6vw,96px) clamp(40px,7vh,96px)}
.entry__top{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(18px,3vh,36px) clamp(20px,6vw,96px)}
.entry__logo{height:clamp(22px,2.4vw,30px);width:auto}
.entry__home{display:inline-flex;border-radius:6px;transition:opacity .3s var(--ease)}
.entry__home:hover{opacity:.72}
.entry .eyebrow{font-size:13px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:var(--ink)}
.entry .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}
.entry__title{font-size:clamp(38px,4.4vw,80px);font-weight:500;letter-spacing:-.05em;line-height:.92;margin-bottom:clamp(20px,3vh,36px)}
.entry__lede{font-size:clamp(17px,1.5vw,22px);line-height:1.42;color:var(--ink-2);max-width:40ch}
.entry__card{padding:clamp(24px,3vw,40px);border-radius:28px;display:grid;gap:16px}
.entry__card h2{font-size:clamp(18px,1.62vw,24px);font-weight:600;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}
.entry__card p{font-size:15px;color:var(--ink-2)}
.fld{display:grid;gap:6px;align-content:start}
.fld label{font-size:13px;font-weight:600}
.fld input{width:100%;height:52px;padding:0 16px;border-radius:14px;border:1px solid rgba(10,15,12,.16);background:rgba(255,255,255,.7);font:inherit;font-size:16px;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.fld input:focus{outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 4px rgba(53,209,134,.25)}
.fld input[aria-invalid="true"]{border-color:#b42318}
.fld .err{font-size:13px;color:#b42318;font-weight:500}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* Telefone: botão com bandeira e indicativo dentro do campo; lista de países com pesquisa */
.phone{position:relative;display:flex;align-items:stretch;height:52px;border-radius:14px;border:1px solid rgba(10,15,12,.16);background:rgba(255,255,255,.7);transition:border-color .2s,box-shadow .2s,background .2s}
.phone:focus-within{border-color:var(--ink);background:#fff;box-shadow:0 0 0 4px rgba(53,209,134,.25)}
.phone:has(input[aria-invalid="true"]){border-color:#b42318}
.fld .phone input[type=tel]{flex:1;min-width:0;height:auto;border:0;background:transparent;box-shadow:none;padding:0 14px 0 8px;border-radius:0 14px 14px 0}
.fld .phone input[type=tel]:focus{box-shadow:none;background:transparent}
.phone__cc{display:inline-flex;align-items:center;gap:6px;padding:0 6px 0 12px;border-radius:14px 0 0 14px;font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;flex:none}
.phone__cc:hover{background:rgba(10,15,12,.04)}
.phone__cc:focus-visible{box-shadow:none;outline:2px solid var(--ink);outline-offset:-3px}
.phone__flag{width:20px;height:20px;border-radius:50%;flex:none}
.phone__code{display:none}
.phone__chev{width:12px;height:12px;color:var(--ink-3, #6a716d)}
.phone__pop{position:absolute;z-index:40;right:0;top:calc(100% + 6px);width:min(340px,calc(100vw - 32px));padding:8px;border-radius:16px;background:#fff;border:1px solid rgba(10,15,12,.1);box-shadow:0 24px 50px -18px rgba(10,15,12,.35);animation:popIn .16s ease both}
@keyframes popIn{from{opacity:0;transform:translateY(-4px)}}
.phone__search{width:100%;height:40px;padding:0 12px;border-radius:10px;border:1px solid rgba(10,15,12,.14);font:inherit;font-size:15px;margin-bottom:6px}
.phone__search:focus{outline:none;border-color:var(--ink)}
.phone__list{max-height:260px;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:1px}
.phone__opt{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;font-size:14px;cursor:pointer}
.phone__opt img{width:20px;height:20px;border-radius:50%}
.phone__opt b{font-weight:500;color:var(--ink-3, #6a716d);font-variant-numeric:tabular-nums}
.phone__opt:hover,.phone__opt.is-active{background:#eef4ea}
.phone__opt[aria-selected="true"] span{font-weight:600}
.phone__opt.is-last-top{border-bottom:1px solid rgba(10,15,12,.08);margin-bottom:4px;border-radius:9px 9px 0 0}
@media (max-width:600px){.phone__pop{left:0;right:0;width:auto}.phone__list{max-height:min(300px,45vh)}}
.phone__none{padding:10px;font-size:14px;color:var(--ink-3, #6a716d)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--forest);flex:none}
.consent a{color:var(--ink);font-weight:600}
.consent.is-missing{outline:1.5px solid rgba(180,35,24,.55);outline-offset:8px;border-radius:10px;animation:nudge .45s var(--ease)}
.consent.is-missing input{outline:2px solid #b42318;outline-offset:2px}
@keyframes nudge{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
.entry__go{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:60px;border-radius:999px;background:var(--ink);color:#fff;font-size:18px;font-weight:600;transition:transform .4s var(--ease),background .3s}
.entry__go:hover{transform:translateY(-2px);background:#17251c}
.entry__go[disabled]{opacity:.5;pointer-events:none}
.entry__go svg{width:20px;height:20px}
.entry__anon{justify-self:center;margin-top:-4px;padding:6px 10px;font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:underline;text-decoration-color:rgba(10,15,12,.25);text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}
.entry__anon:hover{color:var(--ink);text-decoration-color:var(--ink)}
.entry__anon[disabled]{opacity:.5;pointer-events:none}
.entry__note{font-size:12.5px;color:var(--ink-3);line-height:1.45}
.fld .err:empty,.entry__card > .err:empty{display:none}
/* Com o infográfico do teclado à vista, a nota de navegação do formulário é redundante */
@media (min-width:901px) and (pointer:fine){.entry__note{display:none}}
/* A nota da entrada fala de teclado ou de toque conforme o aparelho */
.entry__note .on-touch{display:none}
@media (hover:none) and (pointer:coarse){.entry__note .on-keys{display:none}.entry__note .on-touch{display:inline}}
/* Ecrãs baixos: formulário mais compacto para não haver scroll */
@media (min-width:901px) and (max-height:900px){
  .entry__in{padding-top:clamp(72px,10vh,96px);padding-bottom:28px}
  .entry__card{padding:28px 30px;gap:12px}
  .fld input{height:46px}
  .phone{height:46px}
  .entry__go{height:54px}
  .consent{font-size:13px;line-height:1.4}
  .kbg{margin-top:22px}
}
.entry__err{padding:12px 14px;border-radius:12px;background:#fff1ef;color:#8a1a10;font-size:14px;font-weight:500}
.entry__hello{font-size:15px;color:var(--ink-2)}
.entry__hello button{text-decoration:underline;font-size:15px;color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:900px){
  .entry__in{grid-template-columns:1fr;align-items:start;padding-top:96px}
  .fld-row{grid-template-columns:1fr}
}

/* Entrada: abertura leve, em cascata (névoa, topo, texto, infográfico, formulário) */
.entry > .mist{animation:entryMist 1.6s var(--ease) both,drift 26s var(--ease-io) 1.6s infinite alternate}
.entry__top{animation:entryFade .9s var(--ease) .1s both}
.entry .eyebrow{animation:entryRise .9s var(--ease) .2s both}
.entry__title{animation:entryRise 1.1s var(--ease) .3s both}
.entry__lede{animation:entryRise 1.1s var(--ease) .45s both}
.entry .kbg{animation:entryFade 1.2s var(--ease) .8s both}
.entry__card{animation:entryCard 1.1s var(--ease) .5s both}
@keyframes entryMist{from{opacity:0}to{opacity:1}}
@keyframes entryFade{from{opacity:0}to{opacity:1}}
@keyframes entryRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes entryCard{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.entry > .mist,.entry__top,.entry .eyebrow,.entry__title,.entry__lede,.entry .kbg,.entry__card{animation:none}}

/* Entrada: infográfico animado de como navegar com o teclado (linhas pretas grossas e finas) */
.kbg{margin-top:clamp(24px,4vh,44px);max-width:520px}
.kbg__art{display:block;width:100%;height:auto;overflow:hidden}
.kbg__key rect{fill:#fff;stroke:var(--ink);stroke-width:2.5}
.kbg__key path,.kbg__rows path{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.kbg__key{transform-box:fill-box;transform-origin:center}
.kbg__frame{fill:rgba(255,255,255,.55);stroke:var(--ink);stroke-width:1.5}
.kbg__thick{fill:none;stroke:var(--ink);stroke-width:6;stroke-linecap:round}
.kbg__thin{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;opacity:.55}
.kbg__rows rect{fill:none;stroke:var(--ink);stroke-width:1.4}
.kbg__rows path{stroke-width:1.4}
.kbg__hl rect{fill:var(--lime);stroke:none}
.kbg__skin{fill:var(--bone);stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}
.kbg figcaption{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.kbg figcaption span{display:inline-flex;align-items:center;gap:6px}
.kbg kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border:1.5px solid var(--ink);border-radius:6px;background:#fff;font-family:var(--mono);font-size:12px;color:var(--ink);text-transform:none}
/* Ciclo de 10 s: → muda de página; ↓ ↓ ↓ abre os detalhes um a um; ← volta ao início */
.kbg__finger{animation:kbgFinger 10s var(--ease-io) infinite}
.kbg__pages{animation:kbgPages 10s var(--ease-io) infinite}
.kbg__hl{animation:kbgHl 10s var(--ease-io) infinite}
.k-right{animation:kbgPressR 10s linear infinite}
.k-down{animation:kbgPressD 10s linear infinite}
.k-left{animation:kbgPressL 10s linear infinite}
/* O ciclo começa depois da abertura da página (o 1.º fotograma fica à vista enquanto espera) */
.kbg .kbg__finger,.kbg .kbg__pages,.kbg .kbg__hl,.kbg .kbg__key,.kbg .kbg__key rect{animation-delay:1.6s;animation-fill-mode:backwards}
@keyframes kbgFinger{
  0%,2%{transform:translate(214px,226px)} 8%{transform:translate(163px,134px)} 10%{transform:translate(163px,139px)} 13%,30%{transform:translate(163px,134px)}
  37%{transform:translate(103px,134px)} 40%{transform:translate(103px,139px)} 43%,52%{transform:translate(103px,134px)} 55%{transform:translate(103px,139px)} 58%,67%{transform:translate(103px,134px)}
  70%{transform:translate(103px,139px)} 73%{transform:translate(103px,134px)} 80%{transform:translate(43px,134px)} 85%{transform:translate(43px,139px)} 88%{transform:translate(43px,134px)} 97%,100%{transform:translate(214px,226px)}}
@keyframes kbgPages{0%,10%{transform:translateX(0)} 18%,85%{transform:translateX(-300px)} 93%,100%{transform:translateX(0)}}
@keyframes kbgHl{0%,40%{opacity:0;transform:translateY(0)} 42%,54%{opacity:1;transform:translateY(0)} 57%,69%{opacity:1;transform:translateY(36px)} 72%,84%{opacity:1;transform:translateY(72px)} 87%,100%{opacity:0;transform:translateY(72px)}}
@keyframes kbgPressR{0%,9%,13%,100%{transform:none} 10%,12%{transform:translateY(2px)}}
@keyframes kbgPressD{0%,39%,43%,54%,58%,69%,73%,100%{transform:none} 40%,42%,55%,57%,70%,72%{transform:translateY(2px)}}
@keyframes kbgPressL{0%,84%,88%,100%{transform:none} 85%,87%{transform:translateY(2px)}}
.k-right rect{animation:kbgFillR 10s linear infinite}
.k-down rect{animation:kbgFillD 10s linear infinite}
.k-left rect{animation:kbgFillL 10s linear infinite}
@keyframes kbgFillR{0%,9%,16%,100%{fill:#fff} 10%,13%{fill:var(--lime)}}
@keyframes kbgFillD{0%,39%,46%,54%,61%,69%,76%,100%{fill:#fff} 40%,43%,55%,58%,70%,73%{fill:var(--lime)}}
@keyframes kbgFillL{0%,84%,91%,100%{fill:#fff} 85%,88%{fill:var(--lime)}}
@media (prefers-reduced-motion:reduce){
  .kbg__finger,.kbg__pages,.kbg__hl,.kbg__key,.kbg__key rect{animation:none}
  .kbg__finger{transform:translate(103px,134px)} .kbg__pages{transform:translateX(-300px)} .kbg__hl{opacity:1}
}
@media (max-width:900px),(pointer:coarse){.kbg{display:none}}

/* Telemóvel e tablet (sem rato): barra só com ícones, que cabe no ecrã; botão discreto para abrir o menu */
.ctl__handle{display:none}
@media (hover:none) and (pointer:coarse){
  .ctl .ctl__handle{display:grid;place-items:center;position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;width:44px;height:44px;border-radius:50%;pointer-events:auto;transition:opacity .35s var(--ease)}
  .ctl__handle svg{width:20px;height:20px}
  body.show-ctl .ctl__handle{opacity:0;pointer-events:none}
}
@media (max-width:760px){
  .ctl__top{top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;gap:8px}
  .ctl__group{gap:2px;padding:4px}
  .ctl .cbtn > span[data-l],.ctl [data-lang-short]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ctl .cbtn{min-width:40px;padding:0 10px;justify-content:center}
  .ctl__where{padding:0 8px 0 10px}
  body .hint{white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 32px);bottom:calc(20px + env(safe-area-inset-bottom))}
}

/* ---------------- Vidro (controlos) ---------------- */
.glass{position:relative;background:rgba(250,252,248,.72);border:1px solid rgba(255,255,255,.7);
  backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(255,255,255,.18),0 10px 34px -10px rgba(10,15,12,.28);color:var(--ink)}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(120% 80% at 30% 0%,rgba(255,255,255,.55),rgba(255,255,255,0) 55%);mix-blend-mode:soft-light}
body[data-tone="dark"] .ctl .glass{background:rgba(16,38,27,.72);border-color:rgba(255,255,255,.2);color:var(--on-dark);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 34px -10px rgba(0,0,0,.5)}
.entry__card.glass{background:rgba(255,255,255,.5)}

.ctl{position:fixed;inset:0;z-index:20;pointer-events:none}
.ctl__item{opacity:0;visibility:hidden;transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s .45s}
body.show-ctl .ctl__item{opacity:1;visibility:visible;transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s}
body.show-ctl .ctl .ctl__item{pointer-events:auto}
body.idle .stage{cursor:none}
.ctl__top{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;transform:translateY(-8px);transition:transform .5s var(--ease)}
body.show-ctl .ctl__top{transform:none}
.ctl__group{display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px}
.cbtn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .25s}
.cbtn:hover,.cbtn[aria-expanded="true"]{background:rgba(255,255,255,.85)}
body[data-tone="dark"] .cbtn:hover,body[data-tone="dark"] .cbtn[aria-expanded="true"]{background:rgba(255,255,255,.12)}
.cbtn svg{width:18px;height:18px}
.cbtn .flag{width:22px;height:22px;border-radius:50%}
.cbtn.icon{width:42px;padding:0;justify-content:center}
.ctl__where{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:0 12px 0 14px}
.ctl__arrow{position:absolute;top:50%;width:64px;height:64px;margin-top:-32px;border-radius:50%;display:grid;place-items:center;transition:transform .45s var(--ease),opacity .3s}
.ctl__arrow svg{width:26px;height:26px;position:relative;z-index:1}
.ctl__arrow.prev{left:22px;transform:translateX(-10px)}
.ctl__arrow.next{right:22px;transform:translateX(10px)}
body.show-ctl .ctl__arrow{transform:none}
/* Telemóvel na vertical: o 16:9 é baixo e as setas tapá-lo-iam; navega-se a deslizar */
@media (hover:none) and (pointer:coarse) and (orientation:portrait) and (max-width:820px){.ctl__arrow{display:none}}
/* Com barras laterais, as setas ficam nelas, centradas, sem tapar a borda do diapositivo */
.is-letterbox .ctl__arrow{width:48px;height:48px;margin-top:-24px}
.is-letterbox .ctl__arrow svg{width:22px;height:22px}
.is-letterbox .ctl__arrow.prev{left:max(8px,calc((var(--lb-x,0px) - 48px) / 2))}
.is-letterbox .ctl__arrow.next{right:max(8px,calc((var(--lb-x,0px) - 48px) / 2))}
.ctl__arrow:hover{transform:scale(1.06)!important}
.ctl__arrow[disabled]{opacity:0!important;pointer-events:none!important}
.ctl__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(10,15,12,.06)}
.ctl__progress i{display:block;height:100%;width:0;background:var(--green);transition:width .6s var(--ease)}
.menu{position:absolute;top:calc(100% + 10px);right:0;min-width:270px;padding:8px;border-radius:22px;display:grid;gap:2px;transform-origin:top right;animation:pop .35s var(--ease);background:rgba(248,250,246,.94)!important;color:var(--ink)!important}
@keyframes pop{from{opacity:0;transform:scale(.94) translateY(-6px)}}
.menu a,.menu button{position:relative;z-index:1;display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:14px;font-size:15px;font-weight:500;text-decoration:none;text-align:left}
.menu a:hover,.menu button:hover{background:rgba(255,255,255,.75)}
.menu [aria-current="true"]{background:#fff;box-shadow:0 1px 2px rgba(10,15,12,.08),0 6px 16px -8px rgba(10,15,12,.25);font-weight:600}

.menu .flag{width:26px;height:26px;border-radius:50%;flex:none}
.menu small{margin-left:auto;font-family:var(--mono);font-size:11px;opacity:.6}
.lang-pick{display:flex;gap:6px}
.lang-pick a{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;transition:transform .3s var(--ease),box-shadow .3s}
.lang-pick a img{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 6px 14px -6px rgba(10,15,12,.4)}
.lang-pick a[aria-current="true"] img{box-shadow:0 0 0 2px var(--ink),0 6px 14px -6px rgba(10,15,12,.4)}
.lang-pick a:hover{transform:translateY(-2px)}
@media (max-width:420px){.lang-pick{gap:0}.lang-pick a{width:38px;height:38px}.lang-pick a img{width:28px;height:28px}}

/* Índice de diapositivos */
.overview{position:fixed;inset:0;z-index:40;padding:96px clamp(20px,5vw,80px) 40px;overflow:auto;background:rgba(243,246,238,.72);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);animation:fadein .35s var(--ease)}
@keyframes fadein{from{opacity:0}}
.overview__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;max-width:1440px;margin:0 auto}
.overview__grid a{display:grid;gap:8px;padding:10px;border-radius:18px;text-decoration:none;transition:background .25s,transform .35s var(--ease)}
.overview__grid a:hover{background:rgba(255,255,255,.6);transform:translateY(-2px)}
.overview__grid a[aria-current="true"]{background:#fff;box-shadow:0 0 0 2px var(--ink)}
.overview__n{font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.overview__t{font-size:17px;font-weight:600;letter-spacing:-.01em}
.overview__close{position:fixed;top:18px;right:18px;z-index:41}

/* Janela de detalhe (setores, filme) */
.sheet{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:24px;background:rgba(10,15,12,.28);animation:fadein .3s var(--ease)}
.sheet__card{position:relative;width:min(1080px,100%);max-height:calc(100svh - 48px);overflow:auto;border-radius:30px;padding:clamp(24px,3.5vw,48px);background:rgba(255,255,255,.82);
  backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%);border:1px solid rgba(255,255,255,.7);box-shadow:0 40px 100px -30px rgba(10,15,12,.5);animation:rise .55s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(24px) scale(.98)}}
.sheet__close{position:absolute;top:16px;right:16px;z-index:2}
.sheet .story{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}
.sheet .story img{width:100%;aspect-ratio:350/495;object-fit:cover;border-radius:18px}
.sheet h2{font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.035em;line-height:1.04;margin:10px 0 14px}
.sheet p{font-size:clamp(15px,1.25vw,18px);line-height:1.5;color:var(--ink-2)}
.sheet ol{display:grid;gap:12px;margin:18px 0}
.sheet ol li{display:flex;gap:14px;font-size:clamp(15px,1.25vw,18px);line-height:1.45}
.sheet ol li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--forest);color:var(--lime);font-family:var(--mono);font-size:12px;flex:none}
.sheet .outcome{padding:14px 18px;border-radius:14px;background:var(--mint);font-weight:500;color:var(--ink)}
.sheet audio{width:100%;margin-top:14px}
.sheet .note{font-size:13px;color:var(--ink-3);margin-top:12px}
.sheet.film .sheet__card{padding:0;background:#000;width:min(1280px,100%);overflow:hidden}
.sheet.film iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
@media (max-width:760px){.sheet .story{grid-template-columns:1fr}.sheet .story img{max-width:180px}}

/* Dica inicial (só na primeira vez) */
.hint{position:fixed;left:50%;bottom:28px;z-index:25;transform:translateX(-50%);padding:12px 18px;border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;animation:rise .6s var(--ease)}

/* Névoa de transição */
.fx{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden}
.veil{position:absolute;inset:-20%;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse 50% 60% at 50% 50%,rgba(223,251,102,.75),rgba(102,251,194,.55) 40%,rgba(53,209,134,.0) 72%)}


/* ---------------- Impressão / PDF: um diapositivo por página ---------------- */
@page{size:1920px 1080px;margin:0}
@media print{
  html,body{height:auto;overflow:visible;background:#fff}
  .entry,.ctl,.overview,.sheet,.hint,.fx{display:none!important}
  .stage{position:static;overflow:visible}
  .slide{position:relative;left:auto;top:auto;margin:0;transform:none!important;visibility:visible!important;break-after:page;page-break-after:always;opacity:1!important;filter:none!important}
  [data-build]{opacity:1!important;transform:none!important}
  .a,.ln > span{opacity:1!important;transform:none!important;clip-path:none!important}
}

/* Movimento reduzido */
@media (prefers-reduced-motion:reduce){
  .mist.drift{animation:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------------- Componentes dos diapositivos ---------------- */
[data-active="0"]{display:none!important}
.mtab{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 24px;border-radius:999px;font-size:21px;font-weight:500;transition:background .35s var(--ease),color .35s}
.mtab svg{width:24px;height:24px}
.mtab[aria-selected="true"]{background:var(--ink);color:#fff}
.mtab:not([aria-selected="true"]):hover{background:rgba(10,15,12,.06)}
.factor{display:grid;justify-items:start;gap:10px;padding:20px;border-radius:18px;border:1px solid var(--line);background:#fff;text-align:left}
.factor[aria-selected="true"]{background:var(--forest);border-color:var(--forest);color:var(--on-dark)}
.factor[aria-selected="true"] .ico:not(svg){background:var(--lime)}
/* Fluxo */
.fl-row{display:flex;justify-content:center}
.fl-line{width:2px;height:28px;background:var(--ink-3)}
.fterm{display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.fdec{position:relative;display:grid;place-items:center;width:150px;height:150px}
.fdec::before{content:"";position:absolute;inset:24px;transform:rotate(45deg);border-radius:18px;background:var(--forest)}
.fdec span{position:relative;color:var(--on-dark);font-size:17px;font-weight:600;text-align:center;max-width:100px;line-height:1.2}
.fl-branches{display:grid;gap:18px;width:100%;margin-top:6px;position:relative;padding-top:28px}
.fl-branches::before{content:"";position:absolute;top:0;left:16.6%;right:16.6%;height:28px;border:2px solid var(--ink-3);border-bottom:0;border-radius:14px 14px 0 0}
.fl-branch{display:grid;gap:8px;justify-items:center}
.fl-blabel{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.fnode{position:relative;display:grid;gap:6px;width:340px;padding:18px 54px 18px 22px;border-radius:18px;background:#fff;border:1.5px solid var(--line);text-align:left}
.fl-branch .fnode{width:100%}
.fnode b{font-size:21px;letter-spacing:-.01em}
.fn-tag{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink)}
.fn-text{font-size:16px;line-height:1.38;color:var(--ink-2);display:none}
.fnode.is-on .fn-text{display:block}
/* Marcação discreta de que cada passo abre: "+" no canto, que roda para "×" quando aberto */
.fn-more{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid currentColor;opacity:.55;transition:transform .45s var(--ease),opacity .3s}
.fn-more svg{width:14px;height:14px}
.fnode:hover .fn-more,.fnode:focus-visible .fn-more{opacity:1}
.fnode.is-on .fn-more{transform:rotate(45deg);opacity:1}
.slide.is-current .fnode.dark:not(.is-on) .fn-more{animation:fnpulse 2.4s var(--ease) 1.2s 3}
@keyframes fnpulse{0%{box-shadow:0 0 0 0 rgba(223,251,102,.55)}70%{box-shadow:0 0 0 12px rgba(223,251,102,0)}100%{box-shadow:0 0 0 0 rgba(223,251,102,0)}}
.fl-hint{display:flex;align-items:center;gap:10px;margin-top:20px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.fl-hint span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor}
.fl-hint svg{width:11px;height:11px}
.fnode.dark{background:var(--forest);color:var(--on-dark);border-color:var(--forest)}
.fnode.dark .fn-tag{color:var(--lime)} .fnode.dark .fn-text{color:var(--on-dark-2)}
.fnode.lime{background:var(--lime);border-color:#c9e34f}
.fnode.mint{background:var(--mint);border-color:transparent}
.fnode.is-on{box-shadow:0 0 0 3px var(--ink),0 24px 50px -24px rgba(10,15,12,.4)}
/* Studio */
.sfeat{display:flex;align-items:center;gap:16px;min-height:52px;padding:0 18px;border-radius:14px;font-size:20px;font-weight:500;text-align:left;transition:background .3s,color .3s}
.sfeat .mono{font-size:13px;color:var(--ink-3)}
.sfeat:hover{background:rgba(10,15,12,.05)}
.sfeat[aria-selected="true"]{background:var(--ink);color:#fff}
.sfeat[aria-selected="true"] .mono{color:var(--lime)}
.sfeat-card{animation:rise .6s var(--ease)}
/* Setores */
.scard{position:relative;display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;padding:24px 24px 64px;border-radius:20px;background:var(--bone);border:1px solid transparent;min-height:250px}
.scard:nth-child(4n+1){background:var(--mint)}
.scard__go{position:absolute;left:24px;bottom:22px;display:grid;place-items:center;color:var(--ink);transition:transform .45s var(--ease)}
.scard__go svg{width:22px;height:22px}
.scard--link{text-decoration:none;color:inherit}
.scard__site{position:absolute;left:24px;bottom:22px;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(10,15,12,.3)}
.scard__site svg{width:16px;height:16px}
.scard:hover .scard__go{transform:rotate(90deg)}
/* Perguntas */
.ask{display:grid;gap:10px;justify-items:start;padding:30px 32px;border-radius:24px;max-width:520px}
.ask__q{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.ask__t{font-size:21px;color:var(--ink-2);line-height:1.4}
.ask__btn{margin-top:12px;height:56px;font-size:18px}
.faq{border-top:1px solid var(--line-2);align-self:start}
.faq__item{border-bottom:1px solid var(--line-2)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-size:28px;font-weight:500;letter-spacing:-.02em;text-align:left}
.faq__ico{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;flex:none;transition:transform .5s var(--ease),background .3s,color .3s}
.faq__ico svg{width:22px;height:22px}
.faq__item.is-open .faq__ico{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.faq__a > div{overflow:hidden}
.faq__a p{padding:0 72px 30px 0}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
/* Linhas temporais */
.tline{position:relative;padding-top:56px}
.tline::before{content:"";position:absolute;left:0;right:0;top:14px;height:2px;background:var(--line-2)}
.tl__step{position:relative}
.tl__step::before{content:"";position:absolute;top:-48px;left:0;width:16px;height:16px;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px var(--mint)}
.jr::before{content:"";position:absolute;left:0;right:0;top:26px;height:2px;background:var(--line);z-index:-1}
/* Builds: escondidos até ao passo correspondente */
[data-build]{transition:opacity .7s var(--ease),transform .9s var(--ease),filter .7s var(--ease)}
.slide [data-build].is-pending{opacity:0;transform:translateY(28px);filter:blur(6px)}
@media screen{:root body .stage .print-only{display:none}}
.print-deck{display:none}
@media print{
  body.has-print-deck .stage{display:none!important}
  body.has-print-deck .print-deck{display:block}
}

.cbtn[aria-pressed="true"]{background:var(--ink);color:#fff}
body[data-tone="dark"] .cbtn[aria-pressed="true"]{background:var(--lime);color:var(--ink)}

/* WhatsApp (proposta) */
.iphone .status .ios-icons{display:flex;align-items:center;gap:6px;padding-bottom:3px}
.wa-day{align-self:center;background:#fff;border-radius:8px;padding:4px 10px;font-size:12px;color:#667;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.wa-img{display:flex;align-items:center;gap:10px;width:250px;border-radius:8px;margin-bottom:6px;background:#f6f7f8;border:1px solid #e5e7e9;padding:10px 12px;font-size:13px;font-weight:500;color:#333}
.wa-audio{display:flex;align-items:center;gap:8px;width:250px;padding-bottom:4px}
.wa-audio .play{width:0;height:0;border-left:14px solid #54656f;border-top:9px solid transparent;border-bottom:9px solid transparent}
.wa-audio .wave{flex:1;height:26px;display:flex;align-items:center;gap:2px}
.wa-audio .wave i{flex:1;background:#8a9a92;border-radius:2px}
.wa-input{position:absolute;left:0;right:0;bottom:0;height:92px;background:#f6f5f3;display:flex;align-items:flex-start;gap:10px;padding:12px 14px}
.wa-input div{flex:1;height:40px;border-radius:20px;background:#fff;border:1px solid #e3e0dc;font-size:15px;color:#999;display:flex;align-items:center;padding:0 16px}
.wa-input i{width:40px;height:40px;border-radius:50%;background:#1daa61}
.iphone .wa-body{max-height:690px;overflow:hidden}
/* Ficheiros */
.file{text-align:center}
.file svg{width:124px;height:150px;display:block;margin:0 auto 14px;filter:drop-shadow(0 16px 20px rgba(10,15,12,.12))}
.file b{display:block;font-size:21px}
.file span{display:block;margin-top:4px;font-size:17px;color:var(--ink-3)}
.arrow-r{position:relative;align-self:center;height:2px;margin:0 8px;background:var(--ink-3)}
.arrow-r::after{content:"";position:absolute;right:-1px;top:-5px;border-left:10px solid var(--ink-3);border-top:6px solid transparent;border-bottom:6px solid transparent}
/* Studio: barras por agente */
.st-vbars{display:flex;align-items:flex-end;gap:14px}
.st-vbars div{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.st-vbars i{width:100%;background:#0a0f0c;border-radius:6px 6px 2px 2px}
.st-vbars b{font-family:var(--mono);font-size:12px}
.st-vbars span{font-size:12px;font-weight:600;text-align:center;white-space:nowrap}
/* Biometria: pilares de altura crescente e linha da conversa */
.bio{display:flex;flex-direction:column}
.bio__pills{display:flex;align-items:flex-end;gap:16px;height:320px}
.bio__pill{flex:1;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:20px 10px 22px;border-radius:999px;background:#fff;border:1px solid var(--line);transition:background .4s var(--ease),color .4s,transform .45s var(--ease),box-shadow .4s}
.bio__pill:hover{transform:translateY(-4px)}
.bio__pill[aria-selected="true"]{background:var(--lime);border-color:#c9e34f;box-shadow:0 24px 50px -24px rgba(10,15,12,.35)}
.bio__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--mint)}
.bio__pill[aria-selected="true"] .bio__ico{background:var(--forest);color:var(--lime)}
.bio__label{font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.bio__panel{margin-top:40px}
.bio__line{position:relative;height:92px;border-radius:18px;background:#fff;border:1px solid var(--line);overflow:visible}
.bio__zone--call{position:absolute;left:12%;right:18%;top:0;bottom:0;background:var(--bone);border-radius:14px}
.bio__wave{position:absolute;left:14%;right:20%;top:22px;bottom:22px;color:var(--forest)}
.bio__wave .wave{height:100%}
.bio__mark{position:absolute;top:-10px;bottom:-10px;display:grid;place-items:center;border-radius:14px;background:var(--forest);color:var(--lime);box-shadow:0 18px 40px -18px rgba(10,15,12,.5);animation:markIn .8s var(--ease)}
.bio__mark.is-band{background:rgba(14,42,28,.86)}
.bio__mark svg{width:26px;height:26px}
@keyframes markIn{from{opacity:0;transform:scale(.8)}}
.bio__tick{position:absolute;bottom:-34px;transform:translateX(-50%);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.bio__tick--after{transform:translateX(-80%)}

/* Janela de agendamento (calendário, como no site) */
.sheet.booking{background:rgba(10,15,12,.72)}
.sheet.booking .sheet__card{width:min(1080px,100%);height:min(820px,calc(100svh - 48px));padding:0;background:#fff;border-radius:18px;overflow:hidden}
.sheet.booking iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sheet.booking .sheet__close{z-index:3;background:#fff}
.sheet.booking .sheet__close:hover{background:var(--lime)}
.ctl__progress{z-index:21}

/* Logótipos em caixas iguais, com as afinações por marca do site (aenvo.ai), a preto e em grelha */
.logos--box{display:grid;grid-template-columns:repeat(4,104px);gap:34px 40px;align-items:center}
.logos--box .logo{display:grid;place-items:center;width:104px;height:36px}
.logos--box .logo img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0);opacity:.86}
.logos--box .logo--shopify img,.logos--box .logo--stripe img,.logos--box .logo--pix img,.logos--box .logo--vtex img,.logos--box .logo--zendesk img,.logos--box .logo--salesforce img,.logos--box .logo--aws img{height:30px}
.logos--box .logo--mastercard img{height:28px}
.logos--box .logo--visa img,.logos--box .logo--odoo img{width:76px;height:auto}
.logos--box .logo--googlepay img{width:68px;height:auto}
.logos--box .logo--applepay img,.logos--box .logo--mbway img{width:auto;height:38px}
.logos--box .logo--jumpseller{width:132px}
.logos--box .logo--oracle img{height:16px}
/* Biometria: textos mais acima e pilares não selecionados translúcidos (deixa ver a névoa) */
.bio__pill{padding:22px 10px 46px}
.bio__pill:not([aria-selected="true"]){background:rgba(255,255,255,.3);border-color:rgba(10,15,12,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bio__pill:not([aria-selected="true"]) .bio__ico{background:rgba(217,247,230,.7)}

/* Jornada: a linha não passa por trás das legendas; cartão do contexto translúcido sobre a névoa */
.jr__label{position:relative;z-index:1;background:#fff;padding:4px 12px;border-radius:999px;margin-left:-6px}
.jr__step .ico:not(svg){position:relative;z-index:1}
.jr-ctx{background:rgba(243,246,238,.45);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}
.jr-ctx .pill{background:rgba(255,255,255,.75)!important}
.logos--box .logo--visa img{width:76px;height:auto}
.logos--box .logo--mastercard img{height:28px}

.scard > .mono:first-child{text-transform:uppercase;letter-spacing:.08em}

/* Demonstração do agente AENVO: convite no diapositivo e widget do site no canto inferior direito */
.agent-cue{position:absolute;right:230px;bottom:92px;z-index:3}
.agent-cue__txt,.agent-cue__alt{display:inline-flex;align-items:center;gap:14px;height:64px;padding:0 18px 0 24px;border-radius:999px;font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.agent-cue__dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(53,209,134,.5);animation:cuepulse 2.2s var(--ease) infinite}
.agent-cue__arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff}
.agent-cue__arrow svg{width:18px;height:18px;transform:rotate(45deg)}
.agent-cue__alt{display:none;text-decoration:none}
.agent-cue__alt svg{width:20px;height:20px}
.agent-cue{transition:opacity .4s var(--ease),transform .4s var(--ease)}
.agent-cue.is-open{opacity:0;transform:translateY(8px);pointer-events:none}
.agent-cue.is-off .agent-cue__txt{display:none}
.agent-cue.is-off .agent-cue__alt{display:inline-flex}
@keyframes cuepulse{0%{box-shadow:0 0 0 0 rgba(53,209,134,.55)}70%{box-shadow:0 0 0 12px rgba(53,209,134,0)}100%{box-shadow:0 0 0 0 rgba(53,209,134,0)}}
.agent-frame{position:fixed;right:0;bottom:0;width:120px;height:130px;border:0;background:transparent;color-scheme:light dark;z-index:25;opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}
.agent-frame.is-ready{opacity:1;pointer-events:auto}

/* PDF e impressão: a névoa vem de imagens (o Chrome desenha mal os gradientes radiais grandes ao imprimir) */
@media print{
  .mist{animation:none!important;transform:none!important;inset:0!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important}
  .mist.tl{background:url("../img/mist/tl.png") center/100% 100% no-repeat!important}
  .mist.br{background:url("../img/mist/br.png") center/100% 100% no-repeat!important}
  .mist.tr{background:url("../img/mist/tr.png") center/100% 100% no-repeat!important}
  .mist.full{background:url("../img/mist/full.png") center/100% 100% no-repeat!important}
  .mist.dark{background:url("../img/mist/dark.png") center/100% 100% no-repeat!important}
  /* Perguntas frequentes: todas abertas e sem os botões +/× */
  .faq__a{grid-template-rows:1fr!important}
  .faq__ico{display:none!important}
  .agent-cue,.agent-frame{display:none!important}
  /* Sombras suaves: o Pré-visualizar do Mac desenha-as como blocos escuros. No PDF ficam só contornos finos. */
  *,*::before,*::after{box-shadow:none!important;text-shadow:none!important}
  [style*="box-shadow"],.glass,.studio,.bio__pill[aria-selected="true"],.bio__mark{box-shadow:0 0 0 1px rgba(10,15,12,.1)!important}
  .iphone{box-shadow:inset 0 0 0 3px #3a3d40,inset 0 0 0 7px #0b0c0d!important}
  .fnode.is-on{box-shadow:0 0 0 3px var(--ink)!important}
  .tl__step::before{box-shadow:0 0 0 7px var(--mint)!important}
  .file svg{filter:none!important}
  /* Fluxo: no PDF, todos os passos abertos com a respetiva descrição */
  .fnode .fn-text{display:block!important}
  .fn-more,.fl-hint{display:none!important}
  .fnode{padding-right:22px!important}
}
