/* Ridgepole · leandrosousa.dev/ridgepole
   Mundo: noite escura com uma luz violeta por cima (a cor do produto). Geist e Geist Mono self-hosted.
   Formas: cartões 18px, molduras de ecrã 14px, controlos em pílula. Elevação por borda de 1px, nunca borda + sombra larga. */
@font-face{font-family:'Geist';src:url(fonts/geist-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;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:'Geist';src:url(fonts/geist-latin-ext-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:'Geist Mono';src:url(fonts/geist-mono-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:'Geist Mono';src:url(fonts/geist-mono-latin-ext-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1E9F}

:root{
  --bg:#08080b; --bg1:#0c0c11; --bg2:#111118; --tile:#f5f5f7;
  --text:#ededf0; --mut:#a1a1ab; --dim:#80808b;
  --line:rgba(255,255,255,.075); --line2:rgba(255,255,255,.13); --line3:rgba(255,255,255,.2);
  --ac:#8b5cf6; --acl:#b3a1ff; --acd:#6d3fe0;
  --ok:#34d399;
  --f:'Geist',ui-sans-serif,system-ui,-apple-system,sans-serif; --fm:'Geist Mono',ui-monospace,Menlo,monospace;
  --eo:cubic-bezier(.23,1,.32,1); --eio:cubic-bezier(.77,0,.175,1);
  --mx:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--f);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;font-feature-settings:"ss01","cv11"}
::selection{background:rgba(139,92,246,.55);color:#fff}
:focus-visible{outline:2px solid var(--acl);outline-offset:3px;border-radius:6px}
input,textarea{caret-color:var(--acl)}
html{scrollbar-color:#26262e var(--bg)}
::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#23232b;border:3px solid var(--bg);border-radius:10px}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
img{height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
code{font-family:var(--fm)}
.wrap{max-width:var(--mx);margin:0 auto;padding:0 24px}

/* ---------- navegação ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background-color .3s var(--eo),border-color .3s var(--eo),backdrop-filter .3s}
.nav.solid{background:rgba(8,8,11,.72);border-bottom-color:var(--line);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px)}
.nav .wrap{display:flex;align-items:center;height:64px;gap:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;letter-spacing:-.02em}
.brand svg{width:22px;height:22px;color:var(--acl)}
.links{display:flex;gap:26px;font-size:14px;color:var(--mut);margin-left:12px}
.links a{transition:color .2s}.links a:hover{color:var(--text)}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang{font-size:13px;color:var(--mut);padding:7px 10px;border-radius:99px;transition:color .2s,background-color .2s}.lang:hover{color:var(--text);background:rgba(255,255,255,.06)}
@media (max-width:820px){.links{display:none}}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:99px;font-size:15px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;transition:transform .16s var(--eo),background-color .2s,color .2s,border-color .2s,box-shadow .2s}
.btn:active{transform:scale(.97)}
.btn.sm{height:36px;padding:0 15px;font-size:14px}
.btn.primary{background:#fff;color:#0a0a0f}
.btn.ghost{background:rgba(255,255,255,.04);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2)}
@media (hover:hover){.btn.primary:hover{background:#e9e4ff}.btn.ghost:hover{background:rgba(255,255,255,.08)}}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--eo)}
@media (hover:hover){.btn:hover svg.go{transform:translateX(2px)}}

/* comando copiável */
.cmd{display:inline-flex;align-items:center;gap:12px;height:44px;max-width:100%;padding:0 6px 0 16px;border-radius:99px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line2);font-family:var(--fm);font-size:13.5px;color:var(--mut);transition:box-shadow .2s,background-color .2s}
.cmd:hover{box-shadow:inset 0 0 0 1px var(--line3)}
.cmd .p{color:var(--acl)}
.cmd .c{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cmd .copy{flex:0 0 auto;height:32px;min-width:84px;padding:0 12px;border-radius:99px;background:rgba(255,255,255,.07);color:var(--text);font-family:var(--f);font-size:13px;font-weight:500;display:inline-grid;place-items:center;transition:background-color .2s,transform .16s var(--eo)}
.cmd .copy:active{transform:scale(.96)}
.cmd .copy span{grid-area:1/1;transition:opacity .2s,filter .2s,transform .25s var(--eo)}
.cmd .copy .b{opacity:0;filter:blur(3px);transform:translateY(4px)}
.cmd.done .copy{background:rgba(52,211,153,.16);color:#a7f3d0}.cmd.done .copy .a{opacity:0;filter:blur(3px);transform:translateY(-4px)}.cmd.done .copy .b{opacity:1;filter:none;transform:none}

/* ---------- herói ---------- */
.hero{position:relative;padding:150px 0 0;text-align:center;isolation:isolate}
.hero .beam{position:absolute;inset:-120px 0 auto;height:900px;z-index:-1;pointer-events:none;background:radial-gradient(60% 55% at 50% 0%,rgba(139,92,246,.30),rgba(139,92,246,.07) 55%,transparent 75%)}
.pill{display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 14px 0 5px;border-radius:99px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line2);font-size:13.5px;color:var(--mut);transition:box-shadow .2s,color .2s}
.pill:hover{color:var(--text);box-shadow:inset 0 0 0 1px var(--line3)}
.pill b{height:24px;padding:0 9px;border-radius:99px;background:rgba(139,92,246,.22);color:#d8ceff;font-weight:500;font-size:12.5px;display:inline-flex;align-items:center}
.pill svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
h1{margin:26px auto 0;font-size:clamp(44px,7.2vw,86px);font-weight:600;letter-spacing:-.04em;line-height:1.02;text-wrap:balance}
h1 .soft{color:#8f8f9b}
.sub{margin:22px auto 0;max-width:34em;color:var(--mut);font-size:clamp(17px,1.6vw,19px);line-height:1.5;text-wrap:pretty}
.hero .ctas{margin-top:34px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.stage{position:relative;margin:72px auto 0;max-width:1180px;padding:0 24px;perspective:2200px}
.frame{position:relative;border-radius:14px;padding:8px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1px var(--line2),0 50px 110px -30px rgba(0,0,0,.85);transform-origin:50% 0;transform:rotateX(18deg) scale(.94);will-change:transform}
.frame img{border-radius:8px;width:100%;height:auto;background:#140d2a}
.frame::before{content:"";position:absolute;left:12%;right:12%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(210,195,255,.8),transparent)}
.stage .fade{position:absolute;left:0;right:0;bottom:-2px;height:38%;background:linear-gradient(transparent,var(--bg) 88%);pointer-events:none;z-index:2}

/* entrada do herói: escalonada, de quase visível, sem vir do nada */
.in-hero{opacity:0;transform:translateY(10px);filter:blur(6px);animation:rise .9s var(--eo) forwards;animation-delay:calc(var(--d,0) * 70ms + 80ms)}
@keyframes rise{to{opacity:1;transform:none;filter:none}}

/* ---------- faixa "corre em" ---------- */
.runs{padding:26px 0 0;text-align:center}
.runs p{font-size:14px;color:var(--dim)}
.runs .logos{margin-top:22px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 46px}
.runs .logos img{height:26px;width:auto;opacity:.75;transition:opacity .2s}
.runs .logos img:hover{opacity:1}

/* ---------- secções ---------- */
.sec{padding:150px 0 0}
.head{max-width:680px}
.head.c{margin:0 auto;text-align:center}
h2{font-size:clamp(34px,4.6vw,56px);font-weight:600;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}
h2 .soft{color:#8f8f9b}
.head p{margin-top:18px;color:var(--mut);font-size:18px;line-height:1.55;text-wrap:pretty}
.head.c p{margin-left:auto;margin-right:auto;max-width:36em}
.link{display:inline-flex;align-items:center;gap:6px;margin-top:22px;color:var(--acl);font-weight:500;font-size:15px}
.link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .2s var(--eo)}
@media (hover:hover){.link:hover svg{transform:translateX(3px)}}

/* ---------- parede de apps ---------- */
.apps{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
.wall-wrap{position:relative;perspective:1600px;height:520px;display:grid;place-items:center;-webkit-mask-image:radial-gradient(75% 70% at 50% 50%,#000 55%,transparent 100%);mask-image:radial-gradient(75% 70% at 50% 50%,#000 55%,transparent 100%)}
.wall{display:grid;grid-template-columns:repeat(6,76px);gap:18px;transform:rotateX(28deg) rotateZ(-14deg);transform-style:preserve-3d;will-change:transform}
.wall .t{width:76px;height:76px;border-radius:19px;background:var(--tile);display:grid;place-items:center;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 14px 28px -12px rgba(0,0,0,.7);transition:transform .35s var(--eo)}
.wall .t img{width:64%;height:64%;object-fit:contain}
@media (hover:hover){.wall .t:hover{transform:translateZ(18px) scale(1.06)}}
.cats{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px}
.cats span{font-size:13.5px;color:var(--mut);padding:6px 12px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line2)}
@media (max-width:900px){.apps{grid-template-columns:minmax(0,1fr)}.wall-wrap{height:380px;overflow:hidden}.wall{grid-template-columns:repeat(6,52px);gap:11px}.wall .t{width:52px;height:52px;border-radius:13px}}
@media (max-width:420px){.wall{grid-template-columns:repeat(6,44px);gap:9px}.wall .t{width:44px;height:44px;border-radius:11px}}

/* ---------- bento ---------- */
.bento{margin-top:64px;display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.card{position:relative;overflow:hidden;border-radius:18px;background:var(--bg1);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;isolation:isolate}
.card::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(179,161,255,.10),transparent 45%)}
@media (hover:hover){.card:hover::after{opacity:1}}
.card .tx{position:relative;z-index:2;padding:28px 28px 0}
.card h3{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.card p{margin-top:8px;color:var(--mut);font-size:15px;line-height:1.5;max-width:40ch}
.card .vis{position:relative;flex:1;min-height:0}
.b-cc{grid-column:span 4;grid-row:span 2;min-height:560px;background:radial-gradient(90% 70% at 70% 100%,rgba(139,92,246,.24),transparent 70%),var(--bg1)}
.b-cc .bg{position:absolute;inset:auto -30% -10% -6%;opacity:.35;filter:blur(1px) saturate(1.1);border-radius:12px;overflow:hidden}
.b-cc .panel{position:absolute;right:28px;bottom:-28px;width:min(58%,370px);border-radius:16px;box-shadow:0 30px 70px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.08);transition:transform .6s var(--eo)}
@media (hover:hover){.b-cc:hover .panel{transform:translateY(-8px)}}
.b-ph{grid-column:span 2;grid-row:span 2;min-height:560px;background:linear-gradient(180deg,var(--bg1),#0f0b1d)}
.phone{position:absolute;left:50%;bottom:-160px;width:256px;transform:translateX(-50%);border-radius:48px;padding:9px;background:linear-gradient(160deg,#3a3a46,#16161c 40%,#24242d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 0 0 3px #0c0c10,0 40px 80px -24px rgba(0,0,0,.9);transition:transform .6s var(--eo)}
.phone::before,.phone::after{content:"";position:absolute;width:3px;border-radius:2px;background:#2c2c36}
.phone::before{left:-3px;top:112px;height:54px}.phone::after{right:-3px;top:130px;height:78px}
.phone .scr{position:relative;border-radius:40px;overflow:hidden;background:#1b1238}
.phone .scr img{width:100%;height:auto}
.phone .island{position:absolute;top:10px;left:50%;width:84px;height:25px;border-radius:14px;background:#000;transform:translateX(-50%)}
.phone .sb{position:absolute;top:14px;left:28px;right:20px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:12.5px;font-weight:600;letter-spacing:-.01em}
.phone .sb .icons{display:flex;align-items:center;gap:5px}.phone .sb svg{height:10px;width:auto;fill:currentColor}
.notif{position:absolute;z-index:4;left:50%;top:6px;width:min(300px,88%);display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:start;padding:11px 12px;border-radius:20px;background:rgba(38,36,52,.78);backdrop-filter:blur(22px) saturate(1.6);-webkit-backdrop-filter:blur(22px) saturate(1.6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 18px 40px -14px rgba(0,0,0,.8);opacity:0;transform:translate(-50%,-14px) scale(.97);transition:opacity .5s var(--eo) .7s,transform .7s var(--eo) .7s}
.b-ph.on .notif{opacity:1;transform:translate(-50%,0)}
.notif img{width:38px;height:38px;border-radius:10px}
.notif b{display:block;font-size:12px;font-weight:500;color:#b9b9c4;letter-spacing:0}
.notif span{display:block;font-size:14px;font-weight:600;color:#fff;margin-top:1px}
.notif small{display:block;font-size:13px;color:#d6d6de;line-height:1.35;margin-top:1px}
.notif i{font-style:normal;font-size:12px;color:#9a9aa6}
@media (hover:hover){.b-ph:hover .phone{transform:translateX(-50%) translateY(-10px)}}
.b-fi{grid-column:span 3;min-height:440px}
.b-br{grid-column:span 3;min-height:440px}
.shot-in{position:absolute;left:28px;right:-2px;bottom:-2px;top:auto;border-radius:12px 0 0 0;overflow:hidden;box-shadow:0 0 0 1px var(--line2);background:#120c24}
.shot-in img{width:100%;height:auto}
.b-fi .shot-in{height:270px}.b-fi .shot-in img{object-fit:cover;object-position:top left;height:100%}
.b-br .shot-in{height:270px}.b-br .shot-in img{object-fit:cover;object-position:center;height:100%}
.b-sm{grid-column:span 2;min-height:320px}
@media (max-width:980px){.bento{grid-template-columns:1fr 1fr}.b-cc,.b-ph,.b-fi,.b-br,.b-sm{grid-column:span 2;grid-row:auto}.b-cc{min-height:500px}.b-ph{min-height:540px}}
@media (max-width:620px){.bento{grid-template-columns:1fr}.b-cc,.b-ph,.b-fi,.b-br,.b-sm{grid-column:auto}.b-cc .panel{width:78%;right:16px}}

/* caminho SMB por cima do ecrã de ficheiros */
.smb{position:absolute;z-index:3;right:18px;bottom:18px;display:flex;align-items:center;gap:9px;height:38px;padding:0 14px 0 11px;border-radius:99px;background:rgba(20,18,30,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 12px 30px -12px rgba(0,0,0,.8);font-size:12.5px;color:#e6e1ff}
.smb svg{width:16px;height:16px;fill:none;stroke:var(--acl);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:620px){.smb{right:12px;bottom:14px;font-size:11.5px}}
/* diagrama de acesso remoto (geometria, não ilustração) */
.net{position:absolute;inset:auto 0 26px 0;display:flex;justify-content:center}
.net svg{width:86%;height:auto;overflow:visible}
.net .n{fill:#15151d;stroke:var(--line3);stroke-width:1}
.net .i{fill:none;stroke:var(--mut);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.net .w{fill:none;stroke:rgba(179,161,255,.35);stroke-width:1.5;stroke-dasharray:3 6}
.net .pkt{fill:var(--acl)}
.net text{font-family:var(--f);font-size:11px;fill:var(--dim)}

/* lista de backups (componente real em miniatura) */
.bk{position:absolute;left:28px;right:28px;bottom:26px;display:flex;flex-direction:column;gap:8px}
.bk div{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border-radius:10px;background:#14141b;box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;color:var(--mut)}
.bk div b{color:var(--text);font-weight:500}
.bk div i{margin-left:auto;font-style:normal;font-family:var(--fm);font-size:12px;color:var(--dim)}
.bk svg{width:16px;height:16px;fill:none;stroke:var(--ok);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bk div:nth-child(2){opacity:.7}.bk div:nth-child(3){opacity:.45}

/* utilizadores */
.users{position:absolute;left:28px;right:28px;bottom:26px;display:flex;flex-direction:column;gap:8px}
.users div{display:flex;align-items:center;gap:12px;height:48px;padding:0 12px;border-radius:12px;background:#14141b;box-shadow:inset 0 0 0 1px var(--line)}
.users .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:600;color:#0a0a0f}
.users b{font-size:14px;font-weight:500}.users span{font-size:12.5px;color:var(--dim);margin-left:auto}

/* ---------- Guard ---------- */
.guard{margin-top:0;display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding:44px;border-radius:22px;background:radial-gradient(70% 120% at 0% 0%,rgba(124,92,255,.28),transparent 60%),var(--bg1);box-shadow:inset 0 0 0 1px var(--line2)}
.guard img{width:132px;height:132px;border-radius:30px;box-shadow:0 22px 44px -16px rgba(0,0,0,.75)}
.guard h3{font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-.03em}
.soon{display:inline-flex;align-items:center;height:28px;padding:0 12px;margin-left:10px;vertical-align:.35em;border-radius:99px;font-size:13px;font-weight:500;letter-spacing:0;color:#e4dcff;background:linear-gradient(110deg,rgba(139,92,246,.2) 35%,rgba(210,195,255,.42) 50%,rgba(139,92,246,.2) 65%) 0 0/250% 100%;box-shadow:inset 0 0 0 1px rgba(179,161,255,.38);animation:soon 3.6s var(--eio) infinite}
@keyframes soon{0%{background-position:120% 0}60%,100%{background-position:-20% 0}}
.guard .chips span{opacity:.8}
.guard p{margin-top:10px;color:var(--mut);font-size:17px;max-width:52ch}
.chips{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:13px;padding:6px 11px;border-radius:99px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);color:#d4d4dc}
@media (max-width:700px){.guard{grid-template-columns:1fr;padding:28px}.guard img{width:96px;height:96px;border-radius:22px}}

/* ---------- princípios ---------- */
.zero{margin-top:56px;border-top:1px solid var(--line)}
.zero .r{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:baseline;padding:34px 0;border-bottom:1px solid var(--line)}
.zero .r h3{font-size:clamp(30px,4.2vw,52px);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.zero .r h3 span+span{color:#8f8f9b}
.zero .r p{color:var(--mut);font-size:17px;max-width:42ch}
@media (max-width:760px){.zero .r{grid-template-columns:1fr;gap:12px}}

/* ---------- instalar ---------- */
.inst{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.steps{margin-top:34px;display:flex;flex-direction:column;gap:22px}
.steps>div{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:start}.steps>div>div{padding-top:4px}
.steps .k{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:600;box-shadow:inset 0 0 0 1px var(--line3);color:var(--text)}
.steps b{font-weight:600;font-size:16px;letter-spacing:-.01em}.steps p{color:var(--mut);font-size:15px;margin-top:2px}
.early{margin-top:26px;font-size:14px;color:var(--dim)}.early a{color:var(--mut);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line3)}
.term{border-radius:16px;background:#0b0b10;box-shadow:inset 0 0 0 1px var(--line2),0 40px 90px -40px rgba(0,0,0,.9);overflow:hidden;font-family:var(--fm);font-size:13.5px;line-height:1.75}
.term .bar{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-bottom:1px solid var(--line)}
.term .bar i{width:11px;height:11px;border-radius:50%;background:#2a2a33}
.term .bar span{margin-left:auto;font-family:var(--f);font-size:12.5px;color:var(--dim)}
.term .body{padding:22px 22px 24px;color:var(--mut)}
.term .cl{color:var(--text);word-break:break-all}.term .cl .p{color:var(--acl)}
.term .cur{display:inline-block;width:8px;height:16px;margin-left:2px;vertical-align:-3px;background:var(--text);animation:blink 1.05s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.term .ln{opacity:0;transform:translateY(4px);transition:opacity .4s var(--eo),transform .5s var(--eo)}
.term .ln.on{opacity:1;transform:none}
.term .ok{color:var(--ok)}.term .u{color:var(--text);text-decoration:underline;text-decoration-color:rgba(179,161,255,.5);text-underline-offset:3px}
.term .copyrow{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line2)}
@media (max-width:900px){.inst{grid-template-columns:minmax(0,1fr)}}

/* ---------- FAQ ---------- */
.faq{margin:56px auto 0;max-width:820px;border-top:1px solid var(--line)}
.q{border-bottom:1px solid var(--line)}
.q button{width:100%;display:flex;align-items:center;gap:16px;justify-content:space-between;text-align:left;padding:24px 0;font-size:18px;font-weight:500;letter-spacing:-.015em}
.q button i{flex:0 0 auto;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line2);display:grid;place-items:center;transition:transform .3s var(--eo),background-color .2s}
.q button i svg{width:12px;height:12px;stroke:var(--mut);stroke-width:2;fill:none;stroke-linecap:round}
.q .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--eo)}
.q .a > div{overflow:hidden}
.q .a p{padding:0 48px 24px 0;color:var(--mut);font-size:16px;line-height:1.6}
.q.open .a{grid-template-rows:1fr}.q.open button i{transform:rotate(45deg);background:rgba(255,255,255,.05)}

/* ---------- fecho ---------- */
.final{position:relative;margin-top:150px;padding:120px 0 130px;text-align:center;overflow:hidden;border-top:1px solid var(--line);isolation:isolate}
.final::before{content:"";position:absolute;inset:auto -20% -60% -20%;height:120%;z-index:-1;background:radial-gradient(50% 50% at 50% 100%,rgba(139,92,246,.32),transparent 70%)}
.final .roof{width:64px;height:64px;margin:0 auto 28px;color:var(--acl)}
.final h2{max-width:16ch;margin:0 auto}
.final .ctas{margin-top:34px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* ---------- rodapé ---------- */
footer{border-top:1px solid var(--line);padding:56px 0 0;overflow:hidden}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.fgrid .fh{font-size:13px;letter-spacing:0;font-weight:500;color:var(--dim);margin-bottom:12px}
.fgrid a.brand{display:inline-flex}.fgrid a{display:block;font-size:14.5px;color:var(--mut);padding:4px 0;transition:color .2s}.fgrid a:hover{color:var(--text)}
.fgrid .who{font-size:14.5px;color:var(--mut);max-width:30ch;margin-top:12px}
.word{margin-top:64px;font-size:clamp(80px,19vw,250px);font-weight:700;letter-spacing:-.06em;line-height:.8;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);user-select:none;transform:translateY(8%)}
@media (max-width:760px){.fgrid{grid-template-columns:1fr 1fr}}

/* ---------- revelar ao fazer scroll ---------- */
.rv{opacity:0;transform:translateY(16px);filter:blur(4px);transition:opacity .8s var(--eo),transform 1s var(--eo),filter .8s var(--eo)}
.rv.on{opacity:1;transform:none;filter:none}
.rv.d1{transition-delay:.06s}.rv.d2{transition-delay:.12s}.rv.d3{transition-delay:.18s}

@media (prefers-reduced-motion:reduce){
  .in-hero{animation:none;opacity:1;transform:none;filter:none}
  .rv{opacity:1;transform:none;filter:none;transition:none}
  .frame{transform:none!important}.wall{transform:rotateX(28deg) rotateZ(-14deg)!important}
  .term .ln{opacity:1;transform:none}
  .notif{transition:none}
  .soon{animation:none;background-position:50% 0}
  html{scroll-behavior:auto}
}
@media (max-width:640px){
  .hero{padding-top:118px}.sec{padding-top:110px}.final{margin-top:110px;padding:90px 0 100px}
  .cmd{font-size:12.5px}
  .hero .ctas .cmd{width:100%}
}

/* em breve */
.soonchip{display:inline-flex;align-items:center;gap:9px;height:48px;padding:0 18px;border-radius:99px;font-size:15px;font-weight:500;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.soonchip i{width:8px;height:8px;border-radius:50%;background:#f5b84b;box-shadow:0 0 0 4px rgba(245,184,75,.16)}
.soonbox{display:grid;place-items:center;gap:10px;text-align:center;padding:56px 24px;border-radius:18px;background:radial-gradient(60% 70% at 50% 35%,rgba(124,92,255,.2),transparent 70%),#0b0b10;box-shadow:inset 0 0 0 1px var(--line2)}
.soonbox svg{width:72px;height:72px;color:#7c5cff;margin-bottom:8px}
.soonbox b{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.02em}
.soonbox span{color:var(--mut);font-size:16px}
