  :root{--navy:#001A33;--orange:#DA8324;--bg:#F7F6F3;--ink:#22303f;}
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:'Montserrat',sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
  img{max-width:100%;display:block}
  .wrap{max-width:1060px;margin:0 auto;padding:0 20px}
  h1,h2,h3{color:var(--navy);line-height:1.15}

  .topbar{background:#fff;border-bottom:1px solid #e8e5df;position:sticky;top:0;z-index:50}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
  .logo{font-weight:800;font-size:1.25rem;color:var(--navy);text-decoration:none}
  .logo span{color:var(--orange)}
  .top-right{display:flex;align-items:center;gap:20px}
  .top-link{font-weight:700;color:var(--navy);text-decoration:none;font-size:.92rem}
  .top-link:hover{color:var(--orange)}
  .top-call{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);text-decoration:none;font-size:.95rem;white-space:nowrap}
  .top-call svg{width:18px;height:18px;stroke:var(--orange)}
  .top-social{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1.5px solid #e8e5df;transition:.15s}
  .top-social svg{width:17px;height:17px;stroke:var(--navy);transition:.15s}
  .top-social:hover{border-color:var(--orange)}
  .top-social:hover svg{stroke:var(--orange)}
  @media(max-width:560px){.top-call span{display:none}.top-right{gap:12px}}

  .hero{background:#fff}
  .hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:56px 20px}
  .kicker{display:inline-block;background:rgba(218,131,36,.12);color:#a35d12;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:16px}
  .hero h1{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;margin-bottom:14px}
  .hero h1 em{color:var(--orange);font-style:normal}
  .hero p.sub{font-size:1.05rem;margin-bottom:22px;max-width:46ch}
  .price{font-weight:800;color:var(--navy)}
  .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
  .btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;border-radius:12px;padding:14px 22px;font-size:1rem;transition:.15s;border:2px solid transparent}
  .btn svg{width:20px;height:20px;flex:none}
  .btn-call{background:var(--navy);color:#fff}
  .btn-call:hover{background:#0a2c4f}
  .btn-wa{background:#1fa855;color:#fff}
  .btn-wa:hover{background:#178a45}
  .btn-quote{background:#fff;color:var(--navy);border-color:var(--navy)}
  .btn-quote:hover{background:var(--navy);color:#fff}
  .hero-img{border-radius:16px;box-shadow:0 20px 50px rgba(0,26,51,.18);height:auto}
  .trust{display:flex;flex-wrap:wrap;gap:18px;font-size:.85rem;font-weight:600;color:#5a6673}
  .trust li{display:flex;align-items:center;gap:7px;list-style:none}
  .trust svg{width:16px;height:16px;stroke:var(--orange)}

  .strip{background:linear-gradient(115deg,#001A33 0%,#062a4d 55%,#001A33 100%);color:#fff;padding:38px 0 0;overflow:hidden}
  .strip-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px 22px;text-align:center;padding-bottom:26px}
  .strip-price{font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800;line-height:1.2;background:linear-gradient(90deg,#DA8324 20%,#ffd9a8 40%,#DA8324 60%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 3.5s linear infinite}
  .ticker{border-top:1px solid rgba(255,255,255,.12);padding:14px 0;overflow:hidden;position:relative}
  .ticker:before,.ticker:after{content:"";position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none}
  .ticker:before{left:0;background:linear-gradient(90deg,#001A33,transparent)}
  .ticker:after{right:0;background:linear-gradient(270deg,#001A33,transparent)}
  .ticker-track{display:flex;gap:42px;width:max-content;animation:ticker 26s linear infinite}
  .ticker-track span{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:.95rem;font-weight:600;opacity:.95}
  .ticker-track svg{width:17px;height:17px;stroke:var(--orange);flex:none}
  @keyframes ticker{to{transform:translateX(-50%)}}
  @keyframes shine{to{background-position:200% center}}

  section.block{padding:64px 0}
  .block h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;text-align:center;margin-bottom:10px}
  .block p.lead{text-align:center;max-width:60ch;margin:0 auto 40px}
  .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .card{background:#fff;border:1px solid #eae7e1;border-radius:14px;padding:26px 20px;text-align:center;transition:.15s}
  .card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,26,51,.10)}
  .card svg{width:38px;height:38px;stroke:var(--orange);margin:0 auto 12px}
  .card h3{font-size:1rem;font-weight:700;margin-bottom:6px}
  .card p{font-size:.85rem;color:#5a6673}

  .includes{background:#fff}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:960px;margin:0 auto}
  .step{position:relative;border:1px solid #eae7e1;border-radius:14px;padding:30px 24px 26px;background:#fbfaf8;transition:.2s}
  .step:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,26,51,.10)}
  .step-n{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;font-size:1.2rem;margin-bottom:14px;box-shadow:0 6px 14px rgba(218,131,36,.35)}
  .step h3{font-size:1.02rem;margin-bottom:8px}
  .step p{font-size:.9rem;color:#5a6673}

  .work{background:var(--bg)}
  .mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:130px;grid-auto-flow:dense;gap:12px}
  .mosaic a{position:relative;border-radius:12px;overflow:hidden;display:block}
  .mosaic img{width:100%;height:100%;object-fit:cover;transition:.25s}
  .mosaic a:hover img{transform:scale(1.04)}
  .mosaic .tag{position:absolute;left:10px;bottom:10px;background:rgba(0,26,51,.82);color:#fff;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.02em}
  .m-2x3{grid-column:span 2;grid-row:span 3}
  .m-1x3{grid-row:span 3}
  .m-2x2{grid-column:span 2;grid-row:span 2}
  .m-1x2{grid-row:span 2}
  @media(max-width:860px){
    .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
    .m-2x3{grid-column:span 2;grid-row:span 2}
    .m-1x3,.m-1x2{grid-row:span 1;grid-column:span 1}
    .m-2x2{grid-column:span 2;grid-row:span 2}
  }
  .form-sec{background:var(--navy)}
  .form-sec h2,.form-sec p.lead{color:#fff}
  .form-card{background:#fff;border-radius:16px;padding:34px;max-width:560px;margin:0 auto;box-shadow:0 24px 60px rgba(0,0,0,.25)}
  .form-card label{font-weight:700;font-size:.85rem;color:var(--navy);display:block;margin:14px 0 5px}
  .form-card input,.form-card select,.form-card textarea{width:100%;padding:12px 14px;border:1.5px solid #d8d4cc;border-radius:10px;font:inherit;font-size:.95rem;background:#fbfaf8}
  .form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:var(--orange)}
  .form-card button{width:100%;margin-top:22px;background:var(--orange);color:#fff;font-weight:800;font-size:1.05rem;border:none;border-radius:12px;padding:15px;cursor:pointer;transition:.15s}
  .form-card button:hover{background:#c07018}
  .form-card button:disabled{opacity:.6;cursor:wait}
  .form-ok{display:none;text-align:center;padding:30px 10px}
  .form-ok svg{width:54px;height:54px;stroke:#1fa855;margin:0 auto 14px}
  .form-ok h3{margin-bottom:8px}
  .err{color:#c0392b;font-size:.85rem;margin-top:10px;display:none}
  .hint{color:#6b6459;font-size:.8rem;margin-top:5px}

  footer{background:#00121f;color:#8fa0b0;font-size:.8rem;padding:28px 0;text-align:center}
  footer b{color:#cdd8e2}
  .social{display:flex;justify-content:center;gap:14px;margin-bottom:16px}
  .social a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1.5px solid #2a3d50;transition:.15s}
  .social a svg{width:20px;height:20px;stroke:#8fa0b0;transition:.15s}
  .social a:hover{border-color:var(--orange);background:rgba(218,131,36,.12)}
  .social a:hover svg{stroke:var(--orange)}

  .float-wa{position:fixed;right:18px;bottom:18px;z-index:60;background:#1fa855;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.3)}
  .float-wa svg{width:30px;height:30px;fill:#fff}
  .callbar{display:none}

  /* ---- movimento ---- */
  @media (prefers-reduced-motion: no-preference){
    .hero .kicker,.hero h1,.hero p.sub,.hero .cta-row,.hero .trust{opacity:0;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) forwards}
    .hero h1{animation-delay:.1s}.hero p.sub{animation-delay:.2s}.hero .cta-row{animation-delay:.32s}.hero .trust{animation-delay:.44s}
    .hero-img{opacity:0;animation:heroIn 1s cubic-bezier(.16,1,.3,1) .15s forwards,kenburns 14s ease-in-out 1.3s infinite alternate}
    .rev{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0s)}
    .rev.in{opacity:1;transform:none}
    .float-wa:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #1fa855;animation:ring 2.2s ease-out infinite}
    .btn-call svg{animation:wiggle 4s ease-in-out 2s infinite}
  }
  @keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes heroIn{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
  @keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}
  @keyframes ring{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.55);opacity:0}100%{opacity:0}}
  @keyframes wiggle{0%,92%,100%{transform:rotate(0)}94%{transform:rotate(-12deg)}96%{transform:rotate(10deg)}98%{transform:rotate(-6deg)}}

  @media(max-width:860px){
    .hero .wrap{grid-template-columns:1fr;padding:36px 20px}
    .grid{grid-template-columns:repeat(2,1fr)}
    .steps{grid-template-columns:1fr}
    .hero-img{order:-1}
    body{padding-bottom:64px}
    .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;height:60px}
    .callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;color:#fff;text-decoration:none;font-size:.95rem}
    .callbar .c1{background:var(--navy)}.callbar .c2{background:#1fa855}
    .callbar svg{width:20px;height:20px}
    .float-wa{display:none}
  }

  /* ---- páginas internas (serviço, cidade, obrigado) ---- */
  .crumbs{font-size:.8rem;color:#6b7785;margin-bottom:10px}
  .crumbs a{color:#6b7785;text-decoration:none}
  .crumbs a:hover{color:var(--orange)}
  .lic{display:inline-flex;align-items:center;gap:10px;background:#fff7ee;border:1.5px solid rgba(218,131,36,.45);color:var(--navy);font-weight:700;font-size:.9rem;padding:9px 14px;border-radius:10px;margin-bottom:18px}
  .lic svg{width:20px;height:20px;stroke:var(--orange);flex:none}
  .lic small{font-weight:600;color:#5a6673}
  .hero-phone{font-weight:800;color:var(--navy);font-size:1.05rem;margin:-4px 0 14px}
  .hero-phone a{color:var(--navy);text-decoration:none}
  .photos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .photos-grid a{position:relative;border-radius:12px;overflow:hidden;display:block;aspect-ratio:3/4;background:#e9e6e0}
  .photos-grid img{width:100%;height:100%;object-fit:cover;transition:.25s}
  .photos-grid a:hover img{transform:scale(1.04)}
  .photos-grid .tag{position:absolute;left:10px;bottom:10px;background:rgba(0,26,51,.82);color:#fff;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:999px}
  .steps.four{grid-template-columns:repeat(4,1fr);max-width:1060px}
  .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .review{background:#fff;border:1px solid #eae7e1;border-radius:14px;padding:24px}
  .review p{font-size:.92rem;margin-bottom:12px}
  .review b{color:var(--navy);font-size:.88rem}
  .prose{max-width:760px;margin:0 auto}
  .prose p{margin-bottom:14px}
  .prose h3{margin:22px 0 8px;font-size:1.1rem}
  .prose ul{margin:0 0 14px 20px}
  .faq{max-width:760px;margin:0 auto}
  .faq details{background:#fff;border:1px solid #eae7e1;border-radius:12px;padding:16px 20px;margin-bottom:10px}
  .faq summary{font-weight:700;color:var(--navy);cursor:pointer;list-style:none;position:relative;padding-right:26px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary:after{content:"+";position:absolute;right:0;top:-2px;font-size:1.3rem;color:var(--orange)}
  .faq details[open] summary:after{content:"\2013"}
  .faq details p{margin-top:10px;font-size:.93rem}
  .links{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:860px;margin:0 auto}
  .links h3{font-size:1rem;margin-bottom:10px}
  .links ul{list-style:none}
  .links li{margin-bottom:6px}
  .links a{color:var(--navy);font-weight:600;text-decoration:none;font-size:.92rem}
  .links a:hover{color:var(--orange)}
  .ty{min-height:60vh;display:flex;align-items:center}
  .ty .box{background:#fff;border-radius:16px;padding:44px 30px;max-width:560px;margin:0 auto;text-align:center;box-shadow:0 18px 50px rgba(0,26,51,.12)}
  .ty svg.ok{width:64px;height:64px;stroke:#1fa855;margin:0 auto 16px}
  .ty h1{font-size:clamp(1.5rem,4vw,2.1rem);margin-bottom:10px}
  .ty p{margin-bottom:20px}
  @media(max-width:860px){
    .photos-grid{grid-template-columns:repeat(2,1fr)}
    .steps.four{grid-template-columns:1fr}
    .reviews{grid-template-columns:1fr}
    .links{grid-template-columns:1fr}
    .hero.inner .hero-img{order:1}
  }
  /* topo das páginas internas sem animação de entrada: texto e foto aparecem na hora (LCP no celular) */
  .hero.inner .kicker,.hero.inner h1,.hero.inner p.sub,.hero.inner .cta-row,.hero.inner .trust,.hero.inner .hero-img{opacity:1!important;animation:none!important}
  .prose a{color:var(--navy);font-weight:700}
