/* =====================================================
   MOBILE / TABLET: até 899px
   Ajustes são mobile-first dentro dos breakpoints
   ===================================================== */
@media (max-width: 899px) {
  .container { width:min(680px,calc(100% - 40px)); }
  .header-inner { min-height:74px; }
  .brand,.brand img { width:170px; }
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .btn-header { min-height:40px; font-size:.73rem; }
  .menu-backdrop { display:block; pointer-events:none; position:fixed; inset:0; z-index:47; background:rgba(2,17,28,.52); opacity:0; transition:opacity .25s; }
  .menu-backdrop.open { pointer-events:auto; opacity:1; }
  .mobile-menu { display:block; position:fixed; z-index:48; top:0; bottom:0; right:0; width:min(360px,86vw); padding:95px 25px 28px; background:white; transform:translateX(105%); transition:transform .27s; box-shadow:-10px 0 50px rgba(0,0,0,.15); visibility:hidden; }
  .mobile-menu.open { transform:translateX(0); visibility:visible; }
  .menu-toggle { position:relative; z-index:49; }
  .mobile-nav-list { display:grid; }
  .mobile-nav-list a { padding:15px 0; border-bottom:1px solid var(--line); font-size:1.15rem; color:var(--navy); font-weight:800; }
  .mobile-nav-footer { padding-top:28px; }
  body.menu-open { overflow:hidden; }
  .section { padding-block:75px; }
  .section-head { display:block; margin-bottom:30px; }
  .section-head h2 { font-size:clamp(1.95rem,5vw,2.8rem); }
  .section-head > p { max-width:560px; margin:18px 0 0; }
  .hero-layout { grid-template-columns:1fr; gap:35px; min-height:0; padding-block:77px 75px; }
  .hero h1 { font-size: clamp(2.5rem, 7vw, 4.1rem); }
  .hero-lead { max-width:620px; }
  .hero-art { width:min(570px,92%); margin-inline:auto; }
  .hero-main-photo { height:410px; }
  .hero-small-photo { left:-5%; width:36%; }
  .hero-brush { right:0; }
  .quality-row { flex-wrap:wrap; justify-content:flex-start; gap:16px 26px; padding-block:20px; }
  .quality-row p { flex:1 1 100%; max-width:unset; }
  .services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap:16px; }
  .service-img img { height:190px; }
  .service-body { padding:20px; min-height:265px; }
  .offer-grid,.about-grid,.faq-grid,.sub-grid,.detail-grid { grid-template-columns:1fr; gap:45px; }
  .offer-art { width:min(600px,90%); margin-inline:auto; }
  .offer-image img { height:300px; }
  .work-showcase { grid-template-columns:1fr; }
  .work-main { min-height:0; height:480px; }
  .work-side { display:grid; grid-template-columns:1fr 1fr; }
  .work-small { display:block; }
  .work-small img { height:150px; }
  .work-small > div { padding:20px; }
  .work-text { padding:23px; }
  .work-text h3 { font-size:1.35rem; }
  .about-visual { width:min(540px,90%); margin-inline:auto; }
  .about-photo img { height:330px; }
  .reviews-grid { grid-template-columns:1fr; gap:13px; }
  .review-card { padding:25px; }
  .faq-grid { gap:30px; }
  .sub-hero { padding-block:36px 62px; }
  .crumb { margin-bottom:40px; }
  .sub-photo img { height:320px; }
  .footer-top { grid-template-columns:1fr; gap:40px; padding-block:66px 56px; }
  .footer-details { padding:0; border:0; }
  .footer-bottom { min-height:120px; flex-wrap:wrap; padding-block:24px; }
}
@media (max-width: 599px) {
  .container { width:calc(100% - 34px); }
  .topline-content { min-height:32px; font-size:.64rem; }
  .topline-content a { display:none; }
  .site-header .header-inner { min-height:70px; gap:8px; }
  .brand,.brand img { width:154px; }
  .btn-header { display:none; }
  .hero-layout { padding-block:58px 62px; }
  .hero .eyebrow { font-size:.62rem; letter-spacing:.085em; gap:7px; }
  .hero h1 { margin:19px 0; font-size:clamp(2.25rem,9.8vw,3.2rem); }
  .hero-lead { font-size:.95rem; }
  .hero-ctas { flex-direction:column; align-items:stretch; }
  .hero-points { gap:12px; margin-top:24px; font-size:.78rem; }
  .hero-art { width:89%; margin:6px auto 0; padding:11px 8px 26px 10px; }
  .hero-photo-wrap,.hero-art::before { border-radius:90px 8px 8px 8px; }
  .hero-main-photo { height:315px; }
  .hero-small-photo { width:38%; border:4px solid white; left:-10%; bottom:3px; }
  .hero-small-photo img { height:94px; }
  .hero-photo-caption { font-size:.73rem; padding:26px 13px 12px; }
  .hero-brush { width:58px; top:9%; }
  .quality-row { gap:11px; }
  .quality-row span { font-size:.76rem; white-space:normal; }
  .section { padding-block:65px; }
  .section-head { margin-bottom:26px; }
  .section-head h2 { font-size:clamp(1.85rem,8vw,2.3rem); }
  .section-head > p { font-size:.9rem; }
  .services-grid { grid-template-columns:1fr; gap:17px; }
  .service-img img { height:205px; }
  .service-body { min-height:0; padding:21px 22px 24px; }
  .service-body p { margin-bottom:20px; }
  .services-bottom { padding:22px; flex-direction:column; align-items:stretch; text-align:center; }
  .offer-copy h2 { font-size:2.12rem; }
  .offer-price b { font-size:2rem; }
  .offer-art { width:94%; padding-bottom:20px; }
  .offer-image { padding:8px; }
  .offer-image img { height:235px; }
  .offer-tag { bottom:0; left:-8px; padding:12px 15px; font-size:.78rem; max-width:215px; }
  .work-main { height:400px; }
  .work-side { grid-template-columns:1fr; gap:15px; }
  .work-small { display:grid; grid-template-columns: 1fr 1fr; min-height:0; }
  .work-small img { height:100%; min-height:150px; }
  .work-small > div { padding:16px; }
  .work-small strong { font-size:1.05rem; }
  .work-text { padding:26px; }
  .about-visual { width:96%; }
  .about-photo img { height:310px; }
  .about-icon { width:80px; height:80px; }
  .about-icon svg { width:32px; height:32px; }
  .about-copy h2 { font-size:2.03rem; }
  .faq-grid h2 { font-size:2.1rem; }
  .faq-list summary { font-size:.9rem; padding-block:20px; }
  .sub-grid,.detail-grid { gap:30px; }
  .sub-copy h1 { font-size:2.3rem; }
  .sub-actions { align-items:stretch; flex-direction:column; }
  .sub-photo img { height:240px; }
  .detail-benefits p { font-size:.86rem; }
  .footer-intro h2 { font-size:2.1rem; }
  .footer-bottom { display:grid; justify-content:start; gap:12px; }
  .floating-wa { right:12px; bottom:12px; padding:14px; min-height:52px; }
  .floating-wa span { display:none; }
  .floating-wa svg { width:23px; height:23px; }
}
@media (max-width: 350px) {
  .brand,.brand img { width:135px; }
  .hero h1 { font-size:2.12rem; }
  .hero-main-photo { height:285px; }
  .hero-points { flex-direction:column; }
}
/* Menu visível no celular: botão próprio para fechar o painel. */
@media (max-width: 899px) {
  .mobile-menu-close { position:absolute; top:21px; right:24px; width:43px; height:43px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:#f4f7f9; color:var(--navy); font-size:1.7rem; cursor:pointer; }
}
