  /* ---------- Design tokens (from Stephane Bandeira Design Kit v2.0) ---------- */
  :root{
    --purple:#50426D;
    --purple-6:#6B5A8A;
    --lavender:#8979AC;
    --lavender-3:#A89BC4;
    --teal:#52929D;
    --teal-dark:#2C5C64;
    --ink:#2A2235;
    --muted:#7A7490;
    --surface:#F5F3F8;
    --white:#FFFFFF;
    --line:rgba(80,66,109,0.12);
    --lav-25:rgba(137,121,172,0.25);
    --teal-25:rgba(82,146,157,0.25);

    --radius:2px;
    --pill:100px;
    --shadow-card:0 12px 32px rgba(80,66,109,0.08);

    --section-pad: clamp(4rem, 8vw, 7rem);
    --gutter: clamp(1.25rem, 4vw, 3rem);
  }

  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:'Nunito', system-ui, sans-serif;
    font-weight:400;
    color:var(--ink);
    background:var(--white);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}

  h1,h2,h3,h4{
    font-family:'Libre Baskerville', Georgia, serif;
    font-weight:400;
    margin:0;
    letter-spacing:-0.01em;
  }
  p{margin:0}

  .container{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:0 var(--gutter);
  }

  .eyebrow{
    font-family:'Nunito',sans-serif;
    font-weight:700;
    font-size:0.68rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--teal);
    display:inline-block;
  }
  .eyebrow.on-dark{color:#BFE3E8}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    padding:14px 22px;
    border-radius:var(--radius);
    font-weight:700;
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    transition:all .25s ease;
    border:1px solid transparent;
    white-space:nowrap;
  }
  .btn .arrow{transition:transform .25s ease}
  .btn:hover .arrow{transform:translateX(4px)}
  .btn-teal{background:var(--teal);color:#fff}
  .btn-teal:hover{background:var(--teal-dark)}
  .btn-purple{background:var(--purple);color:#fff}
  .btn-purple:hover{background:#3d3356}
  .btn-ghost-light{border-color:rgba(255,255,255,0.35);color:#fff}
  .btn-ghost-light:hover{background:rgba(255,255,255,0.1);border-color:#fff}
  .btn-ghost-dark{border-color:rgba(80,66,109,0.25);color:var(--purple)}
  .btn-ghost-dark:hover{background:var(--surface);border-color:var(--purple)}

  /* ---------- Pill ---------- */
  .pill{
    display:inline-flex;align-items:center;gap:6px;
    padding:6px 14px;border-radius:var(--pill);
    border:1px solid var(--line);
    font-size:0.7rem;font-weight:600;
    color:var(--muted);
    background:var(--white);
  }
  .pill.active{border-color:var(--teal);background:var(--teal-25);color:var(--teal-dark)}

  /* ---------- NAV ---------- */
  .nav{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex;align-items:center;justify-content:space-between;
    height:96px;
  }
  .brand{
    display:flex;align-items:center;gap:14px;
    font-family:'Nunito',sans-serif;
    font-weight:800;
    font-size:1.02rem;
    letter-spacing:0.18em;
    color:var(--purple);
    text-transform:uppercase;
  }
  .brand-mark{
    width:38px;height:38px;
    border:1.5px solid var(--purple);
    display:grid;place-items:center;
    position:relative;
  }
  .brand-mark::before,
  .brand-mark::after{
    content:"";position:absolute;inset:-6px;
    border:1px solid var(--teal);border-radius:50%;
    border-color:var(--teal) transparent transparent var(--teal);
    transform:rotate(-25deg);
  }
  .brand-mark::after{
    border-color:transparent var(--lavender) var(--lavender) transparent;
    transform:rotate(-25deg) scale(1.25);
    opacity:.5;
  }
  .brand-mark span{
    font-family:'Libre Baskerville',serif;
    font-size:1rem;color:var(--purple);
    font-weight:700;letter-spacing:0;
  }
  .nav-links{
    display:flex;align-items:center;gap:2.25rem;
    list-style:none;padding:0;margin:0;
    margin-left:auto;
  }
  .nav-links a{
    font-size:0.92rem;
    font-weight:700;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--muted);
    position:relative;
    padding:8px 0;
    transition:color .25s ease;
  }
  .nav-links a:hover,.nav-links a.current{color:var(--purple)}
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:-2px;
    width:0;height:1.5px;background:var(--teal);
    transition:width .25s ease;
  }
  .nav-links a:hover::after,.nav-links a.current::after{width:100%}
  .nav-links .cta-li a{
    background:var(--teal);color:#fff;
    padding:12px 22px;
    border-radius:var(--radius);
    font-size:0.82rem;
    letter-spacing:0.14em;
    transition:background .25s ease;
  }
  .nav-links .cta-li a:hover{background:var(--teal-dark);color:#fff}
  .nav-links .cta-li a::after{display:none}
  .nav-cta{display:flex;align-items:center;gap:1rem;margin-left:1.5rem}

  .burger{
    display:none;width:40px;height:40px;
    border:1px solid var(--line);border-radius:var(--radius);
    align-items:center;justify-content:center;
  }
  .burger span{
    display:block;width:18px;height:1.5px;background:var(--ink);
    position:relative;transition:all .25s ease;
  }
  .burger span::before,
  .burger span::after{
    content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--ink);
    transition:all .25s ease;
  }
  .burger span::before{top:-6px}
  .burger span::after{top:6px}
  body.menu-open .burger span{background:transparent}
  body.menu-open .burger span::before{top:0;transform:rotate(45deg)}
  body.menu-open .burger span::after{top:0;transform:rotate(-45deg)}

  .mobile-menu{
    display:none;
    position:fixed;inset:78px 0 0 0;z-index:40;
    background:var(--white);
    padding:2rem var(--gutter);
    overflow-y:auto;
  }
  body.menu-open .mobile-menu{display:block}
  .mobile-menu ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.25rem}
  .mobile-menu a{
    font-family:'Libre Baskerville',serif;
    font-size:1.6rem;color:var(--purple);
    display:block;padding:10px 0;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu .btn{margin-top:2rem;width:100%;justify-content:center}

  /* ---------- HERO ---------- */
  .hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:calc(100vh - 78px);
    position:relative;
    overflow:hidden;
  }
  .hero-left{
    background:var(--purple);
    color:#fff;
    padding:clamp(3rem,7vw,6rem) clamp(1.5rem,5vw,5rem);
    display:flex;flex-direction:column;justify-content:center;
    position:relative;
  }
  .hero-left .eyebrow{color:#BFE3E8;margin-bottom:1.25rem}
  .hero-title{
    font-size:clamp(2.8rem, 5.5vw, 4.4rem);
    line-height:1.1;
    margin-bottom:1.5rem;
    letter-spacing:-0.015em;
  }
  .hero-title em{
    font-style:italic;
    color:#6FB7C2;
    font-weight:400;
    display:block;
  }
  .hero-sub{
    font-size:1.02rem;
    line-height:1.75;
    color:rgba(255,255,255,0.78);
    max-width:460px;
    margin-bottom:2.5rem;
  }
  .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}

  .hero-stats{
    margin-top:3.5rem;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
    max-width:520px;
    padding-top:2rem;
    border-top:1px solid rgba(255,255,255,0.15);
  }
  .hero-stats .n{
    font-family:'Libre Baskerville',serif;
    font-weight:700;
    font-size:1.75rem;
    color:#fff;
    line-height:1;
    display:block;
    margin-bottom:.4rem;
  }
  .hero-stats .l{
    font-size:0.7rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.55);
    font-weight:600;
  }

  .hero-right{
    background:linear-gradient(135deg,#6B5A8A 0%,#8979AC 50%,#A89BC4 100%);
    position:relative;
    display:flex;align-items:flex-end;justify-content:center;
    overflow:hidden;
  }
  .hero-right::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 30% 40%, rgba(82,146,157,0.35) 0%, transparent 55%);
  }
  .hero-right .photo{
    position:relative;
    max-height:92%;
    width:auto;
    z-index:2;
    filter:drop-shadow(0 30px 50px rgba(42,34,53,0.25));
  }
  .hero-badge{
    position:absolute;
    top:clamp(1.5rem,4vw,3rem);
    right:clamp(1.5rem,4vw,3rem);
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    border-left:2px solid var(--teal);
    padding:14px 20px;
    color:#fff;
    z-index:3;
    max-width:240px;
  }
  .hero-badge .k{font-family:'Libre Baskerville',serif;font-size:1.35rem;line-height:1;display:block}
  .hero-badge .v{font-size:0.72rem;color:rgba(255,255,255,0.8);letter-spacing:0.08em;margin-top:4px}

  .hero-tag{
    position:absolute;
    bottom:clamp(1.5rem,4vw,2.5rem);
    left:22%;
    transform:translateX(-50%);
    background:var(--teal);
    color:#fff;
    padding:14px 32px;
    border-radius:8px;
    font-family:'Nunito',sans-serif;
    font-weight:700;
    font-size:0.85rem;
    letter-spacing:0.22em;
    text-transform:uppercase;
    z-index:3;
    white-space:nowrap;
  }

  /* orbital motif */
  .orbital{
    position:absolute;
    width:160px;height:160px;
    opacity:.3;
    pointer-events:none;
  }
  .orbital-hero{bottom:-40px;left:-40px;opacity:.22}

  /* ---------- SECTION base ---------- */
  section{position:relative}
  .section{
    padding:var(--section-pad) 0;
  }
  .section-head{
    max-width:760px;
    margin-bottom:clamp(2.5rem,5vw,4rem);
  }
  .section-head.center{margin-inline:auto;text-align:center}
  .section-title{
    font-size:clamp(1.9rem, 3.5vw, 2.7rem);
    line-height:1.25;
    margin:1rem 0 1rem;
  }
  .section-title em{font-style:italic;color:var(--lavender)}
  .section-lead{
    color:var(--muted);
    font-size:1rem;
    line-height:1.8;
    max-width:620px;
  }
  .center .section-lead{margin-inline:auto}

  /* ---------- AJUDA (3 cards) ---------- */
  .bg-surface{background:var(--surface)}
  .help-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
  }
  .help-card{
    background:#fff;
    border:0.5px solid var(--line);
    padding:2.25rem 1.75rem;
    border-top:3px solid var(--teal);
    transition:all .3s ease;
    position:relative;
  }
  .help-card:hover{
    border-top-color:var(--purple);
    box-shadow:var(--shadow-card);
    transform:translateY(-2px);
  }
  .help-card .num{
    font-family:'Libre Baskerville',serif;
    font-style:italic;
    font-size:0.9rem;
    color:var(--teal);
    margin-bottom:1.5rem;
  }
  .help-card h3{
    font-size:1.35rem;
    line-height:1.3;
    margin-bottom:1rem;
    color:var(--purple);
  }
  .help-card h3 em{font-style:italic;color:var(--lavender)}
  .help-card p{
    color:var(--muted);
    font-size:0.93rem;
    line-height:1.75;
  }

  /* ---------- PROCESSO (teal-dark band) ---------- */
  .bg-teal-dark{background:var(--teal-dark);color:#fff}
  .bg-teal-dark .section-title{color:#fff}
  .bg-teal-dark .section-lead{color:rgba(255,255,255,0.72)}
  .bg-teal-dark .eyebrow{color:#BFE3E8}

  .process{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    position:relative;
    margin-top:1rem;
  }
  .process-step{
    padding:2rem 1.5rem;
    border-left:1px solid rgba(255,255,255,0.15);
    position:relative;
  }
  .process-step:first-child{border-left:0}
  .process-step .n{
    font-family:'Libre Baskerville',serif;
    font-style:italic;
    font-size:2.2rem;
    color:#BFE3E8;
    line-height:1;
    margin-bottom:1.25rem;
    display:block;
  }
  .process-step h4{
    font-size:1.1rem;
    color:#fff;
    margin-bottom:.75rem;
    line-height:1.3;
  }
  .process-step p{
    color:rgba(255,255,255,0.72);
    font-size:0.9rem;
    line-height:1.7;
  }
  .process-dot{
    position:absolute;top:2rem;left:1.5rem;
    width:8px;height:8px;border-radius:50%;background:var(--teal);
    box-shadow:0 0 0 4px rgba(82,146,157,0.25);
  }

  .disclaimer{
    margin-top:3rem;
    padding:1.5rem;
    background:rgba(0,0,0,0.2);
    border-left:2px solid var(--teal);
    font-size:0.92rem;
    color:rgba(255,255,255,0.78);
    font-style:italic;
    font-family:'Libre Baskerville',serif;
    line-height:1.7;
  }

  /* ---------- SOBRE ---------- */
  .about{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:clamp(2rem,6vw,5rem);
    align-items:center;
  }
  .about-photo{
    position:relative;
    aspect-ratio:4/5;
    background:var(--surface);
    overflow:hidden;
  }
  .about-photo img{
    width:100%;height:100%;object-fit:cover;
    filter:grayscale(.05) contrast(1.02);
  }
  .about-photo::after{
    content:"";position:absolute;inset:12px;
    border:1px solid rgba(255,255,255,0.5);
    pointer-events:none;
  }
  .about-photo .caption{
    position:absolute;
    bottom:0;left:0;right:0;
    background:linear-gradient(to top,rgba(42,34,53,0.85),transparent);
    padding:2rem 1.5rem 1.25rem;
    color:#fff;
  }
  .about-photo .caption .sig{
    font-family:'Libre Baskerville',serif;
    font-style:italic;
    font-size:1.1rem;
  }
  .about-facts{display:grid;gap:1.25rem;margin-top:2rem}
  .fact{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:1rem;
    padding:1rem 0;
    border-bottom:1px solid var(--line);
  }
  .fact:last-child{border-bottom:0}
  .fact .k{
    font-family:'Libre Baskerville',serif;
    font-style:italic;
    color:var(--teal);
    font-size:0.95rem;
    min-width:140px;
  }
  .fact .v{
    color:var(--ink);
    font-size:0.95rem;
    line-height:1.7;
  }
  .fact .v strong{color:var(--purple);font-weight:700}

  /* ---------- CLIENTES ---------- */
  .clients{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    margin-top:2rem;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .client{
    padding:2.5rem 1rem;
    display:flex;align-items:center;justify-content:center;
    border-left:1px solid var(--line);
    transition:transform .3s ease;
    min-height:140px;
  }
  .client:first-child{border-left:0}
  .client:hover{transform:scale(1.05)}
  .client img{max-width:140px;max-height:60px;object-fit:contain}
  .client.dark{background:var(--purple)}
  .client.dark img{max-height:48px}

  /* ---------- SERVIÇOS ---------- */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
  }
  .svc-card{
    background:#fff;
    border:0.5px solid var(--line);
    border-top:3px solid var(--teal);
    padding:2rem 1.75rem;
    transition:all .3s ease;
    display:flex;flex-direction:column;
    min-height:280px;
  }
  .svc-card:hover{
    border-top-color:var(--purple);
    box-shadow:var(--shadow-card);
    transform:translateY(-2px);
  }
  .svc-card .element{
    width:52px;height:52px;
    border:1px solid var(--line);
    padding:6px 8px;
    margin-bottom:1.25rem;
    display:flex;flex-direction:column;justify-content:space-between;
    position:relative;
  }
  .svc-card .element .at{
    font-family:'Nunito',sans-serif;
    font-size:0.55rem;color:var(--muted);
  }
  .svc-card .element .ab{
    font-family:'Libre Baskerville',serif;
    font-weight:700;
    font-size:1.3rem;
    color:var(--purple);
    line-height:1;
  }
  .svc-card .element .cat{
    font-size:0.52rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--teal);
  }
  .svc-card h3{
    font-size:1.25rem;
    color:var(--purple);
    margin-bottom:.75rem;
    line-height:1.3;
  }
  .svc-card p{
    color:var(--muted);
    font-size:0.92rem;
    line-height:1.75;
    flex:1;
  }

  /* ---------- TESTIMONIALS ---------- */
  .quotes{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2rem;
    margin-top:2rem;
  }
  .quote{
    background:#fff;
    border-left:3px solid var(--lavender);
    padding:2rem 2rem 1.75rem;
  }
  .quote q{
    font-family:'Libre Baskerville',serif;
    font-style:italic;
    font-size:1.15rem;
    line-height:1.55;
    color:var(--ink);
    quotes:none;
    display:block;
    margin-bottom:1.5rem;
  }
  .quote q::before{content:""}
  .quote q::after{content:""}
  .quote-attrib{
    display:flex;align-items:center;gap:.9rem;
  }
  .avatar{
    width:42px;height:42px;border-radius:50%;
    background:var(--lavender);color:#fff;
    display:grid;place-items:center;
    font-weight:700;font-size:0.8rem;
    letter-spacing:0.05em;
  }
  .quote-name{
    font-weight:700;font-size:0.88rem;color:var(--ink);
    line-height:1.3;
  }
  .quote-role{color:var(--muted);font-size:0.78rem;line-height:1.3}

  /* ---------- CONTEÚDO feature ---------- */
  .feature{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:clamp(2rem,6vw,5rem);
    align-items:center;
  }
  .feature-img{
    aspect-ratio:4/3;
    background:
      linear-gradient(135deg,var(--purple-6),var(--lavender)),
      repeating-linear-gradient(45deg,rgba(255,255,255,0.04) 0 8px,transparent 8px 16px);
    position:relative;
    overflow:hidden;
  }
  .feature-img::after{
    content:"[ CONTEÚDO + IA ]";
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    font-family:'Nunito',sans-serif;
    font-size:0.7rem;letter-spacing:0.25em;
    color:rgba(255,255,255,0.45);
  }
  .feature-img svg{position:absolute;inset:0;width:100%;height:100%;opacity:.25}
  .feature-list{
    list-style:none;padding:0;margin:1.5rem 0 2rem;
    display:grid;gap:.85rem;
  }
  .feature-list li{
    display:grid;grid-template-columns:auto 1fr;gap:.85rem;
    align-items:flex-start;
    font-size:0.95rem;color:var(--ink);
    line-height:1.65;
  }
  .feature-list li::before{
    content:"";
    width:14px;height:14px;
    border:2px solid var(--teal);
    border-radius:50%;
    margin-top:4px;
    position:relative;
  }
  .feature-list li.has-dot::before{
    background:radial-gradient(circle,var(--teal) 4px,transparent 5px);
  }

  /* ---------- PORTFOLIO (preview) ---------- */
  .portfolio-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem;
    margin-top:2rem;
  }
  .port-card{
    background:#fff;
    border:0.5px solid var(--line);
    overflow:hidden;
    transition:all .3s ease;
  }
  .port-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}
  .port-thumb{
    aspect-ratio:16/10;
    background:#fff;
    border-bottom:1px solid var(--line);
    position:relative;
    overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    padding:1.5rem;
  }
  .port-thumb img{max-width:78%;max-height:78%;object-fit:contain;display:block}
  .port-thumb.v2{background:#F5F0FA}
  .port-thumb.v3{background:#F0F7F5}
  .port-thumb::after{
    content:attr(data-tag);
    position:absolute;bottom:14px;left:16px;
    color:var(--muted);
    font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:700;
  }
  .port-thumb svg{position:absolute;inset:0;opacity:.2}
  .port-body{padding:1.5rem 1.5rem 1.75rem}
  .port-body .tag{
    font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--teal);font-weight:700;
  }
  .port-body h3{
    font-size:1.15rem;color:var(--purple);margin:.5rem 0 .5rem;line-height:1.35;
  }
  .port-body .k{
    font-family:'Libre Baskerville',serif;font-weight:700;
    color:var(--purple);font-size:1.4rem;
    margin-top:.75rem;
  }
  .port-body .k span{font-size:0.78rem;color:var(--muted);font-family:'Nunito',sans-serif;font-weight:400;font-style:italic;display:block;margin-top:.25rem}

  /* ---------- BLOG preview ---------- */
  .blog-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;
  }
  .blog-card{
    background:rgba(137,121,172,0.18);
    padding:1.75rem 1.5rem 1.5rem;
    border:0.5px solid var(--line);
    transition:all .3s ease;
    display:flex;flex-direction:column;gap:1rem;
  }
  .blog-card:hover{background:rgba(137,121,172,0.28);transform:translateY(-2px)}
  .blog-meta{
    display:flex;gap:.75rem;align-items:center;
    font-size:0.72rem;color:var(--muted);
    letter-spacing:0.1em;text-transform:uppercase;font-weight:700;
  }
  .blog-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--teal)}
  .blog-card h3{
    font-size:1.15rem;line-height:1.35;color:var(--purple);
  }
  .blog-card p{font-size:0.9rem;color:var(--ink);line-height:1.7}
  .blog-card .read{
    margin-top:auto;
    font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--teal);font-weight:700;
  }

  /* ---------- AGÊNCIAS ---------- */
  .agency{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:clamp(2rem,6vw,5rem);
    align-items:center;
  }
  .agency-img{
    aspect-ratio:1/1;
    background:
      linear-gradient(135deg,var(--teal-dark),var(--purple)),
      repeating-linear-gradient(-45deg,rgba(255,255,255,0.04) 0 10px,transparent 10px 20px);
    position:relative;
    overflow:hidden;
  }
  .agency-img::after{
    content:"[ EQUIPE · ESCRITÓRIO ]";
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    font-family:'Nunito',sans-serif;
    font-size:0.7rem;letter-spacing:0.25em;
    color:rgba(255,255,255,0.45);
  }

  /* ---------- FAQ ---------- */
  .faq{
    max-width:900px;margin:0 auto;margin-top:1.5rem;
    display:grid;gap:0;
  }
  .faq details{
    border-bottom:1px solid rgba(80,66,109,0.18);
    padding:0;
  }
  .faq details:first-child{border-top:1px solid rgba(80,66,109,0.18)}
  .faq summary{
    list-style:none;
    padding:1.9rem 0;
    display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
    cursor:pointer;
    font-family:'Libre Baskerville',serif;
    font-size:1.35rem;
    font-weight:400;
    color:var(--ink);
    transition:color .25s ease;
    line-height:1.35;
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary:hover{color:var(--teal-dark)}
  .faq summary .toggle{
    flex-shrink:0;
    width:22px;height:22px;
    display:grid;place-items:center;
    position:relative;
    color:var(--teal);
    font-family:'Nunito',sans-serif;
    font-weight:300;
    font-size:1.5rem;
    line-height:1;
  }
  .faq summary .toggle::before{content:"+"}
  .faq details[open] summary{color:var(--purple)}
  .faq details[open] summary .toggle::before{content:"×";font-weight:300;font-size:1.6rem}
  .faq .answer{
    padding:0 0 2rem;
    color:var(--muted);
    font-size:1.02rem;line-height:1.95;
    max-width:780px;
  }

  /* ---------- CONTATO ---------- */
  .bg-purple{background:var(--purple);color:#fff}
  .bg-purple .section-title{color:#fff}
  .bg-purple .section-title em{color:#BFE3E8}
  .bg-purple .section-lead{color:rgba(255,255,255,0.72)}

  .contact{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:clamp(2.5rem,6vw,5rem);
    align-items:flex-start;
  }
  .contact-methods{
    display:grid;gap:1rem;margin-top:2.5rem;
  }
  .method{
    display:grid;grid-template-columns:auto 1fr auto;gap:1rem;
    padding:1.25rem 1.5rem;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.12);
    transition:all .25s ease;
  }
  .method:hover{background:rgba(255,255,255,0.1);border-color:var(--teal)}
  .method .ico{
    width:38px;height:38px;
    border:1px solid rgba(255,255,255,0.25);
    display:grid;place-items:center;
    color:#BFE3E8;
  }
  .method .k{
    font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;
    color:#BFE3E8;font-weight:700;
    margin-bottom:3px;
  }
  .method .v{color:#fff;font-weight:600;font-size:0.98rem}
  .method .arrow{align-self:center;color:rgba(255,255,255,0.6)}

  .form{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.12);
    padding:2rem;
  }
  .form h3{
    color:#fff;font-size:1.4rem;margin-bottom:.5rem;
  }
  .form p.note{
    color:rgba(255,255,255,0.65);font-size:0.85rem;margin-bottom:1.5rem;
  }
  .field{display:grid;gap:.4rem;margin-bottom:1.25rem}
  .field label{
    font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;
    color:#BFE3E8;font-weight:700;
  }
  .field input,.field select,.field textarea{
    background:transparent;
    border:0;border-bottom:1px solid rgba(255,255,255,0.25);
    color:#fff;font-family:'Nunito',sans-serif;font-size:0.95rem;
    padding:10px 0;
    transition:border-color .25s ease;
  }
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:none;border-bottom-color:var(--teal);
  }
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,0.4)}
  .field select option{color:var(--ink)}
  .form .btn{width:100%;justify-content:center;margin-top:.5rem}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--ink);
    color:rgba(255,255,255,0.6);
    padding:3rem 0 1.5rem;
    font-size:0.8rem;
  }
  .foot-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1.1fr 1.2fr;
    gap:2rem;
    margin-bottom:2rem;
  }
  .foot-brand .brand{color:#fff;font-size:0.92rem;letter-spacing:0.16em}
  .foot-brand p{margin-top:.85rem;line-height:1.7;color:rgba(255,255,255,0.5);max-width:300px;font-size:0.78rem}
  .foot-col h5{
    font-family:'Nunito',sans-serif;font-weight:700;
    font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;
    color:#fff;margin-bottom:1rem;
  }
  .foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
  .foot-col a{color:rgba(255,255,255,0.6);font-size:0.8rem;transition:color .2s ease}
  .foot-col a:hover{color:var(--teal)}
  .foot-addr{font-style:normal;font-size:0.78rem;line-height:1.7;color:rgba(255,255,255,0.6)}
  .foot-cnpj{margin-top:.75rem;font-size:0.72rem;color:rgba(255,255,255,0.45);letter-spacing:0.04em}
  .foot-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.08);
    flex-wrap:wrap;gap:1rem;
    font-size:0.72rem;
    color:rgba(255,255,255,0.45);
  }
  .socials{display:flex;gap:.75rem}
  .socials a{
    width:36px;height:36px;
    border:1px solid rgba(255,255,255,0.15);
    border-radius:var(--radius);
    display:grid;place-items:center;
    color:rgba(255,255,255,0.65);
    transition:all .25s ease;
  }
  .socials a:hover{color:#fff;border-color:var(--teal);background:var(--teal)}

  /* ---------- TWEAKS marker ---------- */

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 960px){
    .nav-links{display:none}
    .burger{display:flex}
    .hero{grid-template-columns:1fr;min-height:auto}
    .hero-right{aspect-ratio:4/5;min-height:420px}
    .hero-stats{grid-template-columns:repeat(3,1fr);gap:1rem;max-width:none}
    .hero-stats .n{font-size:1.4rem}

    .help-grid,.services-grid,.portfolio-grid,.blog-grid{grid-template-columns:1fr}
    .process{grid-template-columns:1fr 1fr}
    .process-step{border-left:0;border-top:1px solid rgba(255,255,255,0.15);padding:1.5rem 1rem}
    .process-step:first-child,.process-step:nth-child(2){border-top:0}
    .about,.feature,.agency,.contact{grid-template-columns:1fr}
    .feature.reverse{direction:ltr}
    .quotes{grid-template-columns:1fr}
    .clients{grid-template-columns:repeat(2,1fr)}
    .client{border-top:1px solid var(--line)}
    .client:nth-child(odd){border-left:0}
    .foot-grid{grid-template-columns:1fr 1fr;gap:1.75rem}
    .foot-brand{grid-column:1/-1}
  }
  @media (max-width: 560px){
    .process{grid-template-columns:1fr}
    .process-step{border-top:1px solid rgba(255,255,255,0.15) !important}
    .clients{grid-template-columns:1fr}
    .client{border-left:0}
    .foot-grid{grid-template-columns:1fr}
  }

  /* ---------- TWEAKS PANEL ---------- */
  .tweaks-panel{
    position:fixed;bottom:24px;right:24px;z-index:100;
    width:280px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 20px 60px rgba(80,66,109,0.2);
    padding:1.25rem 1.25rem 1.5rem;
    display:none;
    font-family:'Nunito',sans-serif;
  }
  .tweaks-panel.visible{display:block}
  .tweaks-panel h6{
    font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--teal);font-weight:700;margin:0 0 .25rem;
  }
  .tweaks-panel .title{
    font-family:'Libre Baskerville',serif;font-size:1.1rem;color:var(--purple);
    margin-bottom:1rem;
  }
  .tweaks-panel .row{display:grid;gap:.35rem;margin-bottom:1rem}
  .tweaks-panel label{
    font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--muted);font-weight:700;
  }
  .tweaks-panel .opts{display:flex;gap:.35rem;flex-wrap:wrap}
  .tweaks-panel .opt{
    padding:6px 10px;font-size:0.75rem;
    border:1px solid var(--line);
    border-radius:var(--radius);
    color:var(--ink);background:#fff;
    cursor:pointer;
  }
  .tweaks-panel .opt.active{background:var(--teal);color:#fff;border-color:var(--teal)}
  .tweaks-panel .close{
    position:absolute;top:10px;right:12px;
    width:24px;height:24px;display:grid;place-items:center;
    color:var(--muted);font-size:1.1rem;
  }
  /* ---------- BUBBLES (about) ---------- */
  .bubbles{
    margin-top:2rem;
    display:flex;flex-wrap:wrap;
    gap:.75rem;
  }
  .bubble{
    display:inline-flex;align-items:center;
    padding:12px 20px;
    border-radius:100px;
    font-family:'Nunito',sans-serif;
    font-weight:600;
    font-size:0.88rem;
    border:1px solid transparent;
    transition:transform .25s ease;
  }
  .bubble:hover{transform:translateY(-2px)}
  .bubble.b1{background:var(--purple);color:#fff}
  .bubble.b2{background:var(--teal);color:#fff}
  .bubble.b3{background:rgba(137,121,172,0.25);color:var(--purple);border-color:rgba(137,121,172,0.4)}
  .bubble.b4{background:#fff;color:var(--teal-dark);border-color:var(--teal)}
  .bubble.b5{background:var(--lavender);color:#fff}
  .bubble.b6{background:rgba(82,146,157,0.2);color:var(--teal-dark);border-color:rgba(82,146,157,0.4)}
  .bubble.b7{background:var(--teal-dark);color:#fff}
  .bubble.b8{background:#fff;color:var(--purple);border-color:rgba(80,66,109,0.25)}

  body.accent-lavender{--teal:#8979AC;--teal-dark:#50426D;--teal-25:rgba(137,121,172,0.3)}
  body.accent-rose{--teal:#C8918B;--teal-dark:#8E5F5A;--teal-25:rgba(200,145,139,0.3)}
  body.density-compact{--section-pad:clamp(3rem,6vw,5rem)}