:root{
    --white:#ffffff;
    --sand:#9f866f;
    --bronze:#806455;
    --ink:#241a13;
    --ink-soft:#5b4a3e;
    --line:#e7e0d8;
    --shell:#faf7f4;
    --radius:14px;
    --maxw:1180px;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --white:#ffffff;--sand:#9f866f;--bronze:#806455;--ink:#241a13;--ink-soft:#5b4a3e;--line:#e7e0d8;--shell:#faf7f4;
    }
  }
  :root[data-theme="dark"]{
    --white:#ffffff;--sand:#9f866f;--bronze:#806455;--ink:#241a13;--ink-soft:#5b4a3e;--line:#e7e0d8;--shell:#faf7f4;
  }
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:calc(86px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
  body{
    margin:0;background:var(--white);color:var(--ink);
    font-family:"Public Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:17px;line-height:1.6;font-weight:400;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}
  h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.1}
  h2{font-size:clamp(28px,3.4vw,44px)}
  h3{font-size:20px;letter-spacing:-.01em;line-height:1.25}
  p{margin:0 0 18px}
  :focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:4px}

  /* ---------- HEADER ---------- */
  .site-head{
    position:fixed;top:0;left:0;right:0;z-index:60;
    padding-top:env(safe-area-inset-top,0px);
    transition:background .35s ease, box-shadow .35s ease, border-color .35s ease;
    border-bottom:1px solid transparent;
  }
  .site-head::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(36,26,19,.55),rgba(36,26,19,0));
    transition:opacity .35s ease;
  }
  .head-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:86px}
  .brand{display:block;position:relative;width:240px;height:52px;flex:none;margin-left:clamp(-24px,-1.8vw,-14px)}
  .brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .35s ease}
  .brand .logo-dark{opacity:0}
  nav.main{display:flex;align-items:center;gap:34px}
  nav.main a{
    font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
    color:rgba(255,255,255,.88);padding:6px 0;position:relative;transition:color .25s ease;
  }
  nav.main a::after{
    content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--sand);transition:right .3s ease;
  }
  nav.main a:hover::after{right:0}
  .site-head.solid{background:var(--white);border-bottom-color:var(--line);box-shadow:0 6px 28px rgba(36,26,19,.07)}
  .site-head.solid::before{opacity:0}
  .site-head.solid .logo-light{opacity:0}
  .site-head.solid .logo-dark{opacity:1}
  .site-head.solid nav.main a{color:var(--ink-soft)}
  .site-head.solid nav.main a:hover{color:var(--bronze)}
  .menu-btn{display:none;background:none;border:0;padding:10px;cursor:pointer}
  .menu-btn span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:background .3s}
  .site-head.solid .menu-btn span{background:var(--ink)}

  /* ---------- BUTTONS ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:12px;
    padding:17px 30px;border-radius:999px;border:0;cursor:pointer;
    font-size:16px;font-weight:600;letter-spacing:-.01em;
    background:linear-gradient(105deg,var(--sand),var(--bronze));
    color:#fff;transition:transform .2s ease, box-shadow .25s ease, filter .25s ease;
    box-shadow:0 10px 26px rgba(128,100,85,.28);
  }
  .btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(128,100,85,.34);filter:saturate(1.05)}
  .btn svg{width:17px;height:17px;flex:none}
  .btn-ghost{
    background:transparent;color:var(--bronze);border:1.5px solid var(--sand);box-shadow:none;
  }
  .btn-ghost:hover{background:var(--bronze);border-color:var(--bronze);color:#fff;box-shadow:0 12px 26px rgba(128,100,85,.25)}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#6b543f}
  .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center right}
  .hero-scrim{
    position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(46,33,24,.90) 0%,rgba(46,33,24,.82) 28%,rgba(46,33,24,.55) 45%,rgba(46,33,24,.12) 60%,rgba(46,33,24,0) 72%);
  }
  .hero-scrim-b{position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,26,19,.34) 0%,rgba(36,26,19,0) 26%,rgba(36,26,19,0) 70%,rgba(36,26,19,.30) 100%)}
  .hero .wrap{position:relative;z-index:2;padding-top:120px;padding-bottom:56px}
  .hero-copy{max-width:640px;margin-left:clamp(-16px,-1.5vw,-6px)}
  .rule{width:64px;height:3px;background:var(--sand);border-radius:2px;margin-bottom:30px}
  .hero h1{
    font-size:clamp(34px,4.9vw,62px);line-height:1.06;letter-spacing:-.035em;color:#fff;font-weight:700;
    text-shadow:0 2px 26px rgba(30,20,14,.35);
  }
  .hero h1 .accent{color:#e8cfb2;display:block}
  .hero-sub{margin:26px 0 34px;font-size:clamp(16px,1.35vw,19px);line-height:1.55;color:rgba(255,255,255,.88);max-width:470px}
  .hero-note{margin:22px 0 0;font-size:13.5px;color:rgba(255,255,255,.62)}
  .hero-marks{
    display:flex;align-items:center;gap:0;margin-top:56px;padding-top:26px;
    border-top:1px solid rgba(255,255,255,.22);max-width:560px;
  }
  .mark{display:flex;flex-direction:column;gap:10px;padding-right:34px;margin-right:34px;border-right:1px solid rgba(255,255,255,.2)}
  .mark:last-child{border-right:0;padding-right:0;margin-right:0}
  .mark svg{width:26px;height:26px;stroke:var(--sand);fill:none;stroke-width:1.5}
  .mark span{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82)}

  /* ---------- SECTIONS ---------- */
  section{padding:104px 0}
  .sec-shell{background:var(--shell)}
  .sec-head{max-width:720px;margin-bottom:56px}
  .sec-head p{color:var(--ink-soft);font-size:18px;margin:20px 0 0}
  .kicker{
    display:inline-block;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
    color:var(--bronze);margin-bottom:16px;
  }

  /* pains */
  .pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
  .pain{background:var(--white);padding:36px 32px;transition:background .3s ease}
  .pain:hover{background:var(--shell)}
  .pain .n{font-size:13px;font-weight:700;color:var(--sand);letter-spacing:.06em}
  .pain h3{margin:14px 0 10px;font-size:18px}
  .pain p{margin:0;font-size:15.5px;color:var(--ink-soft);line-height:1.55}

  /* bpo highlight */
  .bpo{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
  .bpo-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
  .bpo-list li{display:flex;gap:14px;align-items:flex-start;font-size:16.5px;color:var(--ink-soft);line-height:1.5}
  .bpo-list svg{width:20px;height:20px;flex:none;margin-top:3px;stroke:var(--bronze);fill:none;stroke-width:1.8}
  .bpo-panel{
    background:linear-gradient(160deg,#3a2b20,#241a13);border-radius:20px;padding:46px 42px;color:#fff;
    box-shadow:0 30px 60px rgba(36,26,19,.20);
  }
  .bpo-panel h3{font-size:22px;color:#fff;margin-bottom:22px}
  .bpo-panel p{color:rgba(255,255,255,.78);font-size:15.5px}
  .compare{display:grid;gap:0;margin-top:8px}
  .compare-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .compare-row:last-child{border-bottom:0}
  .compare-row span{font-size:14.5px;line-height:1.45}
  .c-gen{color:rgba(255,255,255,.5)}
  .c-spec{color:#e8cfb2;font-weight:500}
  .compare-head{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.55)}

  /* services */
  .svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
  .svc{
    border:1px solid var(--line);border-radius:var(--radius);padding:38px 34px;background:var(--white);
    display:flex;flex-direction:column;transition:border-color .3s ease, transform .3s ease, box-shadow .3s ease;
  }
  .svc:hover{border-color:var(--sand);transform:translateY(-3px);box-shadow:0 18px 40px rgba(36,26,19,.08)}
  .svc .ic{width:46px;height:46px;border-radius:12px;background:var(--shell);display:grid;place-items:center;margin-bottom:22px}
  .svc .ic svg{width:23px;height:23px;stroke:var(--bronze);fill:none;stroke-width:1.6}
  .svc p{font-size:15.5px;color:var(--ink-soft);margin:12px 0 22px}
  .svc .for{margin-top:auto;font-size:13px;font-weight:600;color:var(--sand);letter-spacing:.02em}

  /* process */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
  .step{padding:32px 28px 0 0;position:relative}
  .step:last-child{border-right:0}
  .step::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:3px;background:var(--bronze)}
  .step .n{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--sand);text-transform:uppercase}
  .step h3{margin:14px 0 10px;font-size:18px}
  .step p{font-size:15px;color:var(--ink-soft);margin:0}

  /* about */
  .about{display:grid;grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center}
  .about p{font-size:17px;color:var(--ink-soft)}
  .about blockquote{
    margin:0 0 26px;padding:0 0 0 24px;border-left:3px solid var(--sand);
    font-size:19px;line-height:1.5;color:var(--ink);font-style:italic;
  }
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
  .stat b{display:block;font-size:clamp(34px,4vw,46px);font-weight:800;letter-spacing:-.04em;color:var(--bronze);line-height:1}
  .stat span{display:block;margin-top:8px;font-size:14px;color:var(--ink-soft);line-height:1.35}
  .about-visual{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px rgba(36,26,19,.16)}
  .about-visual img{width:100%;height:100%;object-fit:cover;object-position:center right}

  /* selo OAB/SE e CAASE */
  .selo{background:linear-gradient(160deg,#3a2b20,#241a13);color:#fff;position:relative;overflow:hidden}
  .selo::before{content:"";position:absolute;left:-130px;top:-150px;width:480px;height:480px;border-radius:50%;
    border:1px solid rgba(159,134,111,.22)}
  .selo::after{content:"";position:absolute;right:-110px;bottom:-190px;width:400px;height:400px;border-radius:50%;
    border:1px solid rgba(159,134,111,.16)}
  .selo .wrap{position:relative;z-index:2}
  .selo-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:68px;align-items:center}
  .selo .kicker{color:#e8cfb2}
  .selo h2{color:#fff}
  .selo-lead{color:rgba(255,255,255,.8);font-size:17.5px;line-height:1.6;margin:22px 0 34px;max-width:560px}
  .selo-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
  .selo-list li{display:flex;gap:14px;align-items:flex-start;font-size:16px;color:rgba(255,255,255,.84);line-height:1.5}
  .selo-list svg{width:20px;height:20px;flex:none;margin-top:3px;stroke:var(--sand);fill:none;stroke-width:1.8}
  .selo-cta{margin:36px 0 0}
  .selo-card{
    position:relative;overflow:hidden;
    background:linear-gradient(155deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.16);border-radius:20px;
    padding:clamp(30px,4.4vw,48px) clamp(20px,2.8vw,34px);text-align:center;
    box-shadow:0 30px 60px rgba(0,0,0,.24);
  }
  .selo-card::before{
    content:"";position:absolute;left:50%;top:44%;width:126%;height:126%;transform:translate(-50%,-50%);
    background:radial-gradient(closest-side,rgba(232,207,178,.17),rgba(232,207,178,0) 72%);pointer-events:none;
  }
  .selo-card picture{display:block}
  .selo-card img{position:relative;z-index:1;width:100%;max-width:520px;height:auto;margin:0 auto;
    filter:drop-shadow(0 16px 30px rgba(0,0,0,.35)) saturate(1.04)}
  .selo-tag{position:relative;z-index:1;margin:30px 0 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
    font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
  .selo-tag span{display:block;margin-top:8px;letter-spacing:.02em;text-transform:none;font-weight:500;font-size:13px;color:rgba(255,255,255,.42)}

  /* reviews */
  .rev-marquee{position:relative;overflow:hidden;margin-top:8px}
  .rev-marquee::before,.rev-marquee::after{
    content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none;
  }
  .rev-marquee::before{left:0;background:linear-gradient(90deg,#fff,transparent)}
  .rev-marquee::after{right:0;background:linear-gradient(270deg,#fff,transparent)}
  .rev-track{display:flex;width:max-content;will-change:transform;animation:rev-marquee 50s linear infinite;animation-duration:50s !important}
  .rev-group{display:flex;flex:none}
  @keyframes rev-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
  .rev{
    flex:none;width:360px;background:#fff;border:1px solid var(--line);border-radius:16px;
    padding:24px 24px 20px;margin-right:20px;
    display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(36,26,19,.06);
  }
  .rev-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .rev .g{width:21px;height:21px}
  .rev-stars{display:flex;gap:2px}
  .rev-stars svg{width:15px;height:15px;fill:#FBBC05}
  .rev-txt{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--ink-soft);flex:1}
  .rev-who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px}
  .rev-ava{
    width:40px;height:40px;border-radius:50%;flex:none;
    background:linear-gradient(150deg,#3a2b20,#241a13);color:#e8cfb2;
    display:grid;place-items:center;font-weight:700;font-size:14px;
  }
  .rev-who strong{display:block;font-size:14.5px;color:var(--ink)}
  .rev-who span:not(.rev-ava){display:block;font-size:12.5px;color:var(--ink-soft);margin-top:2px}

  /* faq */
  #faq .sec-head{max-width:none;text-align:center}
  .faq{max-width:860px;margin:0 auto}
  .faq-item{border-bottom:1px solid var(--line)}
  .faq-q{
    width:100%;background:none;border:0;padding:26px 44px 26px 0;text-align:left;cursor:pointer;
    font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.01em;position:relative;line-height:1.35;
  }
  .faq-q::after{
    content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;
    border-right:2px solid var(--sand);border-bottom:2px solid var(--sand);
    transform:translateY(-70%) rotate(45deg);transition:transform .3s ease;
  }
  .faq-item.open .faq-q::after{transform:translateY(-20%) rotate(225deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
  .faq-a p{padding:0 40px 26px 0;margin:0;color:var(--ink-soft);font-size:16px}

  /* contact */
  .contact{background:linear-gradient(155deg,#3a2b20,#241a13);color:#fff;position:relative;overflow:hidden}
  .contact::after{
    content:"";position:absolute;right:-140px;top:-120px;width:520px;height:520px;border-radius:50%;
    border:1px solid rgba(159,134,111,.28);
  }
  .contact::before{
    content:"";position:absolute;right:-40px;bottom:-200px;width:380px;height:380px;border-radius:50%;
    border:1px solid rgba(159,134,111,.18);
  }
  .contact .wrap{position:relative;z-index:2}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
  .contact h2{color:#fff}
  .contact .lead{color:rgba(255,255,255,.78);font-size:18px;margin:20px 0 34px}
  .cdata{list-style:none;padding:0;margin:0;display:grid;gap:18px}
  .cdata li{display:flex;gap:14px;align-items:flex-start;font-size:16px;color:rgba(255,255,255,.85)}
  .cdata svg{width:19px;height:19px;flex:none;margin-top:3px;stroke:var(--sand);fill:none;stroke-width:1.6}
  .cdata a:hover{color:#e8cfb2}
  form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:36px 34px;backdrop-filter:blur(6px)}
  .field{margin-bottom:18px}
  .field.f-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;margin:0!important;padding:0!important;border:0}
  .field label{display:block;font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:8px}
  .field input,.field select,.field textarea{
    width:100%;padding:14px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.07);color:#fff;font-size:16px;font-family:inherit;transition:border-color .25s ease,background .25s ease;
  }
  .field textarea{resize:vertical;min-height:96px}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.38)}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sand);background:rgba(255,255,255,.11)}
  .field select option{color:#241a13}
  form .btn{width:100%;justify-content:center;margin-top:8px}
  .form-note{font-size:12.5px;color:rgba(255,255,255,.5);margin:16px 0 0;text-align:center;line-height:1.45}
  /* mensagens de erro do formulario: anuncia em leitores de tela sem alterar o visual */
  .form-status{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;margin:0!important;padding:0!important;border:0}

  /* scroll reveal */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1)}
  .reveal.in{opacity:1;transform:none}

  /* footer */
  footer{background:#1c140e;color:rgba(255,255,255,.62);padding:72px 0 0;font-size:15px}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:56px;padding-bottom:52px}
  .foot-brand img{width:250px;margin-bottom:22px}
  .foot h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:0 0 20px;font-weight:700}
  .foot ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
  .foot a:hover{color:#e8cfb2}
  .foot-bottom{
    border-top:1px solid rgba(255,255,255,.1);padding:24px 0 34px;
    display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:13.5px;color:rgba(255,255,255,.42);
  }
  .foot-bottom a{color:rgba(255,255,255,.62);text-decoration:none;transition:color .3s ease}
  .foot-bottom a:hover{color:#e8cfb2}
  /* crédito do criador: assinatura em PNG branco, agrupada com o copyright na
   * mesma linha e separada dele por uma divisória vertical fina.
   * A divisória é um pseudo-elemento do link, não um elemento solto no fluxo:
   * assim ela viaja junto com a assinatura quando o par quebra de linha e o
   * rodapé nunca fica com um tracinho órfão no meio.
   * top/bottom em % fazem o traço acompanhar a altura da arte em qualquer
   * largura, em vez de um valor fixo que desalinharia quando ela encolhe.
   * A altura da arte e o respiro usam clamp: crescem com a tela em telas
   * largas e encolhem o bastante para o par continuar cabendo numa linha só
   * até 820px. flex:0 0 auto impede que a linha do rodapé comprima a arte —
   * sem isso o PNG é achatado e a assinatura fica distorcida. */
  .foot-credit-line{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);flex-wrap:wrap;min-width:0}
  .foot-bottom a.foot-credit{
    flex:0 0 auto;display:inline-flex;align-items:center;position:relative;
    padding-left:clamp(18px,2.4vw,34px);
  }
  .foot-bottom a.foot-credit::before{
    content:"";position:absolute;left:0;top:20%;bottom:20%;width:1px;
    background:rgba(255,255,255,.24);border-radius:1px;
  }
  .foot-bottom a.foot-credit img{
    flex:0 0 auto;height:clamp(28px,2.7vw,40px);width:auto;display:block;opacity:.85;
    transition:opacity .3s ease;
  }
  .foot-bottom a.foot-credit:hover img{opacity:1}
  .foot-legal{
    display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;
    padding:20px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;
  }
  .foot-legal a{color:rgba(255,255,255,.42);text-decoration:none;transition:color .3s ease}
  .foot-legal a:hover{color:#e8cfb2}

  /* legal pages (privacidade, termos, cookies) */
  .legal-main{padding:150px 0 100px;background:var(--shell);min-height:calc(100svh - 320px)}
  .legal-main .wrap{max-width:860px}
  .legal-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:50px clamp(22px,5vw,60px)}
  .legal-main h1{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}
  .legal-main .updated{font-size:13.5px;color:var(--ink-soft);margin:0 0 30px}
  .legal-main h2{font-size:21px;color:var(--ink);margin:36px 0 14px;letter-spacing:-.01em}
  .legal-main p,.legal-main li{font-size:16px;line-height:1.7;color:var(--ink-soft)}
  .legal-main ul,.legal-main ol{padding-left:22px;margin:0 0 18px}
  .legal-main li{margin-bottom:8px}
  .legal-main a{color:var(--bronze);text-decoration:underline}
  .legal-main a:hover{color:var(--ink)}
  .legal-main .back{display:inline-flex;align-items:center;gap:8px;margin:0 0 30px;font-size:13px;
    font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bronze);text-decoration:none}
  .legal-main .back:hover{color:var(--ink)}
  /* SEO block */
  .seo-toggle{
    background:none;border:0;padding:4px 2px;cursor:pointer;color:rgba(255,255,255,.22);
    font-size:11px;letter-spacing:.2em;font-weight:600;transition:color .3s ease;
  }
  .seo-toggle:hover{color:rgba(255,255,255,.55)}
  .seo-panel{max-height:0;overflow:hidden;transition:max-height .5s ease}
  .seo-inner{padding:34px 0 40px;border-top:1px solid rgba(255,255,255,.08)}
  .seo-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
  .seo-cols h5{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin:0 0 12px;font-weight:700}
  .seo-cols p{font-size:12.5px;line-height:1.85;color:rgba(255,255,255,.34);margin:0}

  /* whatsapp */
  .wa{
    position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:70;
    width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;
    box-shadow:0 10px 26px rgba(37,211,102,.38);transition:transform .25s ease, box-shadow .25s ease;
  }
  .wa:hover{transform:scale(1.07);box-shadow:0 14px 32px rgba(37,211,102,.46)}
  .wa img{width:38px;height:38px;display:block;pointer-events:none}

  /* responsive */
  @media (min-width:1200px){
    nav.main{position:absolute;left:50%;top:0;height:100%;transform:translateX(-50%)}
  }
  @media (max-width:1040px){
    .bpo,.about,.contact-grid,.selo-grid{grid-template-columns:1fr;gap:48px}
    .pain-grid{grid-template-columns:repeat(2,1fr)}
    .steps{grid-template-columns:repeat(2,1fr)}
    .step{padding-bottom:28px}
    .step:nth-child(2){border-right:0}
    .foot-grid{grid-template-columns:1fr 1fr;gap:40px}
  }
  @media (max-width:900px){
    /* a divisória custa respiro dos dois lados: abaixo de 900px esse respiro
     * junto com a arte maior passaria da largura útil e quebraria a linha do
     * rodapé. Encolhe os dois para o par continuar alinhado. */
    .foot-credit-line{gap:16px}
    .foot-bottom a.foot-credit{padding-left:16px}
    .foot-bottom a.foot-credit img{height:26px}
  }
  /* Abaixo de 820px a linha do copyright já ocupa a largura toda e a
   * assinatura desce para baixo: a divisória sai junto, porque sozinha na
   * segunda linha ela vira um tracinho solto na margem, sem função. O limite
   * é o ponto medido em que o par deixa de caber na mesma linha. */
  @media (max-width:819px){
    .foot-bottom a.foot-credit{padding-left:0}
    .foot-bottom a.foot-credit::before{content:none}
  }
  @media (max-width:760px){
    body{font-size:16px}
    .wrap{padding:0 20px}
    section{padding:72px 0}
    .head-in{height:72px}
    .brand{width:180px;height:42px}
    nav.main{
      position:fixed;top:0;right:0;bottom:0;width:min(82vw,320px);background:var(--white);
      flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:40px 34px;
      transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:-20px 0 50px rgba(36,26,19,.2);
    }
    nav.main.open{transform:translateX(0)}
    nav.main a{color:var(--ink);font-size:15px}
    .menu-btn{display:block;position:relative;z-index:80}
    .menu-btn.open span{background:var(--ink)}
    .hero{min-height:auto}
    .hero-img{object-position:center 32%}
    .hero-scrim{background:linear-gradient(180deg,rgba(40,29,21,.92) 0%,rgba(40,29,21,.84) 34%,rgba(40,29,21,.5) 60%,rgba(40,29,21,.28) 100%)}
    .hero .wrap{padding-top:118px;padding-bottom:58vw}
    .hero-copy{max-width:520px}
    .hero h1{font-size:clamp(30px,8.6vw,38px);line-height:1.12}
    .hero-sub{margin:20px 0 28px;max-width:400px}
    .hero-marks{margin-top:34px;max-width:none;flex-wrap:wrap;gap:16px 0}
    .mark{padding-right:18px;margin-right:18px}
    .mark span{font-size:10px;letter-spacing:.12em}
    .pain-grid,.svc-grid,.steps,.stats,.seo-cols,.foot-grid{grid-template-columns:1fr}
    .rev{width:300px}
    .step{padding:26px 0}
    .stats{gap:22px}
    .sec-head{margin-bottom:40px}
    .kicker{font-size:11px}
    .pain{padding:28px 22px}
    .svc{padding:28px 22px}
    .faq-q{font-size:16px;padding:22px 38px 22px 0}
    .contact-grid{gap:36px}
    .bpo-panel,form{padding:28px 22px}
    .selo-card{padding:26px 20px}
    .selo-lead{font-size:16px;margin:18px 0 28px}
    .selo-list li{font-size:15.5px}
    .wa{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
    .wa img{width:30px;height:30px}
    .foot-bottom{flex-direction:column;align-items:flex-start}
    /* o par já está empilhado desde 819px; aqui só o respiro entre copyright e
     * assinatura é apertado, porque o rodapé inteiro vira uma coluna. */
    .foot-credit-line{gap:14px}
  }
  @media (max-width:420px){
    .wrap{padding:0 16px}
    section{padding:60px 0}
    .sec-head{margin-bottom:34px}
    .rev{width:min(270px,84vw)}
    .hero .wrap{padding-bottom:62vw}
    .hero h1{font-size:clamp(28px,9.5vw,34px)}
    .hero-copy{max-width:100%}
    .mark{padding-right:14px;margin-right:14px}
    .svc{padding:26px 20px}
    .bpo-panel,form{padding:24px 18px}
    .selo-card{padding:20px 14px}
    .selo-tag{font-size:11px}
    footer{padding:56px 0 0}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition-duration:.01ms !important;animation-duration:.01ms !important}
    .reveal{transition-duration:.65s !important}
    .rev-track{animation:none !important}
    html{scroll-behavior:auto}
  }
