:root{
  --porcelain: oklch(0.985 0.003 330);
  --mist: oklch(0.962 0.006 330);
  --line: oklch(0.90 0.008 330);
  --ink: oklch(0.21 0.012 330);
  --ink-soft: oklch(0.45 0.016 330);
  --plum: oklch(0.40 0.11 345);
  --plum-deep: oklch(0.33 0.10 345);
  --night: oklch(0.17 0.012 330);
  --night-2: oklch(0.225 0.014 330);
  --night-3: oklch(0.27 0.016 330);
  --orchid: oklch(0.80 0.07 345);
  --on-night: oklch(0.96 0.004 330);
  --on-night-soft: oklch(0.76 0.012 330);
  --on-plum-soft: oklch(0.88 0.035 345);
  --bubble: oklch(0.935 0.026 345);
  --white: oklch(1 0 0);

  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --content: 1080px;
  --gutter: clamp(20px, 5vw, 48px);
  --section: clamp(104px, 13vw, 184px);

  --z-sticky: 10;
  --z-nav: 50;

  --t-hero: clamp(2.25rem, 1.5rem + 2.4vw, 3.25rem);
  --t-h2: clamp(1.9rem, 1.3rem + 1.9vw, 2.75rem);
  --t-h3: clamp(1.2rem, 1.1rem + 0.35vw, 1.4rem);
  --t-lead: clamp(1.1rem, 1rem + 0.4vw, 1.3rem);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; interpolate-size:allow-keywords; }
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
body{
  margin:0;
  background:var(--porcelain);
  color:var(--ink);
  font-family:'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size:1.0625rem;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; }
h1,h2,h3{ margin:0; font-weight:600; text-wrap:balance; }
p{ margin:0; text-wrap:pretty; }
:focus-visible{ outline:2px solid var(--plum); outline-offset:3px; border-radius:6px; }
.dark :focus-visible, .cta :focus-visible{ outline-color:var(--orchid); }
[id]{ scroll-margin-top:60px; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.wrap{ width:100%; max-width:calc(var(--content) + var(--gutter) * 2); margin:0 auto; padding:0 var(--gutter); }
.h2{ font-size:var(--t-h2); line-height:1.08; letter-spacing:-0.024em; }
.lead{ font-size:var(--t-lead); line-height:1.5; letter-spacing:-0.005em; color:var(--ink-soft); }
.center{ text-align:center; }
.center .lead{ margin-left:auto; margin-right:auto; }

/* botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:999px;
  background:var(--plum); color:var(--porcelain);
  font:500 1rem/1.2 inherit; font-family:inherit; text-decoration:none; letter-spacing:-0.005em;
  transition:background-color .3s var(--ease), transform .3s var(--ease);
}
.btn:hover{ background:var(--plum-deep); }
.btn:active{ transform:scale(.98); }
.more{
  display:inline-flex; align-items:center; gap:4px;
  color:var(--plum); font-weight:500; text-decoration:none; letter-spacing:-0.005em;
}
.more span{ transition:transform .35s var(--ease); }
.more:hover{ text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.more:hover span{ transform:translateX(3px); }

/* navegação */
.nav{
  position:fixed; inset:0 0 auto; z-index:var(--z-nav); height:52px;
  background:color-mix(in oklch, var(--porcelain) 80%, transparent);
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid transparent;
  transition:background-color .4s var(--ease), border-color .4s var(--ease), color .4s var(--ease);
}
.nav.scrolled{ border-bottom-color:color-mix(in oklch, var(--line) 70%, transparent); }
/* no topo das páginas com a linha de ícones, o menu fica só com o nome e o botão */
.nav-links{ transition:opacity .45s var(--ease), transform .45s var(--ease), visibility .45s; }
.nav.pre{ background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; border-bottom-color:transparent; }
.nav.pre .nav-links{ opacity:0; visibility:hidden; transform:translateY(-6px); pointer-events:none; }
.nav.on-dark{ background:color-mix(in oklch, var(--night) 72%, transparent); color:var(--on-night); border-bottom-color:oklch(1 0 0 / .06); }
.nav-in{ height:100%; max-width:calc(1180px + var(--gutter) * 2); margin:0 auto; padding:0 var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand{ display:inline-flex; align-items:center; gap:9px; text-decoration:none; font-weight:600; font-size:1rem; letter-spacing:-0.01em; }
.mark{ width:19px; height:19px; color:var(--plum); flex:none; transition:color .4s var(--ease); }
.nav.on-dark .mark{ color:var(--orchid); }
.nav-links{ display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0; }
.nav-links a{ text-decoration:none; font-size:.875rem; color:var(--ink-soft); transition:color .25s; }
.nav-links a:hover{ color:var(--ink); }
.nav.on-dark .nav-links a{ color:var(--on-night-soft); }
.nav.on-dark .nav-links a:hover{ color:var(--on-night); }
.nav-cta{ font-size:.8125rem; padding:7px 14px; }
.nav.on-dark .nav-cta{ background:var(--on-night); color:var(--night); }
@media (max-width: 760px){ .nav-links{ display:none; } }

/* hero */
.hero{ padding:calc(52px + clamp(72px, 13vh, 150px)) 0 clamp(8px, 3vh, 32px); text-align:center; }
.kicker{ display:inline-flex; align-items:center; gap:9px; color:var(--plum); font-weight:500; font-size:1.0625rem; letter-spacing:-0.005em; }
.kicker .mark{ width:21px; height:21px; }
.hero h1{ margin:20px auto 0; font-size:var(--t-hero); line-height:1.06; letter-spacing:-0.028em; }
.hero .lead{ margin:20px auto 0; max-width:32rem; }
.actions{ margin-top:34px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 28px; }
@media (prefers-reduced-motion: no-preference){
  .hero .kicker, .hero h1, .hero .lead, .hero .actions{ animation:rise 1.2s var(--ease) both; }
  .hero h1{ animation-delay:.08s; }
  .hero .lead{ animation-delay:.18s; }
  .hero .actions{ animation-delay:.28s; }
  .js .story .phone{ animation:phoneIn 1.5s var(--ease) .3s both; }
}
@keyframes rise{ from{ opacity:0; transform:translateY(18px); filter:blur(8px); } to{ opacity:1; transform:none; filter:none; } }
@keyframes phoneIn{ from{ opacity:0; translate:0 70px; } to{ opacity:1; translate:0 0; } }

/* história rolada */
.story{ position:relative; --ph: min(690px, 82vh); --top: 0px; }
.story.multi{ --ph: min(650px, 76vh); }
.js .story{ height:420vh; }
.stage{ position:relative; }
.js .stage{ position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; }
.stage-in{ position:relative; height:100%; max-width:calc(var(--content) + var(--gutter) * 2); margin:0 auto; padding:0 var(--gutter); }
.phone-slot{ display:flex; justify-content:center; padding:24px 0 48px; }
.js .phone-slot{ position:absolute; inset:0; align-items:center; padding:0; transform:translateX(calc(var(--shift, 0) * 1px)); pointer-events:none; }
.story-side{ max-width:440px; margin:0 auto; padding:0 0 64px; display:grid; gap:36px; }
.js .story-side{ position:absolute; z-index:2; left:var(--gutter); top:50%; transform:translateY(-50%); width:min(390px, 36%); margin:0; padding:0; display:flex; flex-direction:column; gap:30px; opacity:var(--capo, 0); transition:opacity .5s var(--ease); }
.captions{ display:grid; gap:40px; }
.js .captions{ position:relative; display:block; height:190px; }
.cap h3{ font-size:clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height:1.12; letter-spacing:-0.022em; }
.cap p{ margin-top:14px; color:var(--ink-soft); font-size:1.0625rem; max-width:32ch; }
.js .cap{ position:absolute; left:0; right:0; top:0; opacity:0; transform:translateY(14px); transition:opacity .6s var(--ease), transform .8s var(--ease); pointer-events:none; }
.js .cap.on{ opacity:1; transform:none; }
.cap-set[hidden]{ display:none; }
.dots{ display:none; }
.js .dots{ display:flex; gap:6px; }
.dots i{ width:28px; height:3px; border-radius:3px; background:var(--line); transition:background-color .5s var(--ease); }
.dots i.on{ background:var(--plum); }

/* seletor de negócio */
.hero-seg{ display:none; }
@media (min-width: 960px){
  .js .hero-seg{ display:flex; flex-direction:column; align-items:center; margin-top:44px; }
  .hero-seg .seg{ justify-content:center; }
  .hero-seg .seg-label{ margin-bottom:12px; }
}
.seg-block{ display:none; }
.js .seg-block{ display:block; }
.seg-label{ font-size:.9375rem; color:var(--ink-soft); margin-bottom:12px; }
.seg{ display:flex; flex-wrap:wrap; gap:8px; }
.seg button{ font:inherit; font-size:.9375rem; font-weight:500; line-height:1.2; padding:8px 15px; border-radius:999px; border:1px solid var(--line); background:var(--white); color:var(--ink); cursor:pointer; transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.seg button:hover{ border-color:oklch(0.78 0.03 345); }
.seg button[aria-selected="true"]{ background:var(--plum); border-color:var(--plum); color:var(--porcelain); }

/* celular */
.phone{
  --pw: calc(var(--ph) / 2.12);
  position:relative; width:var(--pw); height:var(--ph); flex:none;
  border-radius:calc(var(--pw) * 0.16);
  background:oklch(0.16 0.006 330);
  padding:calc(var(--pw) * 0.03);
  box-shadow:
    0 0 0 1.5px oklch(0.38 0.01 330),
    inset 0 0 0 1px oklch(0.3 0.01 330),
    0 50px 90px -40px oklch(0.3 0.06 340 / .45),
    0 24px 40px -24px oklch(0.2 0.02 340 / .3);
}
.screen{ position:relative; height:100%; border-radius:calc(var(--pw) * 0.13); overflow:hidden; background:oklch(0.955 0.007 330); display:flex; flex-direction:column; }
.island{ position:absolute; z-index:4; top:9px; left:50%; width:31%; height:25px; border-radius:20px; background:#000; transform:translateX(-50%); }
.status{ flex:none; height:46px; padding:15px 22px 0 28px; display:flex; justify-content:space-between; align-items:flex-start; font-size:14px; font-weight:600; background:var(--white); color:var(--ink); }
.status svg{ height:12px; width:auto; }
.status .icons{ display:flex; gap:5px; align-items:center; padding-top:2px; }
.chat-head{ flex:none; display:flex; align-items:center; gap:10px; padding:6px 12px 10px 8px; background:var(--white); border-bottom:1px solid var(--line); }
.chat-head .back{ width:20px; height:20px; color:var(--plum); }
.avatar{ width:34px; height:34px; border-radius:50%; background:var(--bubble); color:var(--plum-deep); display:grid; place-items:center; font-weight:600; font-size:14px; flex:none; }
.who{ min-width:0; flex:1; }
.who b{ display:block; font-weight:600; font-size:14.5px; line-height:1.2; }
.who > span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.who span{ display:flex; align-items:center; gap:5px; font-size:11.5px; color:var(--ink-soft); }
.who span i{ width:6px; height:6px; border-radius:50%; background:var(--plum); }
.msgs{ flex:1; min-height:0; display:flex; flex-direction:column; justify-content:flex-end; padding:8px 10px 10px; overflow:hidden; }
.day{ align-self:center; font-size:11px; font-weight:500; color:var(--ink-soft); background:oklch(1 0 0 / .8); padding:3px 9px; border-radius:8px; margin-bottom:4px; }
.m{ display:grid; grid-template-rows:1fr; transition:grid-template-rows .55s var(--ease), opacity .45s var(--ease), transform .55s var(--ease); }
.m > .mi{ min-height:0; overflow:hidden; display:flex; flex-direction:column; }
.in-row .mi{ align-items:flex-start; }
.out-row .mi{ align-items:flex-end; }
.js .m.off{ grid-template-rows:0fr; opacity:0; transform:translateY(10px); }
.b{ margin-top:6px; max-width:82%; padding:7px 10px 6px; border-radius:15px; font-size:13.5px; line-height:1.38; box-shadow:0 1px .5px oklch(0.3 0.02 330 / .08); }
.in-row .b{ background:var(--white); border-bottom-left-radius:5px; }
.out-row .b{ background:var(--bubble); border-bottom-right-radius:5px; }
.b .from{ display:block; font-size:11px; font-weight:600; color:var(--plum); margin-bottom:1px; }
.b .meta{ float:right; margin:5px 0 -2px 10px; font-size:10.5px; color:var(--ink-soft); display:inline-flex; align-items:center; gap:3px; }
.b .meta svg{ width:15px; height:10px; color:var(--plum); }
.tour{ display:block; margin:2px 0 6px; border-radius:10px; overflow:hidden; background:var(--white); }
.tour img{ width:100%; aspect-ratio:16/10; object-fit:cover; }
.tour-t{ display:block; padding:7px 9px 8px; }
.tour strong{ display:block; font-size:12.5px; font-weight:600; }
.tour small{ display:block; font-size:11px; color:var(--ink-soft); }
.typing{ margin-top:6px; }
.typing span{ display:inline-flex; gap:4px; padding:11px 12px; border-radius:15px; border-bottom-right-radius:5px; background:var(--bubble); }
.typing i{ width:6px; height:6px; border-radius:50%; background:var(--plum); opacity:.35; animation:blink 1.2s infinite; }
.typing i:nth-child(2){ animation-delay:.2s; } .typing i:nth-child(3){ animation-delay:.4s; }
@keyframes blink{ 0%,60%,100%{ opacity:.25; } 30%{ opacity:.9; } }
.inputbar{ flex:none; display:flex; align-items:center; gap:8px; padding:8px 10px 20px; background:var(--white); border-top:1px solid var(--line); }
.inputbar span{ flex:1; font-size:13px; color:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:7px 12px; }
.inputbar i{ width:30px; height:30px; border-radius:50%; background:var(--plum); display:grid; place-items:center; color:var(--porcelain); }
.inputbar i svg{ width:15px; height:15px; }
.notif{
  position:absolute; z-index:5; top:50px; left:8px; right:8px;
  display:flex; gap:10px; align-items:flex-start;
  padding:10px 12px; border-radius:18px;
  background:oklch(0.985 0.004 330 / .88);
  -webkit-backdrop-filter:blur(16px) saturate(160%); backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 12px 30px -10px oklch(0.25 0.03 340 / .35), 0 0 0 .5px oklch(0.5 0.02 330 / .2);
  font-size:12.5px; line-height:1.35;
  transform:translateY(-140%); opacity:0;
  transition:transform .7s var(--ease), opacity .5s var(--ease);
}
.notif.on{ transform:none; opacity:1; }
.no-js-notif .notif{ transform:none; opacity:1; position:relative; top:auto; }
.notif .app{ width:30px; height:30px; border-radius:8px; background:var(--plum); color:var(--porcelain); display:grid; place-items:center; flex:none; }
.notif .app svg{ width:17px; height:17px; }
.notif b{ font-weight:600; font-size:13px; }
.notif .t{ display:flex; justify-content:space-between; gap:8px; }
.notif .t small{ color:var(--ink-soft); font-size:11px; }

@media (max-width: 959px){
  .story{ --ph: min(540px, 58svh); --top: 66px; }
  .story.multi{ --ph: min(500px, 53svh); --top: 110px; }
  .js .story{ height:400vh; }
  .js .phone-slot{ inset:auto 0 auto 0; top:var(--top); height:auto; transform:none; }
  .js .story-side{ left:var(--gutter); right:var(--gutter); top:calc(var(--top) + var(--ph) + 18px); bottom:0; transform:none; width:auto; max-width:440px; margin:0 auto; gap:14px; opacity:var(--capo, 0); align-items:center; }
  .js .captions{ width:100%; height:auto; flex:1; }
  .js .cap{ text-align:center; }
  .cap h3{ font-size:1.375rem; }
  .cap p{ margin:8px auto 0; font-size:1rem; }
  .js .dots{ order:-1; }
  .js .seg-block{ position:absolute; left:calc(-1 * var(--gutter)); right:calc(-1 * var(--gutter)); top:calc(-1 * (var(--ph) + 68px)); }
  .seg-label{ display:none; }
  .seg{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding:2px var(--gutter); -webkit-mask-image:linear-gradient(to right, transparent, #000 14px, #000 calc(100% - 14px), transparent); mask-image:linear-gradient(to right, transparent, #000 14px, #000 calc(100% - 14px), transparent); }
  .seg::-webkit-scrollbar{ display:none; }
  .seg button{ flex:none; padding:7px 13px; font-size:.875rem; }
}
@media (max-width: 959px) and (max-height: 700px){
  .story{ --ph: min(500px, 52svh); }
  .story.multi{ --ph: min(460px, 47svh); }
  .cap p{ font-size:.9375rem; }
}

/* inteligência nada artificial */
.intel{ padding:var(--section) 0; }
.intel .h2{ max-width:22ch; margin:0 auto; }
.intel .h2 em{ font-style:normal; color:var(--plum); }
.intel .lead{ margin-top:24px; max-width:36rem; }
.traits{ margin:clamp(56px, 8vw, 96px) auto 0; display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:44px 56px; text-align:left; }
.traits svg{ width:28px; height:28px; color:var(--plum); }
.traits h3{ margin-top:18px; font-size:1.1875rem; letter-spacing:-0.012em; }
.traits p{ margin-top:8px; color:var(--ink-soft); font-size:1rem; max-width:30ch; }

/* painel (escuro) */
.dark{ background:var(--night); color:var(--on-night); }
.dark .lead{ color:var(--on-night-soft); }
.panel{ padding:var(--section) 0; overflow:hidden; }
.panel .lead{ margin-top:22px; max-width:38rem; }
.window{
  margin:clamp(56px, 7vw, 88px) auto 0; max-width:var(--content);
  border-radius:18px; overflow:hidden;
  background:var(--night-2);
  box-shadow:0 0 0 1px oklch(1 0 0 / .07), 0 60px 120px -40px oklch(0 0 0 / .7), 0 0 120px -30px oklch(0.4 0.1 345 / .35);
  font-size:13px; text-align:left;
}
.titlebar{ height:38px; display:flex; align-items:center; gap:7px; padding:0 14px; border-bottom:1px solid oklch(1 0 0 / .06); position:relative; }
.titlebar i{ width:11px; height:11px; border-radius:50%; background:oklch(1 0 0 / .14); }
.titlebar span{ position:absolute; left:50%; transform:translateX(-50%); color:var(--on-night-soft); font-size:12px; }
.win-body{ display:grid; grid-template-columns:200px 1fr; min-height:340px; }
.side{ border-right:1px solid oklch(1 0 0 / .06); padding:16px 10px; display:flex; flex-direction:column; gap:2px; }
.side a{ display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; color:var(--on-night-soft); text-decoration:none; font-size:13px; }
.side a svg{ width:16px; height:16px; }
.side a.on{ background:oklch(1 0 0 / .06); color:var(--on-night); }
.board{ padding:18px 18px 22px; min-width:0; }
.board-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.board-head b{ font-size:15px; font-weight:600; }
.chips{ display:flex; gap:8px; }
.chip{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; background:oklch(1 0 0 / .06); color:var(--on-night-soft); font-size:12px; }
.chip i{ width:6px; height:6px; border-radius:50%; background:var(--orchid); }
.cols{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; }
.col h4{ margin:0 0 10px; font-size:12px; font-weight:500; color:var(--on-night-soft); }
.card{ display:grid; grid-template-rows:1fr; transition:grid-template-rows .7s var(--ease), opacity .5s var(--ease); }
.card > div{ min-height:0; overflow:hidden; }
.card .c{ margin-bottom:8px; background:var(--night-3); border-radius:10px; padding:10px 11px; box-shadow:0 0 0 1px oklch(1 0 0 / .04); transition:box-shadow .6s var(--ease); }
.card b{ display:block; font-weight:600; font-size:13px; }
.card p{ color:var(--on-night-soft); font-size:12px; line-height:1.4; margin-top:2px; }
.tag{ display:inline-block; margin-top:8px; font-size:11px; padding:2px 8px; border-radius:6px; background:oklch(1 0 0 / .07); color:var(--on-night-soft); }
.tag.iris{ background:oklch(0.8 0.07 345 / .14); color:var(--orchid); }
.js .card.later{ grid-template-rows:0fr; opacity:0; }
.js .window.moved .card.now{ grid-template-rows:0fr; opacity:0; }
.js .window.moved .card.later{ grid-template-rows:1fr; opacity:1; }
.js .window.moved .card.later .c{ box-shadow:0 0 0 1px var(--orchid), 0 10px 30px -12px oklch(0.8 0.07 345 / .5); }
.panel-notes{ margin-top:48px; display:flex; flex-wrap:wrap; justify-content:center; gap:18px 44px; color:var(--on-night-soft); font-size:.9375rem; }
.panel-notes span{ display:inline-flex; align-items:center; gap:10px; }
.panel-notes svg{ width:20px; height:20px; color:var(--orchid); flex:none; }
.panel-notes span{ text-align:left; }
@media (max-width: 760px){ .panel-notes{ flex-direction:column; align-items:center; } .panel-notes span{ width:min(100%, 330px); } }
@media (max-width: 860px){
  .win-body{ grid-template-columns:1fr; min-height:0; }
  .side{ display:none; }
  .cols{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .col.opt{ display:none; }
  .chips .chip:first-child{ display:none; }
}

/* serviços */
.services{ background:var(--mist); padding:var(--section) 0 clamp(80px, 10vw, 128px); }
.services .lead{ margin-top:18px; max-width:34rem; }
.rail{
  margin-top:clamp(44px, 5vw, 64px);
  display:flex; gap:20px; overflow-x:auto; overscroll-behavior-x:contain;
  --rail-edge: max(var(--gutter), calc((100% - var(--content)) / 2));
  scroll-snap-type:x mandatory; scroll-padding-inline:var(--rail-edge);
  padding:8px var(--rail-edge) 28px;
  scrollbar-width:none;
}
.rail::-webkit-scrollbar{ display:none; }
.tile{
  position:relative; flex:0 0 clamp(282px, 29vw, 372px); height:clamp(470px, 45vw, 540px);
  scroll-snap-align:start; border-radius:28px; overflow:hidden; isolation:isolate;
  background:var(--white); color:var(--ink); text-decoration:none;
  display:flex; flex-direction:column;
  box-shadow:0 1px 2px oklch(0.3 0.02 330 / .04);
  transition:transform .6s var(--ease), box-shadow .6s var(--ease);
}
.tile:hover{ transform:translateY(-4px); box-shadow:0 30px 60px -30px oklch(0.3 0.05 340 / .28); }
.tile-t{ position:relative; z-index:2; padding:28px 64px 0 28px; }
.tile h3{ font-size:var(--t-h3); line-height:1.15; letter-spacing:-0.015em; }
.tile p{ margin-top:8px; font-size:.96875rem; line-height:1.45; color:var(--ink-soft); }
.go{ position:absolute; z-index:3; top:22px; right:22px; width:32px; height:32px; border-radius:50%; background:var(--mist); display:grid; place-items:center; color:var(--ink); transition:transform .4s var(--ease), background-color .3s; }
.go svg{ width:14px; height:14px; }
.tile.photo{ background:var(--night); color:var(--on-night); }
.tile.photo p{ color:oklch(0.97 0 0 / .86); }
.tile.photo .go, .tile.nightt .go{ background:oklch(1 0 0 / .16); color:var(--on-night); }
.tile.nightt{ background:var(--night-2); color:var(--on-night); }
.tile.nightt p{ color:var(--on-night-soft); }
.tile.plumt{ background:var(--plum); color:var(--porcelain); }
.tile.plumt p{ color:var(--on-plum-soft); }
.tile.plumt .go{ background:oklch(1 0 0 / .16); color:var(--porcelain); }
.vis{ position:relative; flex:1; margin-top:24px; }

/* tour */
.pan{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.pan img{ height:100% !important; width:auto; max-width:none; }
@media (prefers-reduced-motion: no-preference){ .pan img{ animation:pan 26s ease-in-out infinite alternate; } }
@keyframes pan{ from{ transform:translateX(0); } to{ transform:translateX(calc(-100% + var(--tw, 372px))); } }
.tile.photo::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to bottom, oklch(0.13 0.02 330 / .86), oklch(0.13 0.02 330 / .5) 30%, oklch(0.13 0.02 330 / 0) 56%, oklch(0.13 0.02 330 / 0) 72%, oklch(0.13 0.02 330 / .5)); }
.tile.photo .tile-t{ text-shadow:0 1px 12px oklch(0.1 0.02 330 / .5); }
.drag{ position:absolute; z-index:2; left:50%; bottom:24px; transform:translateX(-50%); display:inline-flex; align-items:center; gap:9px; white-space:nowrap; padding:8px 14px 8px 9px; border-radius:999px; background:oklch(0.15 0.02 330 / .45); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); color:var(--on-night); font-size:12.5px; font-weight:500; }
.drag i{ width:26px; height:26px; border-radius:50%; border:1.5px solid oklch(1 0 0 / .7); display:grid; place-items:center; font-style:normal; font-size:9px; font-weight:600; }

/* site */
.browser{ position:absolute; left:28px; right:-44px; bottom:-1px; top:6px; border-radius:14px 0 0 0; overflow:hidden; background:var(--white); box-shadow:0 0 0 1px var(--line), 0 20px 40px -24px oklch(0.3 0.05 340 / .35); display:flex; flex-direction:column; }
.b-bar{ flex:none; height:30px; display:flex; align-items:center; gap:5px; padding:0 10px; background:var(--mist); border-bottom:1px solid var(--line); }
.b-bar i{ width:8px; height:8px; border-radius:50%; background:var(--line); }
.b-bar span{ margin-left:10px; font-size:10.5px; color:var(--ink-soft); background:var(--white); border-radius:6px; padding:2px 10px; }
.b-page{ position:relative; flex:1; min-height:0; }
.b-page img{ position:absolute; inset:0; width:100%; height:100% !important; object-fit:cover; object-position:30% 50%; }
.b-page::after{ content:""; position:absolute; inset:0; background:linear-gradient(to bottom, oklch(0.15 0.02 330 / .45), transparent 40%, transparent 60%, oklch(0.15 0.02 330 / .45)); }
.b-nav{ position:absolute; z-index:1; top:12px; left:14px; right:58px; display:flex; justify-content:space-between; align-items:center; color:#fff; font-size:12px; font-weight:600; }
.b-nav span{ font-size:10px; font-weight:500; background:#fff; color:var(--ink); padding:4px 9px; border-radius:999px; }
.b-title{ position:absolute; z-index:1; left:14px; bottom:14px; right:40px; color:#fff; font-size:15px; font-weight:600; line-height:1.2; letter-spacing:-0.01em; }

/* anúncio */
.ad{ position:absolute; left:50%; top:6px; transform:translateX(-50%); width:76%; border-radius:16px; overflow:hidden; background:var(--white); box-shadow:0 0 0 1px var(--line), 0 24px 44px -24px oklch(0.3 0.05 340 / .35); }
.ad-h{ display:flex; align-items:center; gap:8px; padding:9px 10px; }
.ad-h i{ width:24px; height:24px; border-radius:50%; background:var(--bubble); }
.ad-h b{ display:block; font-size:12px; font-weight:600; line-height:1.2; }
.ad-h small{ display:block; font-size:10.5px; color:var(--ink-soft); }
.ad img{ width:100%; aspect-ratio:1; object-fit:cover; }
.ad-c{ display:flex; justify-content:space-between; align-items:center; padding:9px 11px; font-size:12px; font-weight:600; background:var(--mist); }
.ad-c svg{ width:12px; height:12px; }

/* mapa */
.map{ position:absolute; inset:0; overflow:hidden; background:oklch(0.945 0.008 330); }
.map svg.roads{ position:absolute; inset:0; width:100%; height:100%; }
.pin{ position:absolute; left:52%; top:22%; width:34px; transform:translate(-50%, -100%); color:var(--plum); filter:drop-shadow(0 6px 8px oklch(0.3 0.08 345 / .35)); }
.place{ position:absolute; left:14px; right:14px; bottom:14px; background:var(--white); border-radius:14px; padding:12px 13px; box-shadow:0 14px 30px -16px oklch(0.3 0.05 340 / .4); }
.place b{ display:block; font-size:13.5px; font-weight:600; }
.place small{ display:block; font-size:11.5px; color:var(--ink-soft); margin-top:1px; }
.place .open{ color:var(--plum); font-weight:500; }
.acts{ display:flex; gap:6px; margin-top:10px; }
.acts span{ flex:1; text-align:center; font-size:11px; font-weight:500; padding:6px 0; border-radius:999px; border:1px solid var(--line); color:var(--plum); }
.acts span.p{ background:var(--plum); border-color:var(--plum); color:var(--porcelain); }

/* prospecção */
.list{ position:absolute; left:22px; right:22px; top:4px; }
.search{ display:flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px; background:var(--night-3); font-size:12.5px; color:var(--on-night); }
.search svg{ width:14px; height:14px; color:var(--on-night-soft); }
.rows{ margin-top:12px; display:grid; gap:8px; }
.row{ display:flex; align-items:center; gap:10px; padding:9px 11px; border-radius:12px; background:oklch(1 0 0 / .045); }
.row > i{ width:26px; height:26px; border-radius:50%; background:oklch(0.8 0.07 345 / .22); flex:none; }
.row .l{ flex:1; display:grid; gap:5px; }
.row .l s{ display:block; height:7px; border-radius:4px; background:oklch(1 0 0 / .22); text-decoration:none; }
.row .l s + s{ height:5px; width:60%; background:oklch(1 0 0 / .1); }
.row .ok{ display:flex; gap:4px; }
.row .ok svg{ width:14px; height:14px; color:var(--orchid); }
.ready{ margin-top:12px; display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--orchid); }
.ready i{ width:6px; height:6px; border-radius:50%; background:var(--orchid); }

/* sistemas */
.dash{ position:absolute; left:24px; right:-36px; top:6px; bottom:-36px; border-radius:14px; background:var(--porcelain); color:var(--ink); padding:14px 16px; box-shadow:0 24px 50px -24px oklch(0.1 0.05 340 / .6); }
.dash-h{ display:flex; justify-content:space-between; align-items:center; font-size:12.5px; font-weight:600; }
.dash-h span{ font-size:10.5px; font-weight:500; color:var(--ink-soft); background:var(--mist); padding:3px 8px; border-radius:999px; }
.dash svg.chart{ width:100%; height:92px; margin-top:12px; }
.bars{ margin-top:10px; display:grid; gap:9px; }
.bars div{ display:grid; grid-template-columns:62px 1fr; align-items:center; gap:10px; font-size:11px; color:var(--ink-soft); }
.bars s{ display:block; height:7px; border-radius:4px; background:var(--mist); position:relative; overflow:hidden; text-decoration:none; }
.bars s::after{ content:""; position:absolute; inset:0 auto 0 0; width:var(--w); background:var(--plum); border-radius:4px; opacity:.85; }

.rail-ctl{ display:flex; justify-content:flex-end; gap:10px; }
.rail-ctl button{ width:40px; height:40px; border-radius:50%; border:0; background:oklch(0.9 0.008 330); color:var(--ink); display:grid; place-items:center; cursor:pointer; transition:background-color .25s, opacity .25s; }
.rail-ctl button:hover{ background:oklch(0.87 0.01 330); }
.rail-ctl button:disabled{ opacity:.4; cursor:default; }
.rail-ctl svg{ width:16px; height:16px; }

/* foto que abre */
.expand{ position:relative; background:var(--porcelain); }
.js .expand{ height:230vh; }
.x-stage{ position:relative; height:100vh; height:100svh; overflow:hidden; }
.js .x-stage{ position:sticky; top:0; }
.x-frame{ position:absolute; inset:0; overflow:hidden; background:var(--night); }
.js .x-frame{ clip-path:inset(var(--iy, 0px) var(--ix, 0px) round var(--ir, 0px)); }
.x-frame img{ width:100%; height:100% !important; object-fit:cover; transform:scale(var(--is, 1)); transform-origin:50% 60%; }
.x-frame::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, oklch(0.12 0.02 330 / .82), oklch(0.12 0.02 330 / .35) 38%, oklch(0.12 0.02 330 / 0) 62%); opacity:var(--xt, 1); }
.x-copy{ position:absolute; z-index:2; left:0; right:0; bottom:clamp(40px, 9vh, 96px); color:var(--on-night); }
.js .x-copy{ opacity:var(--xt, 1); transform:translateY(calc((1 - var(--xt, 1)) * 24px)); }
.x-copy .h2{ max-width:16ch; }
.x-copy p{ margin-top:18px; max-width:34rem; color:oklch(0.97 0.003 330 / .88); font-size:var(--t-lead); line-height:1.5; }
.x-copy .more{ margin-top:22px; color:var(--on-night); }

/* projetos */
.projects{ padding:var(--section) 0; }
.projects .lead{ margin-top:18px; max-width:34rem; }
.proj-grid{ margin-top:clamp(48px, 6vw, 72px); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:clamp(28px, 4vw, 48px) clamp(20px, 3vw, 32px); }
.proj figure{ margin:0; border-radius:22px; overflow:hidden; background:var(--mist); }
.proj figure img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform 1.2s var(--ease); }
.proj:hover figure img{ transform:scale(1.03); }
.proj h3{ margin-top:22px; font-size:var(--t-h3); letter-spacing:-0.015em; }
.proj .where{ color:var(--ink-soft); font-size:.9375rem; margin-top:2px; }
.proj p.what{ margin-top:10px; color:var(--ink-soft); max-width:40ch; }
.proj .links{ margin-top:14px; display:flex; flex-wrap:wrap; gap:8px 22px; }
.proj.wide{ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr); align-items:center; gap:clamp(28px, 5vw, 72px); background:var(--mist); border-radius:28px; padding:clamp(28px, 4vw, 56px); }
.proj.wide h3{ margin-top:0; }
.school{ background:var(--white); border-radius:16px; box-shadow:0 0 0 1px var(--line), 0 30px 60px -36px oklch(0.3 0.05 340 / .35); overflow:hidden; font-size:13px; }
.school-h{ display:flex; justify-content:space-between; align-items:center; padding:13px 16px; border-bottom:1px solid var(--line); }
.school-h b{ font-weight:600; }
.school-h span{ font-size:11.5px; color:var(--ink-soft); }
.school ul{ list-style:none; margin:0; padding:6px 0; }
.school li{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 16px; }
.school li + li{ border-top:1px solid oklch(0.94 0.006 330); }
.st{ font-size:11px; font-weight:500; padding:3px 9px; border-radius:999px; background:var(--mist); color:var(--ink-soft); white-space:nowrap; }
.st.done{ background:oklch(0.93 0.03 345); color:var(--plum-deep); }
@media (max-width: 760px){
  .proj-grid{ grid-template-columns:1fr; }
  .proj.wide{ grid-template-columns:1fr; }
}

/* como funciona */
.how{ padding:0 0 var(--section); }
.how .h2{ max-width:24ch; }
.steps{ position:relative; margin-top:clamp(52px, 6vw, 80px); display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:40px; list-style:none; padding:0; }
.steps::before, .steps::after{ content:""; position:absolute; left:14px; right:14px; top:14px; height:1px; background:var(--line); }
.steps::after{ background:var(--plum); transform-origin:left; transform:scaleX(1); }
.steps li{ position:relative; padding-top:52px; }
.num{ position:absolute; top:0; left:0; z-index:1; width:29px; height:29px; border-radius:50%; background:var(--plum); color:var(--porcelain); display:grid; place-items:center; font-size:13px; font-weight:600; box-shadow:0 0 0 6px var(--porcelain); }
.steps h3{ font-size:var(--t-h3); letter-spacing:-0.015em; }
.steps p{ margin-top:10px; color:var(--ink-soft); max-width:30ch; }
@media (max-width: 760px){
  .steps{ grid-template-columns:1fr; gap:36px; }
  .steps::before, .steps::after{ left:14px; right:auto; top:14px; bottom:14px; width:1px; height:auto; }
  .steps::after{ transform-origin:top; }
  .steps li{ padding:0 0 0 52px; }
}

/* quem faz */
.about{ padding:0 0 var(--section); }
.about-in{ max-width:760px; margin:0 auto; text-align:center; }
.about .h2{ margin:0 auto; }
.about blockquote{ margin:28px 0 0; font-size:clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); line-height:1.5; letter-spacing:-0.01em; color:var(--ink); text-wrap:pretty; }
.sign{ margin-top:30px; display:inline-flex; align-items:center; gap:14px; text-align:left; }
.sign .mono{ width:48px; height:48px; border-radius:50%; background:var(--plum); color:var(--porcelain); display:grid; place-items:center; font-weight:600; font-size:1rem; letter-spacing:.02em; }
.sign b{ display:block; font-weight:600; }
.sign span{ display:block; color:var(--ink-soft); font-size:.9375rem; }

/* perguntas */
.faq{ background:var(--mist); padding:var(--section) 0; }
.faq-in{ display:grid; grid-template-columns:minmax(0, 0.8fr) minmax(0, 1.4fr); gap:clamp(32px, 6vw, 96px); align-items:start; }
.faq .lead{ margin-top:18px; }
.qa{ border-top:1px solid var(--line); }
.qa details{ border-bottom:1px solid var(--line); }
.qa summary{ text-wrap:balance; list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; font-size:1.1875rem; font-weight:500; letter-spacing:-0.01em; line-height:1.35; }
.qa summary::-webkit-details-marker{ display:none; }
.plus{ position:relative; width:14px; height:14px; flex:none; color:var(--plum); transition:transform .45s var(--ease); }
.plus::before, .plus::after{ content:""; position:absolute; left:0; right:0; top:50%; height:1.5px; margin-top:-.75px; background:currentColor; border-radius:2px; }
.plus::after{ transform:rotate(90deg); }
.qa details[open] .plus{ transform:rotate(45deg); }
.qa details p{ padding:0 40px 26px 0; color:var(--ink-soft); max-width:62ch; }
.qa details::details-content{ height:0; overflow:clip; transition:height .5s var(--ease), content-visibility .5s allow-discrete; }
.qa details[open]::details-content{ height:auto; }
@media (max-width: 860px){ .faq-in{ grid-template-columns:1fr; } }

/* convite final */
.cta{ background:var(--plum); color:var(--porcelain); padding:var(--section) 0; text-align:center; }
.cta .h2{ max-width:26ch; margin:0 auto; }
.cta .lead{ margin:22px auto 0; max-width:34rem; color:var(--on-plum-soft); }
.cta .btn{ margin-top:36px; background:var(--porcelain); color:var(--plum-deep); padding:14px 26px; font-size:1.0625rem; }
.cta .btn:hover{ background:var(--white); }
.cta small{ text-wrap:balance; display:block; margin-top:20px; color:var(--on-plum-soft); font-size:.9375rem; }

/* rodapé */
.foot{ padding:48px 0 44px; font-size:.875rem; color:var(--ink-soft); }
.foot-in{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px 40px; }
.foot .brand{ color:var(--ink); }
.foot nav{ display:flex; flex-wrap:wrap; gap:10px 26px; }
.foot nav a{ text-decoration:none; }
.foot nav a:hover{ color:var(--ink); }
.foot .legal{ width:100%; padding-top:22px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; font-size:.8125rem; }

/* documento enviado na conversa */
.doc{ display:flex; align-items:center; gap:10px; margin:2px 0 6px; padding:9px 10px; border-radius:10px; background:var(--white); }
.doc i{ flex:none; width:32px; height:38px; border-radius:6px; background:var(--plum); color:var(--porcelain); display:grid; place-items:end center; padding-bottom:6px; font-style:normal; font-size:9px; font-weight:600; letter-spacing:.02em; }
.doc strong{ display:block; font-size:12.5px; font-weight:600; line-height:1.25; }
.doc small{ display:block; font-size:11px; color:var(--ink-soft); }
.scene{ display:contents; }
.scene[hidden], .board-set[hidden]{ display:none !important; }

/* agentes */
.agents{ padding:var(--section) 0; }
.agents .lead{ margin-top:22px; max-width:38rem; }
.ag-duo{ margin-top:clamp(52px, 6vw, 80px); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; }
.ag-card{ position:relative; border-radius:28px; padding:clamp(28px, 3.4vw, 44px); background:var(--mist); display:flex; flex-direction:column; min-height:440px; overflow:hidden; }
.ag-card.dark{ background:var(--night); color:var(--on-night); }
.ag-card .where{ font-size:.9375rem; color:var(--ink-soft); }
.ag-card.dark .where, .ag-card.dark p{ color:var(--on-night-soft); }
.ag-card h3{ margin-top:6px; font-size:clamp(1.5rem, 1.25rem + .8vw, 1.9rem); letter-spacing:-0.02em; line-height:1.12; }
.ag-card p{ margin-top:12px; color:var(--ink-soft); max-width:36ch; }
.ag-vis{ margin-top:auto; padding-top:32px; display:flex; flex-direction:column; gap:8px; font-size:13.5px; line-height:1.4; }
.chan{ display:flex; gap:8px; margin-bottom:6px; }
.chan span{ display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:999px; background:var(--white); font-size:12.5px; font-weight:500; }
.chan svg{ width:15px; height:15px; color:var(--plum); }
.bub{ max-width:86%; padding:9px 12px; border-radius:16px; }
.bub.in{ align-self:flex-start; background:var(--white); border-bottom-left-radius:5px; }
.bub.out{ align-self:flex-end; background:var(--bubble); border-bottom-right-radius:5px; }
.bub b{ display:block; font-size:11px; color:var(--plum); font-weight:600; }
.ag-card.dark .bub.in{ background:var(--night-3); color:var(--on-night); }
.ag-card.dark .bub.out{ background:oklch(0.8 0.07 345 / .16); color:var(--on-night); }
.ag-card.dark .bub b{ color:var(--orchid); }
.voice{ display:flex; align-items:center; gap:10px; }
.voice i{ flex:none; width:26px; height:26px; border-radius:50%; background:var(--orchid); display:grid; place-items:center; }
.voice i::before{ content:""; border-left:8px solid var(--night); border-top:5px solid transparent; border-bottom:5px solid transparent; margin-left:2px; }
.voice svg{ height:20px; width:120px; color:var(--on-night-soft); }
.voice small{ font-size:11px; color:var(--on-night-soft); }
.ag-cta{ margin-top:28px; }

.team{ margin-top:20px; border-radius:28px; background:var(--mist); padding:clamp(28px, 4vw, 56px); display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr); gap:clamp(32px, 5vw, 72px); align-items:center; }
.team h3{ font-size:clamp(1.5rem, 1.25rem + .8vw, 1.9rem); letter-spacing:-0.02em; line-height:1.12; }
.team > div > p{ margin-top:12px; color:var(--ink-soft); max-width:40ch; }
.roles{ list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px 28px; }
.roles b{ display:block; font-weight:600; font-size:1rem; }
.roles span{ display:block; color:var(--ink-soft); font-size:.9375rem; line-height:1.45; margin-top:2px; }
.group{ background:var(--white); border-radius:18px; overflow:hidden; box-shadow:0 0 0 1px var(--line), 0 30px 60px -36px oklch(0.3 0.05 340 / .35); font-size:13.5px; }
.group-h{ display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--line); }
.group-h i{ width:34px; height:34px; border-radius:50%; background:var(--plum); color:var(--porcelain); display:grid; place-items:center; flex:none; }
.group-h i svg{ width:18px; height:18px; }
.group-h b{ display:block; font-weight:600; font-size:14px; }
.group-h small{ display:block; font-size:11.5px; color:var(--ink-soft); }
.group-b{ padding:14px 14px 18px; background:oklch(0.975 0.004 330); display:flex; flex-direction:column; gap:8px; min-height:330px; justify-content:flex-end; }
.gm{ display:grid; grid-template-rows:1fr; transition:grid-template-rows .6s var(--ease), opacity .5s var(--ease), transform .6s var(--ease); }
.gm > div{ min-height:0; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; }
.gm.me > div{ align-items:flex-end; }
.js .group:not(.live) .gm{ grid-template-rows:0fr; opacity:0; transform:translateY(8px); }
.gm .bub{ max-width:90%; box-shadow:0 1px .5px oklch(0.3 0.02 330 / .08); }
.gm .who2{ display:block; font-size:11px; font-weight:600; margin-bottom:1px; }
.who2.c1{ color:oklch(0.45 0.12 345); } .who2.c2{ color:oklch(0.45 0.1 300); } .who2.c3{ color:oklch(0.45 0.09 25); } .who2.c4{ color:oklch(0.42 0.08 250); }
@media (max-width: 860px){
  .ag-duo, .team{ grid-template-columns:1fr; }
  .ag-card{ min-height:0; }
  .roles{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 480px){ .roles{ grid-template-columns:1fr; } }

/* cartão inteiro clicável que abre a ficha */
.tile{ cursor:pointer; }
.tile-open{ position:absolute; inset:0; z-index:4; border:0; border-radius:28px; background:none; padding:0; margin:0; font:inherit; color:inherit; cursor:pointer; }
.tile-open:focus-visible{ outline:2px solid var(--plum); outline-offset:3px; }
.plus-i{ width:13px; height:13px; position:relative; }
.plus-i::before, .plus-i::after{ content:""; position:absolute; left:0; right:0; top:50%; height:1.8px; margin-top:-.9px; background:currentColor; border-radius:2px; }
.plus-i::after{ transform:rotate(90deg); }
.tile:hover .go{ transform:scale(1.08); }

/* ficha do serviço */
.sheet{ width:min(880px, calc(100vw - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:0; border-radius:28px; background:var(--white); color:var(--ink); box-shadow:0 40px 120px -30px oklch(0.15 0.03 340 / .5); overflow:auto; overscroll-behavior:contain; }
.sheet::backdrop{ background:oklch(0.17 0.012 330 / .55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
@media (prefers-reduced-motion: no-preference){
  .sheet[open]{ animation:sheetIn .6s var(--ease) both; }
  .sheet[open]::backdrop{ animation:fadeIn .4s var(--ease) both; }
}
@keyframes sheetIn{ from{ opacity:0; transform:translateY(40px) scale(.98); } to{ opacity:1; transform:none; } }
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }
.sheet-in{ position:relative; padding:clamp(28px, 5vw, 64px); }
.sheet .x{ position:sticky; top:0; float:right; margin:-12px -12px 0 0; width:36px; height:36px; border-radius:50%; border:0; background:var(--mist); color:var(--ink); cursor:pointer; display:grid; place-items:center; z-index:2; }
.sheet .x::before, .sheet .x::after{ content:""; position:absolute; width:14px; height:1.8px; background:currentColor; border-radius:2px; transform:rotate(45deg); }
.sheet .x::after{ transform:rotate(-45deg); }
.sheet h2{ font-size:var(--t-h2); line-height:1.08; letter-spacing:-0.024em; max-width:18ch; }
.sheet .lead{ margin-top:16px; max-width:40rem; }
.sheet figure{ margin:32px 0 0; border-radius:18px; overflow:hidden; background:var(--mist); }
.sheet figure img{ width:100%; aspect-ratio:16/8; object-fit:cover; }
.sheet-cols{ margin-top:40px; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:36px 56px; }
.sheet h3{ font-size:1.125rem; letter-spacing:-0.01em; }
.sheet ul, .sheet ol{ margin:14px 0 0; padding:0; list-style:none; display:grid; gap:12px; color:var(--ink-soft); }
.sheet ul li{ position:relative; padding-left:24px; }
.sheet ul li::before{ content:""; position:absolute; left:2px; top:.62em; width:8px; height:8px; border-radius:50%; border:1.5px solid var(--plum); }
.sheet ol{ counter-reset:p; }
.sheet ol li{ position:relative; padding-left:36px; counter-increment:p; }
.sheet ol li::before{ content:counter(p); position:absolute; left:0; top:0; width:24px; height:24px; border-radius:50%; background:var(--plum); color:var(--porcelain); font-size:12px; font-weight:600; display:grid; place-items:center; }
.sheet ol li b, .sheet ul li b{ color:var(--ink); font-weight:600; }
.fit{ margin-top:36px; padding-top:24px; border-top:1px solid var(--line); color:var(--ink-soft); }
.fit b{ color:var(--ink); font-weight:600; }
.sheet .btn{ margin-top:28px; }
@media (max-width: 700px){ .sheet-cols{ grid-template-columns:1fr; } .sheet{ max-height:calc(100dvh - 24px); border-radius:22px; } }
html.sheet-open{ overflow:hidden; }

/* mercados */
.markets{ padding:var(--section) 0; }
.markets .lead{ margin-top:18px; max-width:38rem; }
.mk-list{ list-style:none; margin:clamp(40px, 5vw, 64px) 0 0; padding:0; border-top:1px solid var(--line); }
.mk-list a{ display:grid; grid-template-columns:minmax(0, 14rem) minmax(0, 1fr) auto; align-items:center; gap:12px 40px; padding:26px 4px; border-bottom:1px solid var(--line); text-decoration:none; transition:background-color .4s var(--ease), padding .4s var(--ease); }
.mk-list a:hover{ background:var(--mist); }
.mk-list b{ font-size:clamp(1.25rem, 1.1rem + .5vw, 1.5rem); font-weight:600; letter-spacing:-0.015em; }
.mk-list span{ color:var(--ink-soft); }
.mk-list i{ width:36px; height:36px; border-radius:50%; background:var(--mist); display:grid; place-items:center; color:var(--plum); transition:transform .4s var(--ease), background-color .3s; }
.mk-list a:hover i{ transform:translateX(4px); background:var(--white); }
.mk-list i svg{ width:14px; height:14px; }
@media (max-width: 700px){ .mk-list a{ grid-template-columns:1fr auto; } .mk-list span{ grid-column:1; grid-row:2; } .mk-list i{ grid-row:1 / span 2; grid-column:2; } }

/* prova por nicho */
.proof-rows{ list-style:none; margin:clamp(44px, 5vw, 64px) 0 0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 56px; border-top:1px solid var(--line); }
.proof-rows li{ padding:26px 0; border-bottom:1px solid var(--line); }
.proof-rows b{ display:block; font-size:1.1875rem; font-weight:600; letter-spacing:-0.012em; }
.proof-rows span{ display:block; margin-top:6px; color:var(--ink-soft); max-width:44ch; }
.proof-vis{ margin-top:clamp(40px, 5vw, 64px); display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr); gap:clamp(28px, 5vw, 72px); align-items:center; background:var(--mist); border-radius:28px; padding:clamp(28px, 4vw, 56px); }
.proof-vis h3{ font-size:var(--t-h3); letter-spacing:-0.015em; }
.proof-vis p{ margin-top:10px; color:var(--ink-soft); max-width:40ch; }
@media (max-width: 760px){ .proof-rows, .proof-vis{ grid-template-columns:1fr; } }

/* rodapé com mercados */
.foot .markets-links{ width:100%; display:flex; flex-wrap:wrap; gap:8px 22px; }
.foot .markets-links a{ text-decoration:none; }
.foot .markets-links a:hover{ color:var(--ink); }
.foot .markets-links span{ color:var(--ink); font-weight:500; }

/* linha de serviços no topo, como nas páginas de produto da Apple */
.chooser{ padding-top:10px; }
.chooser ul{ list-style:none; margin:0 auto; padding:0 var(--gutter); display:flex; justify-content:center; gap:clamp(16px, 2.6vw, 40px); max-width:calc(var(--content) + var(--gutter) * 2); }
.chooser a{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:6px 2px; text-decoration:none; color:var(--ink); font-size:.8125rem; font-weight:500; white-space:nowrap; transition:color .25s var(--ease); }
.chooser svg{ width:34px; height:34px; color:var(--ink-soft); transition:color .3s var(--ease), transform .4s var(--ease); }
.chooser a:hover svg{ color:var(--plum); transform:translateY(-2px); }
.chooser a[aria-current="page"], .chooser a[aria-current="page"] svg{ color:var(--plum); }
.hero.has-chooser{ padding-top:calc(52px + 22px); }
.hero.has-chooser .wrap{ margin-top:clamp(40px, 7vh, 84px); }
.hero .hero-seg{ margin-top:36px; }
@media (max-width: 860px){
  .chooser ul{ justify-content:flex-start; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; -webkit-mask-image:linear-gradient(to right, transparent, #000 14px, #000 calc(100% - 28px), transparent); mask-image:linear-gradient(to right, transparent, #000 14px, #000 calc(100% - 28px), transparent); }
  .chooser ul::-webkit-scrollbar{ display:none; }
  .chooser svg{ width:28px; height:28px; }
  .chooser a{ font-size:.75rem; }
}

/* serviços agrupados por necessidade */
.svc-group{ margin-top:clamp(52px, 6vw, 84px); }
.svc-head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 20px; margin-bottom:22px; }
.svc-head h3{ font-size:clamp(1.3rem, 1.15rem + .5vw, 1.6rem); letter-spacing:-0.018em; }
.svc-head p{ color:var(--ink-soft); }
.svc-grid{ max-width:calc(var(--content) + var(--gutter) * 2); margin:0 auto; padding:0 var(--gutter); display:flex; flex-wrap:wrap; gap:20px; }
.svc-grid .tile{ flex:1 1 300px; width:auto; height:clamp(440px, 38vw, 500px); }
.svc-grid.flat{ margin-top:clamp(44px, 5vw, 64px); }
@media (max-width: 860px){
  .svc-grid{ display:flex; flex-wrap:nowrap; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter); padding:4px var(--gutter) 20px; scrollbar-width:none; }
  .svc-grid::-webkit-scrollbar{ display:none; }
  .svc-grid .tile{ flex:0 0 min(82%, 340px); scroll-snap-align:start; height:460px; }
}

/* cartão da Íris e cartão de fotografia */
.mini{ position:absolute; left:22px; right:22px; top:4px; bottom:22px; border-radius:18px; background:var(--mist); padding:14px; display:flex; flex-direction:column; justify-content:flex-end; gap:7px; font-size:13px; line-height:1.4; overflow:hidden; }
.mini .chan{ margin-bottom:auto; }
.mini .bub{ max-width:88%; }
.mosaic{ position:absolute; left:22px; right:22px; top:4px; bottom:22px; display:grid; grid-template-columns:1.2fr 1fr; grid-template-rows:1fr 1fr; gap:8px; }
.mosaic img{ width:100%; height:100% !important; object-fit:cover; border-radius:14px; }
.mosaic img:first-child{ grid-row:1 / span 2; }
.reel{ position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:7px; padding:6px 12px 6px 7px; border-radius:999px; background:oklch(0.15 0.02 330 / .55); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:#fff; font-size:12px; font-weight:500; }
.reel i{ width:20px; height:20px; border-radius:50%; background:#fff; display:grid; place-items:center; }
.reel i::before{ content:""; border-left:6px solid var(--night); border-top:4px solid transparent; border-bottom:4px solid transparent; margin-left:2px; }

/* agentes: um cartão largo */
.ag-duo{ grid-template-columns:1fr; }
.ag-card.wide{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:24px 56px; align-items:center; min-height:0; }
.ag-card.wide .ag-vis{ margin-top:0; padding-top:0; }
@media (max-width: 860px){ .ag-card.wide{ grid-template-columns:1fr; } .ag-card.wide .ag-vis{ padding-top:8px; } }

/* ficha: botões lado a lado */
.sheet-actions{ margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; }
.sheet .sheet-actions .btn{ margin-top:0; }

/* diagnóstico */
.diag{ display:none; padding:var(--section) 0; }
.js .diag{ display:block; }
.diag .lead{ margin-top:18px; max-width:36rem; }
.diag-card{ margin-top:clamp(40px, 5vw, 56px); background:var(--white); border-radius:28px; box-shadow:0 0 0 1px var(--line), 0 40px 80px -50px oklch(0.3 0.05 340 / .35); padding:clamp(24px, 4vw, 48px); display:grid; gap:34px; }
.dq-t{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:1.1875rem; font-weight:600; letter-spacing:-0.01em; }
.dq-t small{ font-weight:400; font-size:.9375rem; color:var(--ink-soft); }
.dq-n{ flex:none; width:28px; height:28px; border-radius:50%; background:var(--plum); color:var(--porcelain); display:grid; place-items:center; font-size:13px; }
.dq-o{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px; }
.dq-o button{ font:inherit; font-size:.9375rem; font-weight:500; line-height:1.2; padding:10px 16px; border-radius:999px; border:1px solid var(--line); background:var(--porcelain); color:var(--ink); cursor:pointer; transition:background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.dq-o button:hover{ border-color:oklch(0.78 0.03 345); }
.dq-o button[aria-pressed="true"]{ background:var(--plum); border-color:var(--plum); color:var(--porcelain); }
.dq-go:disabled{ opacity:.4; cursor:default; }
.dq-go:disabled:hover{ background:var(--plum); }
.dres{ border-top:1px solid var(--line); padding-top:30px; }
.dres[hidden]{ display:none; }
.dres h3{ font-size:1.25rem; letter-spacing:-0.012em; }
.dres-l{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:12px; counter-reset:r; }
.dres-l li{ display:grid; grid-template-columns:auto minmax(0, 1fr) auto; gap:2px 16px; align-items:center; padding:16px 18px; border-radius:18px; background:var(--mist); counter-increment:r; }
.dres-l li::before{ content:counter(r); grid-row:1 / span 2; width:30px; height:30px; border-radius:50%; background:var(--white); color:var(--plum); display:grid; place-items:center; font-weight:600; font-size:13px; }
.dres-l b{ font-weight:600; }
.dres-l span{ grid-column:2; color:var(--ink-soft); font-size:.9375rem; }
.dres-l a{ grid-column:3; grid-row:1 / span 2; }
.dres-a{ margin-top:26px; display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; }
.dq-reset{ background:none; border:0; padding:0; cursor:pointer; font:inherit; }
@media (max-width: 600px){ .dres-l li{ grid-template-columns:auto minmax(0, 1fr); } .dres-l a{ grid-column:2; grid-row:auto; margin-top:6px; } }

/* páginas de serviço */
.svc-show{ padding:clamp(24px, 4vw, 44px) 0 0; }
.vitrine{ position:relative; overflow:hidden; border-radius:28px; aspect-ratio:16 / 8.2; background:var(--mist); }
.vitrine .vit-bg{ position:absolute; inset:0; width:100%; height:100% !important; object-fit:cover; }
.v-ads .ad{ left:auto; right:7%; top:50%; transform:translateY(-50%); width:min(300px, 44%); }
.v-site .browser{ left:7%; right:7%; top:9%; bottom:-1px; border-radius:16px 16px 0 0; }
.v-site .b-bar{ height:36px; }
.v-site .b-nav{ top:18px; left:24px; right:24px; font-size:15px; }
.v-site .b-nav span{ font-size:12px; padding:6px 12px; }
.v-site .b-title{ left:26px; bottom:26px; max-width:60%; font-size:clamp(20px, 2.4vw, 32px); }
.v-sist{ background:var(--plum); display:grid; place-items:center; }
.v-sist .school{ width:min(560px, 86%); }
.v-gmb .place{ left:7%; right:auto; bottom:9%; width:min(340px, 80%); }
.v-gmb .pin{ top:44%; width:44px; }
.v-prosp{ background:var(--night-2); color:var(--on-night); }
.v-prosp .list{ left:50%; right:auto; top:50%; transform:translate(-50%, -50%); width:min(440px, 86%); }
.v-tour .pan{ position:absolute; inset:0; }
.v-tour .pan img{ width:140% !important; object-fit:cover; }
.v-tour .drag{ bottom:28px; }
.vit-link{ position:absolute; right:22px; top:20px; z-index:3; padding:8px 14px; border-radius:999px; background:oklch(0.15 0.02 330 / .45); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); color:#fff; font-size:.875rem; }
.vit-link:hover{ text-decoration:none; }
.v-foto{ display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:10px; background:none; }
.v-foto img{ width:100%; height:100% !important; object-fit:cover; border-radius:18px; }
.v-foto img:first-child{ grid-row:1 / span 2; }
.v-foto img:nth-child(2){ grid-column:2 / span 2; }
.v-foto .reel{ right:16px; bottom:16px; }
.svc-why{ padding:clamp(64px, 8vw, 110px) 0 0; }
.svc-why .traits{ margin-top:0; }
.incl{ padding:var(--section) 0; }
.incl-cols{ margin-top:clamp(36px, 4vw, 52px); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:36px 72px; }
.incl ul, .incl ol{ margin:0; padding:0; list-style:none; display:grid; gap:14px; color:var(--ink-soft); font-size:1.0625rem; }
.incl ul li{ position:relative; padding-left:26px; }
.incl ul li::before{ content:""; position:absolute; left:2px; top:.6em; width:9px; height:9px; border-radius:50%; border:1.5px solid var(--plum); }
.incl h3{ font-size:1.125rem; margin-bottom:14px; }
.incl ol{ counter-reset:p; }
.incl ol li{ position:relative; padding-left:38px; counter-increment:p; }
.incl ol li::before{ content:counter(p); position:absolute; left:0; top:0; width:26px; height:26px; border-radius:50%; background:var(--plum); color:var(--porcelain); font-size:12px; font-weight:600; display:grid; place-items:center; }
.incl .btn{ margin-top:10px; }
@media (max-width: 760px){
  .vitrine{ aspect-ratio:4 / 5; }
  .v-ads .ad{ right:50%; transform:translate(50%, -50%); width:74%; }
  .v-site .browser{ left:5%; right:5%; top:6%; }
  .v-site .b-title{ max-width:80%; }
  .v-foto{ grid-template-columns:1fr 1fr; grid-template-rows:1.3fr 1fr 1fr; }
  .v-foto img:first-child{ grid-column:1 / span 2; grid-row:1; }
  .v-foto img:nth-child(2){ grid-column:1; grid-row:2; }
  .v-foto img:nth-child(3){ grid-column:2; grid-row:2; }
  .v-foto img:nth-child(4){ grid-column:1 / span 2; grid-row:3; }
  .incl-cols{ grid-template-columns:1fr; }
}

/* rodapé com serviços e mercados */
.foot-cols{ width:100%; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px 40px; }
.foot-cols b{ display:block; margin-bottom:8px; color:var(--ink); font-size:.8125rem; font-weight:600; }
@media (max-width: 600px){ .foot-cols{ grid-template-columns:1fr; } }

/* quem está por trás: retrato contido ao lado do texto */
.about-in{ max-width:940px; display:grid; grid-template-columns:minmax(0, 240px) minmax(0, 1fr); gap:clamp(32px, 5vw, 64px); align-items:center; text-align:left; }
.about .h2{ margin:0; }
.about-foto{ margin:0; border-radius:22px; overflow:hidden; aspect-ratio:4 / 5; background:var(--mist); }
.about-foto img{ width:100%; height:100% !important; object-fit:cover; object-position:50% 18%; }
.about blockquote{ margin-top:20px; font-size:clamp(1.1rem, 1rem + .45vw, 1.3rem); }
.sign{ margin-top:24px; }
.about-txt p{ margin-top:12px; }
@media (max-width: 760px){
  .about-in{ grid-template-columns:1fr; justify-items:center; text-align:center; gap:24px; }
  .about-foto{ width:112px; aspect-ratio:1; border-radius:50%; }
  .about-foto img{ object-position:50% 12%; }
  .about .h2{ margin:0 auto; }
  .sign{ justify-content:center; text-align:center; }
}

/* janela de aplicativo (sistemas sob medida) */
.app{ background:var(--white); color:var(--ink); border-radius:14px; overflow:hidden; box-shadow:0 0 0 1px oklch(0.3 0.03 340 / .08), 0 30px 60px -28px oklch(0.12 0.05 340 / .55); display:flex; flex-direction:column; }
.app-bar{ flex:none; height:30px; display:flex; align-items:center; gap:6px; padding:0 12px; background:var(--mist); border-bottom:1px solid var(--line); position:relative; }
.app-bar i{ width:9px; height:9px; border-radius:50%; background:oklch(0.86 0.01 330); }
.app-bar span{ position:absolute; left:50%; transform:translateX(-50%); font-size:11px; font-weight:500; color:var(--ink-soft); white-space:nowrap; }
.app-body{ flex:1; min-height:0; display:grid; grid-template-columns:auto minmax(0, 1fr); }
.app-side{ display:flex; flex-direction:column; gap:2px; padding:12px 8px; border-right:1px solid oklch(0.94 0.006 330); background:oklch(0.99 0.002 330); }
.app-side span{ display:flex; align-items:center; gap:9px; padding:7px 9px; border-radius:8px; color:var(--ink-soft); font-size:12.5px; }
.app-side span.on{ background:oklch(0.93 0.03 345); color:var(--plum-deep); font-weight:500; }
.app-side svg{ width:15px; height:15px; flex:none; }
.app-side em{ font-style:normal; }
.app-main{ padding:14px 16px 16px; min-width:0; }
.app-h{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:6px; }
.app-h b{ font-size:15px; font-weight:600; letter-spacing:-0.01em; }
.app-h small{ font-size:11px; color:var(--ink-soft); }
.app-list{ list-style:none; margin:0; padding:0; }
.app-list li{ display:grid; grid-template-columns:auto minmax(0, 1fr) auto; align-items:center; gap:10px; padding:9px 0; }
.app-list li + li{ border-top:1px solid oklch(0.95 0.005 330); }
.app-list .ico{ width:28px; height:28px; border-radius:8px; background:var(--mist); color:var(--plum); display:grid; place-items:center; }
.app-list .ico svg{ width:15px; height:15px; }
.app-list b{ display:block; font-size:12.5px; font-weight:600; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.app-list small{ display:block; font-size:11px; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.app-list .st{ font-size:10.5px; }
/* versão compacta, dentro do cartão: menu só com ícones */
.app.compacto .app-side{ padding:10px 6px; }
.app.compacto .app-side span{ padding:7px; }
.app.compacto .app-side em{ display:none; }
.tile .app{ position:absolute; left:22px; right:22px; top:6px; bottom:-24px; }
/* na página de sistemas: janela grande, sangrando embaixo */
.v-sist{ display:block; }
.v-sist .app{ position:absolute; left:7%; right:7%; top:9%; bottom:-1px; border-radius:16px 16px 0 0; }
.v-sist .app-bar{ height:36px; }
.v-sist .app-bar span{ font-size:12.5px; }
.v-sist .app-side{ padding:16px 12px; min-width:170px; }
.v-sist .app-side span{ font-size:13.5px; padding:9px 11px; }
.v-sist .app-main{ padding:22px 28px; }
.v-sist .app-h b{ font-size:20px; }
.v-sist .app-h small{ font-size:12.5px; }
.v-sist .app-list li{ padding:12px 0; gap:14px; }
.v-sist .app-list .ico{ width:34px; height:34px; border-radius:10px; }
.v-sist .app-list b{ font-size:14px; }
.v-sist .app-list small{ font-size:12px; }
.v-sist .app-list .st{ font-size:11.5px; padding:4px 11px; }
@media (max-width: 760px){
  .v-sist .app{ left:5%; right:5%; top:6%; }
  .v-sist .app-side{ min-width:0; padding:12px 6px; }
  .v-sist .app-side em{ display:none; }
  .v-sist .app-main{ padding:16px; }
}

/* prospecção: frase com a profissão passando e os dois canais */
.prosp-sec{ padding:var(--section) 0; text-align:center; }
.prosp-q{ margin:0 auto; font-size:var(--t-h2); line-height:1.12; letter-spacing:-0.024em; font-weight:600; }
.prosp-q > span{ display:block; }
.rot{ position:relative; height:1.2em; overflow:hidden; color:var(--orchid); }
.rot-w{ position:absolute; left:0; right:0; top:0; white-space:nowrap; opacity:0; transform:translateY(60%); filter:blur(4px); transition:opacity .6s var(--ease), transform .8s var(--ease), filter .6s var(--ease); }
.rot-w.on{ opacity:1; transform:none; filter:none; }
.rot-w.out{ opacity:0; transform:translateY(-60%); filter:blur(4px); }
.prosp-sec .lead{ margin:24px auto 0; max-width:38rem; }
.prosp-cards{ margin-top:clamp(52px, 6vw, 80px); display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; text-align:left; }
.pc{ border-radius:28px; background:var(--night-2); padding:clamp(26px, 3vw, 38px); display:flex; flex-direction:column; box-shadow:0 0 0 1px oklch(1 0 0 / .06); }
.pc-k{ font-size:.9375rem; font-weight:500; color:var(--orchid); }
.pc h3{ margin-top:8px; font-size:clamp(1.35rem, 1.2rem + .6vw, 1.7rem); line-height:1.15; letter-spacing:-0.018em; }
.pc p{ margin-top:12px; color:var(--on-night-soft); max-width:44ch; }
.pc-vis{ margin:26px 0 22px; padding:16px; border-radius:18px; background:var(--night); box-shadow:0 0 0 1px oklch(1 0 0 / .05); }
.pc-vis .search{ font-size:13px; }
.pc-vis .search span{ transition:opacity .4s var(--ease); }
.pc-vis .rows{ margin-top:12px; }
.pc .more{ margin-top:auto; color:var(--orchid); }
.ig-h{ display:flex; align-items:center; gap:10px; }
.ig-h i{ width:34px; height:34px; border-radius:50%; background:conic-gradient(from 200deg, var(--orchid), var(--plum), var(--orchid)); padding:2px; }
.ig-h i::after{ content:""; display:block; width:100%; height:100%; border-radius:50%; background:var(--night-3); box-shadow:inset 0 0 0 2px var(--night); }
.ig-h b{ display:block; font-size:13.5px; font-weight:600; color:var(--on-night); }
.ig-h small{ display:block; font-size:11.5px; color:var(--on-night-soft); }
.ig-grid{ margin-top:14px; display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:10px; }
.ig-grid span{ aspect-ratio:1; border-radius:50%; display:grid; place-items:center; font-size:11px; font-weight:600; color:var(--on-night-soft); background:var(--night-3); transition:box-shadow .5s var(--ease), color .5s var(--ease); }
.ig-grid span.sinal{ color:var(--on-night); box-shadow:0 0 0 2px var(--orchid); }
.pc-vis .ready{ margin-top:14px; }
.prosp-fim{ margin:clamp(40px, 5vw, 56px) auto 0; max-width:36rem; font-size:var(--t-lead); line-height:1.5; color:var(--on-night); }
@media (max-width: 860px){ .prosp-cards{ grid-template-columns:1fr; } .ig-grid{ gap:8px; } }

/* página 404 */
.hero.nf{ min-height:72vh; display:flex; align-items:center; justify-content:center; padding-bottom:var(--section); }

/* revelação guiada pela rolagem, só onde o navegador suporta; o conteúdo fica visível por padrão */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .rv{ animation:rv linear both; animation-timeline:view(); animation-range:entry 5% entry 70%; }
    .rv-2{ animation-range:entry 15% entry 85%; }
    .window{ animation:win linear both; animation-timeline:view(); animation-range:entry 0% cover 42%; }
    .steps::after{ animation:line linear both; animation-timeline:view(); animation-range:entry 40% cover 55%; }
  }
}
@keyframes rv{ from{ opacity:0; transform:translateY(32px); filter:blur(6px); } to{ opacity:1; transform:none; filter:none; } }
@keyframes win{ from{ opacity:.3; transform:scale(.9) translateY(40px); } to{ opacity:1; transform:none; } }
@keyframes line{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@media (max-width: 760px){ @keyframes line{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } } }

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
  .typing i{ animation:none; opacity:.6; }
}

/* Política de privacidade (/privacidade): texto longo, legível, tabelas que rolam no celular */
.doc{ padding:calc(52px + clamp(56px, 10vh, 120px)) 0 clamp(56px, 9vh, 96px); }
.doc-in{ max-width:calc(46rem + var(--gutter) * 2); }
.doc h1{ margin:18px 0 0; font-size:clamp(2.1rem, 1.5rem + 2.2vw, 3rem); line-height:1.08; letter-spacing:-0.026em; text-wrap:balance; }
.doc-data{ margin:12px 0 0; color:var(--ink-soft); font-size:.9375rem; }
.doc .lead{ margin:28px 0 0; }
.doc-sec{ margin-top:clamp(40px, 6vh, 56px); padding-top:clamp(28px, 4vh, 40px); border-top:1px solid var(--line); }
.doc-sec h2{ font-size:clamp(1.35rem, 1.1rem + .8vw, 1.7rem); line-height:1.2; letter-spacing:-0.018em; text-wrap:balance; }
.doc-sec p, .doc-sec ul{ margin:14px 0 0; line-height:1.65; color:var(--ink); max-width:66ch; }
.doc-sec ul{ padding-left:1.15rem; display:grid; gap:8px; }
.doc-sec b{ font-weight:600; }
.doc-tab{ margin:18px 0 0; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.doc-tab table{ width:100%; min-width:32rem; border-collapse:collapse; font-size:.9375rem; line-height:1.5; }
.doc-tab th{ text-align:left; font-weight:600; padding:10px 14px 10px 0; border-bottom:1px solid var(--ink-soft); }
.doc-tab td{ vertical-align:top; padding:12px 14px 12px 0; border-bottom:1px solid var(--line); }
.doc-tab td:first-child{ font-weight:500; white-space:nowrap; }
@media (max-width:640px){ .doc-tab td:first-child{ white-space:normal; } }
