/* ===== base (home) ===== */

  :root{
    --bg:#050506;
    --card-bg:#0b0b0d;
    --card-bg-2:#101013;
    --line: rgba(255,255,255,0.08);
    --line-2: rgba(255,255,255,0.14);
    --text:#f4f4f5;
    --muted:#9a9aa2;
    --teal:#2bb3a3;
    --teal-dim: rgba(43,179,163,0.5);

    --font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
    --font-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
    --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;

    --size-hero:clamp(2.4rem,6vw,4.8rem);
    --size-chapter:clamp(1.8rem,4vw,2.9rem);
    --size-statement:clamp(1.9rem,4.6vw,3.4rem);
    --size-body:clamp(1rem,1.3vw,1.15rem);
  }
  /* Protótipo de direção — tema único e escuro, deliberado (é o que o site vai usar). */

  *{box-sizing:border-box;}
  html{ scroll-behavior:smooth; }
  body{
    margin:0; background:var(--bg); color:var(--text);
    font-family:var(--font-body); -webkit-font-smoothing:antialiased; line-height:1.55;
    overflow-x:hidden;
  }
  ::selection{ background:var(--teal-dim); color:#001210; }
  h1,h2,h3{ font-family:var(--font-display); text-wrap:balance; margin:0; letter-spacing:-0.02em; font-weight:700; }
  p{ margin:0; }
  a{ color:inherit; }
  .wrap{ max-width:1160px; margin:0 auto; padding-inline:clamp(1.5rem,4vw,3rem); }
  .center-col{ max-width:660px; margin:0 auto; text-align:center; }

  .proto-banner{
    background:#000; color:var(--muted); font-family:var(--font-mono); font-size:0.72rem;
    letter-spacing:0.06em; text-align:center; padding:0.55rem 1rem; border-bottom:1px solid var(--line);
  }
  .proto-banner b{ color:var(--teal); }

  nav{
    position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between;
    padding:1.1rem clamp(1.5rem,4vw,3rem); background:rgba(5,5,6,0.75);
    backdrop-filter:blur(16px) saturate(160%); -webkit-backdrop-filter:blur(16px) saturate(160%);
    border-bottom:1px solid var(--line);
  }
  .logo{ font-weight:700; font-size:1.02rem; letter-spacing:-0.02em; display:flex; align-items:center; gap:10px; color:var(--text); }
  a.logo{ text-decoration:none; }
  .logo-text{ color:var(--text); }
  .logo img{ display:block; height:26px; width:auto; }
  .navlinks{ display:flex; gap:clamp(1.2rem,3vw,2.2rem); font-size:0.88rem; font-weight:500; }
  .navlinks a{ text-decoration:none; color:var(--muted); }
  .navlinks a:hover{ color:var(--text); }
  .navlinks a.active{ color:var(--text); }
  .navcta{ font-size:0.8rem; font-weight:600; padding:0.5rem 1.1rem; border-radius:999px; background:var(--text); color:#0a0a0b; text-decoration:none; }
  @media (max-width:720px){ .navlinks{ display:none; } }

  .btn{ font-size:0.86rem; font-weight:600; padding:0.85rem 1.6rem; border-radius:10px; text-decoration:none; display:inline-block; transition:opacity .2s, background .2s, border-color .2s; cursor:pointer; }
  .btn-primary{ background:var(--text); color:#0a0a0b; }
  .btn-primary:hover{ opacity:0.85; }
  .btn-ghost{ border:1px solid var(--line-2); color:var(--text); }
  .btn-ghost:hover{ border-color:var(--text); }

  /* ---- hero ---- */
  .hero{ position:relative; overflow:hidden; min-height:92vh; display:flex; align-items:center; }
  .hero .wrap{ width:100%; }
  .hero-copy{
    max-width:680px; margin:0 auto; padding:56px 24px; text-align:center; position:relative; z-index:2;
    background:radial-gradient(ellipse 860px 640px at 50% 45%, rgba(5,5,6,0.97) 0%, rgba(5,5,6,0.75) 45%, rgba(5,5,6,0.25) 72%, rgba(5,5,6,0) 92%);
  }
  .eyebrow{ font-family:var(--font-mono); font-size:0.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:20px; }
  .hero h1{ font-size:var(--size-hero); line-height:1.06; margin:0 0 20px; }
  .lede{ font-size:1.1rem; color:var(--muted); line-height:1.6; max-width:520px; margin:0 auto 32px; }
  .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

  /* ---- canvas de fundo (seções simples: hero, fontes, diferenciação) ---- */
  .bg-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; pointer-events:none; z-index:0; }

  /* ---- fontes ---- */
  .fontes{ position:relative; overflow:hidden; padding:14vh 0; text-align:center; }
  .fontes .wrap{ position:relative; z-index:1; }
  .fontes h2{ font-size:clamp(1.5rem,3.2vw,2.2rem); max-width:640px; margin:0 auto 28px; line-height:1.25; }
  .fontes-marquee{
    position:relative; overflow:hidden; margin-top:6px;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  }
  .fontes-track{ display:flex; width:max-content; animation:fontes-scroll 26s linear infinite; }
  .fontes-track span{ color:var(--muted); font-size:0.85rem; font-family:var(--font-mono); white-space:nowrap; padding:0 22px; position:relative; }
  .fontes-track span::after{ content:'·'; position:absolute; right:0; top:50%; transform:translateY(-50%); color:rgba(255,255,255,0.15); }
  .fontes-marquee:hover .fontes-track{ animation-play-state:paused; }
  @keyframes fontes-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @media (prefers-reduced-motion:reduce){ .fontes-track{ animation:none; overflow-x:auto; } }

  /* ---- section header (título de bloco) ---- */
  .section-head{ text-align:center; padding:0 24px; margin-bottom:clamp(2.5rem,6vw,4rem); }
  .section-head h2{ font-size:var(--size-chapter); max-width:20ch; margin:0 auto 14px; }
  .section-head p{ color:var(--muted); font-size:var(--size-body); max-width:52ch; margin:0 auto; }

  /* ---- carrossel de perfis ---- */
  .personas{ position:relative; overflow:hidden; padding:clamp(5rem,10vw,8rem) 0; border-top:1px solid var(--line); }
  .personas .wrap{ position:relative; z-index:1; }
  .personas-head{ max-width:640px; margin-bottom:clamp(2.5rem,6vw,4rem); }
  .personas-head h3{ font-size:clamp(1.6rem,3.2vw,2.3rem); margin:0 0 12px; }
  .personas-head p{ color:var(--muted); font-size:var(--size-body); max-width:52ch; }
  .personas-row{
    display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
    margin:0 calc(-1*clamp(1.5rem,4vw,3rem)); padding:4px clamp(1.5rem,4vw,3rem) 14px;
  }
  .personas-row::-webkit-scrollbar{ height:6px; }
  .personas-row::-webkit-scrollbar-thumb{ background:var(--line-2); border-radius:99px; }
  .persona-card{
    scroll-snap-align:start; flex:0 0 auto; width:230px; border:1px solid var(--line); border-radius:16px;
    background:var(--card-bg); padding:22px 20px 20px;
  }
  .persona-card .p-loc{ display:block; font-family:var(--font-mono); font-size:0.78rem; color:var(--muted); margin-bottom:16px; }
  .persona-card h4{ font-family:var(--font-display); font-size:1.12rem; font-weight:700; color:var(--text); margin:0 0 2px; letter-spacing:-0.01em; }
  .persona-card .p-role{ display:block; font-size:0.86rem; color:var(--muted); margin-bottom:14px; }
  .persona-card .p-price{ display:block; font-family:var(--font-mono); font-size:0.98rem; color:var(--teal); margin-bottom:14px; }
  .persona-card .p-desc{ font-size:0.85rem; color:var(--muted); line-height:1.5; margin-bottom:16px; }
  .persona-card .p-dot{ display:block; width:6px; height:6px; border-radius:50%; background:var(--teal); }
  @media (max-width:720px){ .persona-card{ width:200px; } }

  /* ---- grade de cards (os pilares) ---- */
  .pillars{ padding:0 0 clamp(5rem,10vw,8rem); }
  .pillars-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  .pillars-grid > .card:last-child:nth-child(odd){ grid-column:1 / -1; }
  @media (max-width:860px){ .pillars-grid{ grid-template-columns:1fr; } }
  .card{ position:relative; overflow:hidden; border-radius:18px; border:1px solid var(--line); background:var(--card-bg); min-height:300px; display:flex; align-items:flex-end; }
  .card canvas{ position:absolute; inset:0; }
  .card-copy{ position:relative; z-index:1; padding:26px 24px 24px; background:linear-gradient(180deg, rgba(11,11,13,0) 0%, rgba(11,11,13,0.92) 55%); width:100%; }
  .card-copy h3{ font-size:1.15rem; margin:0 0 8px; letter-spacing:-0.01em; }
  .card-copy p{ font-size:0.9rem; color:var(--muted); line-height:1.5; margin:0; }

  /* ---- statement (não é LLM) ---- */
  .statement{ position:relative; overflow:hidden; padding:clamp(6rem,12vw,9rem) 0; text-align:center; border-top:1px solid var(--line); }
  .statement .wrap{ position:relative; z-index:1; }
  .statement h2{ font-size:var(--size-statement); max-width:18ch; margin:0 auto 16px; }
  .statement p{ color:var(--muted); font-size:var(--size-body); max-width:48ch; margin:0 auto; }

  /* ---- specs (MOS) ---- */
  .specs{ padding:clamp(5rem,10vw,8rem) 0; border-top:1px solid var(--line); text-align:center; }
  .specs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:clamp(2.5rem,5vw,3.5rem); max-width:920px; margin-inline:auto; text-align:left; }
  @media (max-width:860px){ .specs-grid{ grid-template-columns:1fr; } }
  .spec-item{ border-top:1px solid var(--line); padding-top:1.1rem; }
  .spec-item .n{ font-family:var(--font-mono); color:var(--teal); font-size:0.78rem; letter-spacing:0.06em; margin-bottom:0.5rem; display:block; }
  .spec-item p{ color:var(--muted); font-size:0.95rem; line-height:1.6; }

  /* ---- quem somos / final ---- */
  .text-block{ padding:clamp(5rem,10vw,8rem) 0; border-top:1px solid var(--line); }
  .text-block .center-col p{ color:var(--muted); font-size:var(--size-body); margin-top:1.2rem; max-width:62ch; }
  .final{ padding:clamp(5.5rem,11vw,8.5rem) 0; text-align:center; border-top:1px solid var(--line); }
  .final h2{ font-size:var(--size-statement); max-width:18ch; margin:0 auto 28px; }

  /* ---- direto do blog ---- */
  .blog-feature{ padding:clamp(5rem,10vw,8rem) 0; border-top:1px solid var(--line); }
  .blog-head{ margin-bottom:clamp(1.6rem,3.4vw,2.2rem); }
  .blog-eyebrow{ font-family:var(--font-mono); font-size:0.78rem; color:var(--teal); text-transform:uppercase; letter-spacing:0.1em; }
  .blog-card{
    position:relative; display:grid; grid-template-columns:1fr 1.15fr; border:1px solid var(--line); border-radius:22px;
    overflow:hidden; background:var(--card-bg); text-decoration:none; color:inherit;
    transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  }
  .blog-card:hover{ border-color:var(--line-2); transform:translateY(-4px); box-shadow:0 24px 60px -20px rgba(43,179,163,0.28); }
  .blog-card-visual{ position:relative; min-height:320px; background:radial-gradient(140% 120% at 20% 15%, #0e1513 0%, #08090a 60%); }
  .blog-card-visual canvas{ position:absolute; inset:0; }
  .blog-tag{
    position:absolute; left:22px; top:22px; z-index:1; font-family:var(--font-mono); font-size:0.72rem; color:var(--muted);
    background:rgba(5,5,6,0.55); border:1px solid var(--line-2); padding:6px 12px; border-radius:999px; backdrop-filter:blur(6px);
  }
  .blog-card-copy{ padding:clamp(28px,4vw,46px); display:flex; flex-direction:column; justify-content:center; gap:16px; }
  .blog-card-copy h3{ font-size:clamp(1.5rem,2.6vw,2.15rem); line-height:1.18; margin:0; font-weight:700; }
  .blog-card-copy h3 .blog-sub{ display:block; color:var(--muted); font-weight:500; font-size:0.52em; margin-top:6px; letter-spacing:-0.01em; }
  .blog-card-copy p{ color:var(--muted); font-size:1rem; line-height:1.6; max-width:46ch; margin:0; }
  .blog-meta{ font-family:var(--font-mono); font-size:0.78rem; color:var(--muted); }
  .blog-cta{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:0.94rem; color:var(--teal); margin-top:2px; }
  .blog-cta .arrow{ display:inline-block; transition:transform .3s ease; }
  .blog-card:hover .blog-cta .arrow{ transform:translateX(5px); }
  @media (max-width:820px){ .blog-card{ grid-template-columns:1fr; } .blog-card-visual{ min-height:220px; } }

  footer{ padding:2.4rem clamp(1.5rem,4vw,3rem); border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; font-size:0.82rem; color:var(--muted); }
  footer a{ text-decoration:none; color:var(--muted); margin-left:1.2rem; }
  footer a:hover{ color:var(--text); }

  .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.16,.8,.24,1); }
  .reveal.visible{ opacity:1; transform:translateY(0); }
  @media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* ===== pesquisa.html ===== */

  /* ---- pesquisa: hero da página ---- */
  .page-hero{ position:relative; overflow:hidden; padding:clamp(7rem,14vw,10rem) 0 clamp(4rem,8vw,6rem); text-align:center; border-bottom:1px solid var(--line); }
  .page-hero .wrap{ position:relative; z-index:1; }
  .page-hero .eyebrow{ font-family:var(--font-mono); font-size:0.78rem; color:var(--teal); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:18px; }
  .page-hero h1{ font-size:var(--size-hero); line-height:1.08; max-width:17ch; margin:0 auto 22px; }
  .page-hero .lede{ font-size:1.08rem; color:var(--muted); line-height:1.6; max-width:54ch; margin:0 auto 32px; }
  .page-hero .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

  /* ---- pilar detalhado ---- */
  .pillar-detail{ padding:clamp(5rem,10vw,7.5rem) 0; border-bottom:1px solid var(--line); }
  .pillar-detail .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,4rem); align-items:center; }
  .pillar-detail.reverse .wrap{ direction:rtl; }
  .pillar-detail.reverse .wrap > *{ direction:ltr; }
  .pillar-copy .num{ font-family:var(--font-mono); font-size:0.78rem; color:var(--teal); letter-spacing:0.08em; margin-bottom:14px; display:block; }
  .pillar-copy h2{ font-size:clamp(1.6rem,3vw,2.3rem); margin:0 0 16px; line-height:1.2; }
  .pillar-copy p{ color:var(--muted); font-size:1rem; line-height:1.65; max-width:48ch; margin:0 0 22px; }
  .pillar-proof{ display:inline-flex; align-items:baseline; gap:10px; border:1px solid var(--line); border-radius:12px; padding:12px 18px; background:var(--card-bg); max-width:420px; }
  .pillar-proof .v{ font-family:var(--font-mono); color:var(--teal); font-size:1.15rem; font-weight:700; white-space:nowrap; }
  .pillar-proof .k{ color:var(--muted); font-size:0.85rem; line-height:1.4; }
  .pillar-visual{ position:relative; min-height:320px; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--card-bg); }
  .pillar-visual canvas{ position:absolute; inset:0; }
  @media (max-width:860px){
    .pillar-detail .wrap{ grid-template-columns:1fr; }
    .pillar-detail.reverse .wrap{ direction:ltr; }
    .pillar-visual{ min-height:220px; order:-1; }
  }

/* ===== sistemas.html ===== */

  /* ---- sistemas: hero da página ---- */
  .page-hero{ position:relative; overflow:hidden; padding:clamp(7rem,14vw,10rem) 0 clamp(4rem,8vw,6rem); text-align:center; border-bottom:1px solid var(--line); }
  .page-hero .wrap{ position:relative; z-index:1; }
  .page-hero .eyebrow{ font-family:var(--font-mono); font-size:0.78rem; color:var(--teal); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:18px; }
  .page-hero h1{ font-size:var(--size-hero); line-height:1.08; max-width:20ch; margin:0 auto 22px; }
  .page-hero .lede{ font-size:1.08rem; color:var(--muted); line-height:1.6; max-width:56ch; margin:0 auto 32px; }
  .page-hero .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

  /* ---- features do Pulso ---- */
  .features{ position:relative; overflow:hidden; padding:clamp(5rem,10vw,7.5rem) 0; border-bottom:1px solid var(--line); }
  .features .wrap{ position:relative; z-index:1; }
  .features-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:clamp(2.5rem,5vw,3.5rem); }
  @media (max-width:960px){ .features-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:640px){ .features-grid{ grid-template-columns:1fr; } }
  .feature-item{ border:1px solid var(--line); border-radius:16px; padding:26px 22px; background:var(--card-bg); }
  .feature-item .n{ font-family:var(--font-mono); color:var(--teal); font-size:0.76rem; letter-spacing:0.08em; display:block; margin-bottom:14px; }
  .feature-item h3{ font-size:1.08rem; margin:0 0 10px; letter-spacing:-0.01em; }
  .feature-item p{ color:var(--muted); font-size:0.9rem; line-height:1.55; margin:0; }

  /* ---- docs strip ---- */
  .docs-strip{ padding:clamp(2.5rem,5vw,3.5rem) 0; border-bottom:1px solid var(--line); }
  .docs-strip .wrap{ display:flex; gap:clamp(20px,4vw,40px); justify-content:center; flex-wrap:wrap; }
  .docs-strip a{ color:var(--muted); font-family:var(--font-mono); font-size:0.82rem; text-decoration:none; border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .2s ease, color .2s ease; }
  .docs-strip a:hover{ color:var(--text); border-color:var(--line-2); }

/* ===== blog.html ===== */

  /* ---- blog: hero da página ---- */
  .page-hero{ position:relative; overflow:hidden; padding:clamp(7rem,14vw,10rem) 0 clamp(3.5rem,7vw,5rem); text-align:center; border-bottom:1px solid var(--line); }
  .page-hero .wrap{ position:relative; z-index:1; }
  .page-hero .eyebrow{ font-family:var(--font-mono); font-size:0.78rem; color:var(--teal); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:18px; }
  .page-hero h1{ font-size:var(--size-hero); line-height:1.08; max-width:18ch; margin:0 auto 22px; }
  .page-hero .lede{ font-size:1.08rem; color:var(--muted); line-height:1.6; max-width:52ch; margin:0 auto; }

  /* ---- post em destaque (grande) ---- */
  .post-feature{ padding:clamp(3rem,6vw,4.5rem) 0 clamp(5rem,10vw,7rem); }
  .post-card{
    position:relative; display:grid; grid-template-columns:1.05fr 1fr; border:1px solid var(--line); border-radius:24px;
    overflow:hidden; background:var(--card-bg); text-decoration:none; color:inherit;
    transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  }
  .post-card:hover{ border-color:var(--line-2); transform:translateY(-4px); box-shadow:0 28px 70px -24px rgba(43,179,163,0.28); }
  .post-visual{ position:relative; min-height:420px; background:radial-gradient(140% 120% at 20% 15%, #0e1513 0%, #08090a 60%); }
  .post-visual canvas{ position:absolute; inset:0; }
  .post-tag{
    position:absolute; left:26px; top:26px; z-index:1; font-family:var(--font-mono); font-size:0.74rem; color:var(--muted);
    background:rgba(5,5,6,0.55); border:1px solid var(--line-2); padding:7px 14px; border-radius:999px; backdrop-filter:blur(6px);
  }
  .post-copy{ padding:clamp(32px,4.5vw,52px); display:flex; flex-direction:column; justify-content:center; gap:18px; }
  .post-copy .kicker{ font-family:var(--font-mono); font-size:0.76rem; color:var(--teal); letter-spacing:0.08em; text-transform:uppercase; }
  .post-copy h2{ font-size:clamp(1.7rem,3vw,2.4rem); line-height:1.15; margin:0; font-weight:700; }
  .post-copy h2 .sub{ display:block; color:var(--muted); font-weight:500; font-size:0.5em; margin-top:8px; }
  .post-copy p{ color:var(--muted); font-size:1.02rem; line-height:1.65; max-width:48ch; margin:0; }
  .post-meta{ font-family:var(--font-mono); font-size:0.8rem; color:var(--muted); }
  .post-cta{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:0.96rem; color:var(--teal); margin-top:4px; }
  .post-cta .arrow{ display:inline-block; transition:transform .3s ease; }
  .post-card:hover .post-cta .arrow{ transform:translateX(5px); }
  @media (max-width:860px){ .post-card{ grid-template-columns:1fr; } .post-visual{ min-height:260px; } }

  /* ---- mais em breve ---- */
  .more-soon{ padding:clamp(3.5rem,7vw,5rem) 0 clamp(6rem,11vw,8rem); text-align:center; border-top:1px solid var(--line); }
  .more-soon p{ color:var(--muted); font-family:var(--font-mono); font-size:0.85rem; letter-spacing:0.04em; }

/* ===== pesquisa-sintetica.html (populacao) ===== */

  /* ---- população: hero da página ---- */
  .page-hero{ position:relative; overflow:hidden; padding:clamp(6rem,12vw,8.5rem) 0 clamp(3rem,6vw,4rem); text-align:center; border-bottom:1px solid var(--line); }
  .page-hero .wrap{ position:relative; z-index:1; }
  .page-hero .eyebrow{ font-family:var(--font-mono); font-size:0.78rem; color:var(--teal); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:18px; }
  .page-hero h1{ font-size:var(--size-hero); line-height:1.08; max-width:18ch; margin:0 auto 18px; }
  .page-hero .lede{ font-size:1.06rem; color:var(--muted); line-height:1.6; max-width:52ch; margin:0 auto; }

  /* ---- configurador ---- */
  .configurator{ padding:clamp(3rem,6vw,4.5rem) 0 clamp(6rem,12vw,9rem); }
  .config-card{ max-width:760px; margin:0 auto; border:1px solid var(--line); border-radius:24px; background:var(--card-bg); padding:clamp(28px,4vw,48px); }
  .config-step{ padding:clamp(24px,4vw,32px) 0; border-top:1px solid var(--line); }
  .config-step:first-child{ border-top:none; padding-top:0; }
  .config-step .step-label{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
  .config-step .step-n{ font-family:var(--font-mono); font-size:0.76rem; color:var(--teal); border:1px solid var(--line-2); border-radius:999px; width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
  .config-step h3{ font-size:1.05rem; margin:0; font-weight:700; letter-spacing:-0.01em; }
  .config-step .step-hint{ color:var(--muted); font-size:0.88rem; margin:0 0 16px 34px; }

  .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-left:34px; }
  @media (max-width:600px){ .field-row{ grid-template-columns:1fr; } }
  .field{
    background:#0b0b0d; border:1px solid var(--line-2); border-radius:10px; color:var(--text); font-family:var(--font-body);
    font-size:0.92rem; padding:12px 14px; width:100%; box-sizing:border-box; outline:none; transition:border-color .2s ease;
  }
  .field:focus{ border-color:var(--teal); }
  .field::placeholder{ color:var(--muted); }
  textarea.field{ resize:vertical; min-height:96px; font-family:var(--font-body); line-height:1.5; }

  .sample-row{ margin-left:34px; }
  .sample-value{ font-family:var(--font-mono); color:var(--teal); font-size:1.6rem; font-weight:700; margin-bottom:10px; display:block; }
  .sample-value .unit{ color:var(--muted); font-size:0.9rem; font-weight:500; margin-left:6px; }
  input[type="range"]{
    -webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:999px; background:var(--line-2); outline:none; cursor:pointer;
  }
  input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%; background:var(--teal); border:3px solid #050506; cursor:pointer;
    box-shadow:0 0 0 1px var(--teal);
  }
  input[type="range"]::-moz-range-thumb{ width:18px; height:18px; border-radius:50%; background:var(--teal); border:3px solid #050506; cursor:pointer; }
  .range-labels{ display:flex; justify-content:space-between; color:var(--muted); font-family:var(--font-mono); font-size:0.74rem; margin-top:8px; }

  .chip-row{ display:flex; flex-wrap:wrap; gap:10px; margin-left:34px; }
  .chip{
    border:1px solid var(--line-2); border-radius:999px; padding:9px 16px; font-size:0.86rem; color:var(--muted);
    background:transparent; cursor:pointer; transition:all .2s ease; font-family:var(--font-body); user-select:none;
  }
  .chip:hover{ border-color:var(--text); color:var(--text); }
  .chip.active{ background:var(--teal); border-color:var(--teal); color:#04120f; font-weight:600; }

  .config-submit{ margin-top:clamp(28px,4vw,36px); text-align:center; }
  .config-submit .btn{ width:100%; max-width:320px; }
  .config-confirm{
    margin-top:18px; text-align:center; color:var(--teal); font-size:0.95rem; font-weight:600;
    opacity:0; max-height:0; overflow:hidden; transition:opacity .4s ease, max-height .4s ease;
  }
  .config-confirm.visible{ opacity:1; max-height:60px; margin-top:18px; }
  .config-confirm.error{ color:#e0616b; }


  /* ---- carrossel de posts do blog ---- */
  .post-carousel{ --pc-pad:clamp(1.5rem,4vw,3rem); }
  .pc-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:clamp(1.4rem,3vw,2rem); }
  .pc-head h2{ font-size:clamp(1.5rem,3vw,2.1rem); margin:8px 0 0; line-height:1.15; }
  .pc-controls{ display:flex; align-items:center; gap:14px; }
  .pc-count{ font-family:var(--font-mono); font-size:0.78rem; color:var(--muted); font-variant-numeric:tabular-nums; min-width:4.5ch; text-align:right; }
  .pc-btn{ width:42px; height:42px; border-radius:50%; border:1px solid var(--line-2); background:transparent; color:var(--text); cursor:pointer; display:grid; place-items:center; transition:border-color .2s, opacity .2s, background .2s; }
  .pc-btn svg{ width:14px; height:14px; }
  .pc-btn:hover:not(:disabled){ border-color:var(--text); background:rgba(255,255,255,0.05); }
  .pc-btn:disabled{ opacity:0.3; cursor:default; }
  .pc-btn:focus-visible, .pc-track:focus-visible, .pc-card:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; }
  .pc-track{
    position:relative; display:flex; gap:16px; list-style:none; padding:4px var(--pc-pad) 18px; margin:0 calc(-1*var(--pc-pad));
    overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--pc-pad); -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .pc-track::-webkit-scrollbar{ display:none; }
  .pc-track > li{ flex:0 0 min(340px,82vw); scroll-snap-align:start; display:flex; }
  .pc-card{
    display:flex; flex-direction:column; gap:12px; width:100%; min-height:310px; padding:24px 22px 22px;
    border:1px solid var(--line); border-radius:18px; background:var(--card-bg); color:inherit; text-decoration:none;
    transition:border-color .25s ease, transform .3s ease, box-shadow .3s ease;
  }
  .pc-card:hover{ border-color:var(--line-2); transform:translateY(-4px); box-shadow:0 24px 60px -24px rgba(43,179,163,0.28); }
  .pc-num{ font-family:var(--font-mono); font-size:0.85rem; color:var(--teal); letter-spacing:0.06em; font-variant-numeric:tabular-nums; }
  .pc-eyebrow{ font-family:var(--font-mono); font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--muted); line-height:1.5; }
  .pc-eyebrow .dot{ margin:0 0.4em; color:var(--line-2); }
  .pc-title{ font-family:var(--font-display); font-size:1.28rem; line-height:1.2; font-weight:700; letter-spacing:-0.015em; margin:0; text-wrap:balance; }
  .pc-desc{ color:var(--muted); font-size:0.9rem; line-height:1.55; margin:0; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
  .pc-foot{ margin-top:auto; padding-top:8px; display:flex; justify-content:space-between; align-items:baseline; font-family:var(--font-mono); font-size:0.76rem; color:var(--muted); }
  .pc-go{ color:var(--teal); font-weight:600; }
  .pc-go .arrow{ display:inline-block; transition:transform .3s ease; }
  .pc-card:hover .pc-go .arrow{ transform:translateX(5px); }
  .pc-all{ display:inline-block; margin-top:6px; font-weight:600; font-size:0.94rem; color:var(--teal); text-decoration:none; }
  .pc-all:hover{ text-decoration:underline; text-underline-offset:4px; }
  @media (prefers-reduced-motion:reduce){ .pc-card, .pc-card:hover{ transition:none; transform:none; } }
  .post-carousel-section{ padding:clamp(3rem,6vw,4.5rem) 0 clamp(0.5rem,1vw,1rem); }

  /* espaço entre o texto e os botões do topo das páginas internas (Pesquisas, Sistemas) */
  .page-hero .cta-row{ margin-top:clamp(1.75rem,3vw,2.25rem); }
