/* Ferrer Precise Painting — phone layout */
@media (max-width:820px){
  :root{--mp:16px}
  *{box-sizing:border-box}
  html{scroll-padding-top:92px}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%;background:#03101d}
  img{max-width:100%}
  .top,.topin{display:none!important}

  /* Compact header */
  .nav{position:sticky!important;top:0!important;z-index:1000!important;height:auto!important;min-height:0!important;padding:0!important;background:#020d18!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 22px rgba(0,0,0,.32)!important}
  .navin{width:100%!important;max-width:none!important;height:auto!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:56px 36px!important;gap:0 12px!important;padding:0 var(--mp)!important;align-items:center!important}
  .navin .logo{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;width:64px!important;height:48px!important;overflow:hidden!important;background:transparent!important}
  .navin .logo img{display:block!important;width:64px!important;height:48px!important;max-height:48px!important;object-fit:contain!important;margin:0!important;filter:none!important}
  .navin .quote{grid-column:2!important;grid-row:1!important;justify-self:end!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:180px!important;min-height:36px!important;height:36px!important;margin:0!important;padding:0 14px!important;border-radius:9px!important;font-size:10px!important;line-height:1!important;letter-spacing:.01em!important;white-space:nowrap!important;box-shadow:0 6px 16px rgba(11,131,255,.2)!important}
  .navin .links{grid-column:1/-1!important;grid-row:2!important;display:flex!important;align-items:center!important;width:calc(100% + 32px)!important;height:36px!important;margin:0 -16px!important;padding:0 16px!important;gap:20px!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;border-top:1px solid rgba(255,255,255,.06)!important}
  .navin .links::-webkit-scrollbar{display:none!important}
  .navin .links a{flex:0 0 auto!important;display:flex!important;align-items:center!important;height:36px!important;padding:0!important;border:0!important;font-size:11px!important;font-weight:700!important;line-height:1!important;color:#b9c5d0!important}
  .navin .links a.active{color:#fff!important}

  /* Internal page header */
  header.nav:not(:has(.navin)){display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:56px 36px!important;gap:0 12px!important;padding:0 var(--mp)!important}
  header.nav>a:first-child{display:flex!important;align-items:center!important;width:64px!important;height:48px!important;overflow:hidden!important}
  header.nav>a:first-child img{width:64px!important;height:48px!important;object-fit:contain!important}
  header.nav>.cta{justify-self:end!important;align-self:center!important;width:auto!important;max-width:180px!important;min-height:36px!important;height:36px!important;padding:0 13px!important;margin:0!important;border-radius:9px!important;font-size:9px!important;white-space:nowrap!important}
  header.nav .navlinks{grid-column:1/-1!important;display:flex!important;align-items:center!important;width:calc(100% + 32px)!important;height:36px!important;margin:0 -16px!important;padding:0 16px!important;gap:20px!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;border-top:1px solid rgba(255,255,255,.06)!important}
  header.nav .navlinks::-webkit-scrollbar{display:none!important}
  header.nav .navlinks a{flex:0 0 auto!important;display:flex!important;align-items:center!important;height:36px!important;font-size:11px!important}

  /* Homepage hero */
  .hero{min-height:0!important;padding:0!important;background-position:57% center!important;background-size:cover!important}
  .hero:before{background:linear-gradient(180deg,rgba(2,9,16,.2),rgba(2,9,16,.56) 36%,rgba(2,9,16,.94) 70%,#03101d)!important}
  .hero-inner{min-height:0!important;width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:1fr!important;gap:22px!important;padding:96px var(--mp) 30px!important}
  .copy{width:100%!important;padding:0!important;margin:0!important}
  .copy .eyebrow{display:inline-flex!important;padding:6px 9px!important;border-radius:6px!important;font-size:9px!important;line-height:1!important}
  .copy h1{max-width:355px!important;margin:14px 0!important;font-size:clamp(38px,10.8vw,45px)!important;line-height:.97!important;letter-spacing:-.045em!important;text-wrap:balance!important}
  .copy p{max-width:355px!important;margin:0!important;font-size:16px!important;line-height:1.5!important;color:#edf4f9!important}
  .copy .actions,.actions,.area-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:20px!important}
  .copy .btn,.button,.area-actions .button{width:100%!important;min-height:50px!important;padding:0 15px!important;border-radius:10px!important;justify-content:center!important;text-align:center!important;font-size:14px!important}
  .copy .call-btn{font-size:0!important;gap:11px!important;background:linear-gradient(180deg,#0a1c2f,#06111f)!important;border:1px solid rgba(190,213,232,.65)!important;box-shadow:0 10px 24px rgba(0,0,0,.28)!important}
  .copy .call-btn::before{content:"";width:20px;height:20px;flex:0 0 20px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.8a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.33 1.84.56 2.8.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
  .copy .call-btn::after{content:"Call (559) 668-1692";font-size:14px;font-weight:900;letter-spacing:.015em;color:#fff}

  /* Form */
  .hero .form{width:100%!important;margin:0!important;padding:21px 16px!important;border-radius:18px!important;background:#07192b!important;border:1px solid #35536d!important;box-shadow:0 18px 44px rgba(0,0,0,.4)!important}
  .hero .form h2{margin:0!important;font-size:28px!important;line-height:1.04!important}
  .hero .form>p{margin:7px 0 15px!important;font-size:14px!important}
  .fields{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .fields input,.fields select,.fields textarea,.form input,.form select,.form textarea{width:100%!important;min-height:50px!important;padding:12px 13px!important;border-radius:9px!important;font-size:16px!important}
  .fields textarea,.form textarea{min-height:105px!important}
  .submit,.form button{width:100%!important;min-height:50px!important;border-radius:9px!important}

  /* Sections */
  main{padding:0 0 24px!important}
  .section,.content,.area-section{width:100%!important;margin:0!important;padding:46px var(--mp)!important;border-radius:0!important;border-left:0!important;border-right:0!important;box-shadow:none!important}
  .section-title,.content h2,.area-section h2{font-size:clamp(30px,8.5vw,35px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
  .section-sub,.lead{font-size:16px!important;line-height:1.55!important}
  .section-head,.area-section-head,.split,.contact-layout,.faq-layout,.area-intro,.area-fit,.about,.contact-grid,.review-layout{display:grid!important;grid-template-columns:1fr!important;gap:22px!important}
  .cards,.grid,.feature-grid,.area-grid,.area-service-grid,.area-process,.gallery-grid,.faq-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .card,.tile,.review,.feature,.area-card,.area-service,.area-step,.contact-box{border-radius:15px!important;overflow:hidden!important}
  .card img,.tile .thumb{height:210px!important;object-fit:cover!important}
  .card-body,.tile-body,.review,.feature,.area-card,.area-service,.area-step{padding:19px!important}
  .about{grid-template-columns:1fr!important}
  .about-img{min-height:270px!important}
  .about-copy{padding:40px var(--mp)!important}
  .gallery-grid{grid-template-columns:1fr!important}
  .gallery-grid img{height:240px!important;border-radius:14px!important}
  .why-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}

  /* Trust / reviews / FAQ */
  .trust-inner{display:flex!important;overflow-x:auto!important;gap:10px!important;padding:14px var(--mp)!important;scrollbar-width:none!important}
  .trust-inner::-webkit-scrollbar{display:none!important}
  .trust-item{flex:0 0 220px!important;min-height:72px!important;padding:12px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px!important;background:#081d33!important;justify-content:flex-start!important}
  .area-inner{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:18px var(--mp)!important;text-align:center!important}
  .area-btn{width:100%!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important}
  .review-layout{grid-template-columns:1fr!important}
  .review-viewport{overflow-x:auto!important;scrollbar-width:none!important}
  .review-track{transform:none!important;gap:12px!important}
  .review-card{width:82vw!important;max-width:335px!important;min-height:195px!important;border-radius:15px!important}
  .faq details{border-radius:11px!important;overflow:hidden!important}
  .faq summary{padding:16px!important;font-size:14px!important}

  /* CTA/footer */
  .cta{display:grid!important;grid-template-columns:1fr!important}
  .cta-img{height:190px!important}
  .cta-copy,.cta-phone{padding:20px var(--mp)!important;text-align:center!important;border:0!important}
  .cta-btn{min-height:50px!important;margin:0 var(--mp) 22px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important}
  .footer{padding:38px var(--mp) calc(26px + env(safe-area-inset-bottom))!important}
  .footer-grid{display:grid!important;grid-template-columns:1fr!important;gap:23px!important}
  .footer-grid>div:not(:first-child){padding-top:17px!important;border-top:1px solid rgba(255,255,255,.08)!important}
  .footer img{width:145px!important}
  .copyright{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
}

@media(max-width:390px){
  :root{--mp:14px}
  .navin{grid-template-rows:52px 34px!important;padding:0 14px!important}
  .navin .logo,.navin .logo img{width:58px!important;height:44px!important}
  .navin .quote{max-width:158px!important;height:34px!important;min-height:34px!important;padding:0 11px!important;font-size:9px!important}
  .navin .links{width:calc(100% + 28px)!important;height:34px!important;margin:0 -14px!important;padding:0 14px!important;gap:18px!important}
  .navin .links a{height:34px!important;font-size:10px!important}
  .hero-inner{padding-top:82px!important}
  .copy h1{font-size:37px!important}
  .why-grid{grid-template-columns:1fr!important}
}

/* 2026-09 comprehensive phone optimization */
@media (max-width:820px){
  html{scroll-padding-top:78px!important;-webkit-text-size-adjust:100%}
  body{min-width:0!important;overflow-x:clip!important}
  body,button,input,select,textarea{font-synthesis:none}
  a,button,input,select,textarea{touch-action:manipulation}
  h1,h2,h3,p,li,a,span{overflow-wrap:break-word}
  input,select,textarea{max-width:100%}

  /* Stop the older horizontal-nav rules from reserving phantom rows. mobile-menu.css owns navigation. */
  .navin{grid-template-rows:auto!important;min-height:72px!important}
  header.nav:not(:has(.navin)){grid-template-rows:auto!important;min-height:72px!important}

  /* SEO breadcrumb trail */
  .seo-breadcrumbs{min-height:40px!important;padding:10px var(--mp)!important;gap:7px!important;font-size:11px!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  .seo-breadcrumbs::-webkit-scrollbar{display:none!important}

  /* Homepage: less dead space, stronger first-screen hierarchy */
  body#home .hero{background-position:60% center!important}
  body#home .hero-inner{padding:58px var(--mp) 28px!important;gap:18px!important}
  body#home .copy h1{max-width:370px!important;font-size:clamp(36px,10.4vw,44px)!important;line-height:.98!important}
  body#home .copy p{font-size:15px!important;line-height:1.52!important}
  body#home .hero .form{padding:19px 15px 17px!important}
  body#home .hero .form h2{font-size:26px!important}
  body#home .trust{overflow:hidden!important}
  body#home .trust-inner{scroll-snap-type:x proximity!important}
  body#home .trust-item{scroll-snap-align:start!important}
  body#home .areas .area-copy span{font-size:11px!important;line-height:1.55!important}
  body#home .section{padding-top:40px!important;padding-bottom:40px!important}
  body#home .card img{height:190px!important}
  body#home .reason{padding:16px 10px!important}
  body#home .reason .ri{font-size:34px!important}
  body#home .reason h3{font-size:15px!important}
  body#home .reason p{font-size:12px!important}

  /* Generic internal-page hero from page.css */
  body:not(#home)>.hero,body:not(#home) .hero{min-height:auto!important;padding:52px var(--mp) 58px!important;background-position:62% center!important}
  body:not(#home) .hero>div,body:not(#home) .hero-copy{width:100%!important;padding:24px 18px!important;border-radius:20px!important}
  body:not(#home) .hero h1{margin-top:16px!important;font-size:clamp(38px,11.2vw,50px)!important;line-height:.97!important}
  body:not(#home) .hero p{font-size:16px!important;line-height:1.55!important}
  body:not(#home) .hero-proof{grid-template-columns:1fr!important;gap:8px!important}
  body:not(#home) .hero-proof div{padding:11px 12px!important}

  /* Shared content pages */
  .content{padding:42px var(--mp)!important}
  .content h2{font-size:clamp(29px,8.3vw,36px)!important}
  .content p,.content li{font-size:14px!important;line-height:1.68!important}
  .lead{font-size:16px!important;line-height:1.58!important}
  .media-card{min-height:300px!important;border-radius:18px!important}
  .media-card .caption{left:18px!important;right:18px!important;bottom:17px!important}
  .media-card .caption b{font-size:19px!important}
  .media-card .caption span{font-size:12px!important}
  .metric-band{grid-template-columns:1fr!important;border-radius:16px!important}
  .metric{min-height:0!important;padding:18px!important}
  .metric strong{font-size:28px!important}
  .gallery-mosaic{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:12px!important}
  .gallery-shot,.gallery-shot:first-child{grid-column:auto!important;grid-row:auto!important;min-height:245px!important;border-radius:17px!important}
  .callout{grid-template-columns:1fr!important;gap:18px!important;padding:26px 20px!important;border-radius:18px!important}
  .callout .button{width:100%!important;min-height:50px!important}

  /* Service detail pages: compact without turning into an endless stack. */
  .service-page .service-hero{min-height:auto!important;padding:52px var(--mp) 62px!important;align-items:flex-end!important}
  .service-page .service-hero:before{background-position:63% center!important}
  .service-page .service-hero:after{left:var(--mp)!important;width:105px!important}
  .service-page .service-kicker{padding:7px 10px!important;font-size:9px!important;letter-spacing:.1em!important}
  .service-page .service-hero h1{margin:16px 0 14px!important;font-size:clamp(39px,11.5vw,52px)!important;line-height:.94!important}
  .service-page .service-hero p{font-size:15px!important;line-height:1.55!important}
  .service-page .trust-float{width:100%!important;margin:0!important;padding:12px var(--mp)!important;display:flex!important;gap:10px!important;overflow-x:auto!important;border:0!important;border-radius:0!important;background:#f5f8fb!important;box-shadow:none!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important}
  .service-page .trust-float::-webkit-scrollbar{display:none!important}
  .service-page .trust-point{flex:0 0 76vw!important;max-width:300px!important;min-height:92px!important;padding:17px 15px!important;border:1px solid #e0e8ef!important;border-radius:14px!important;background:#fff!important;text-align:left!important;scroll-snap-align:start!important}
  .service-page .trust-point b{font-size:14px!important}
  .service-page .trust-point span{font-size:11px!important;line-height:1.45!important}
  .service-page .service-section{padding:46px var(--mp)!important}
  .service-page .service-section h2{font-size:clamp(30px,8.6vw,38px)!important;line-height:1.02!important}
  .service-page .service-section .intro{font-size:15px!important;line-height:1.65!important}
  .service-page .service-split{grid-template-columns:1fr!important;gap:24px!important}
  .service-page .service-media{order:-1!important;min-height:300px!important;border-radius:20px!important}
  .service-page .service-media-copy{left:18px!important;right:18px!important;bottom:17px!important}
  .service-page .service-media-copy b{font-size:20px!important}
  .service-page .service-media-copy span{font-size:12px!important}
  .service-page .check-list{gap:10px!important;margin-top:22px!important}
  .service-page .check-list li{padding:15px 15px 15px 46px!important;border-radius:13px!important;font-size:13px!important}
  .service-page .check-list li:before{left:14px!important;top:14px!important}
  .service-page .feature-cards,.service-page .process-grid{grid-template-columns:1fr!important;gap:12px!important;margin-top:26px!important}
  .service-page .feature-card,.service-page .process-step{padding:21px!important;border-radius:17px!important}
  .service-page .feature-card h3,.service-page .process-step h3{font-size:19px!important}
  .service-page .service-gallery{grid-template-columns:1fr!important;grid-template-rows:none!important;gap:12px!important;margin-top:26px!important}
  .service-page .service-shot,.service-page .service-shot:first-child{grid-row:auto!important;min-height:245px!important;border-radius:18px!important}
  .service-page .review-band{grid-template-columns:1fr!important;gap:20px!important;padding:18px!important;border-radius:20px!important}
  .service-page .review-score{padding:22px!important;border-radius:17px!important}
  .service-page .review-score strong{font-size:52px!important}
  .service-page .review-quote{font-size:17px!important;line-height:1.58!important}
  .service-page .faq-list{margin-top:25px!important}
  .service-page .faq-list summary{padding:17px 18px!important;font-size:14px!important}
  .service-page .faq-list p{padding:0 18px 18px!important;font-size:13px!important}
  .service-page .final-cta{padding:46px var(--mp) calc(48px + env(safe-area-inset-bottom))!important}
  .service-page .final-cta h2{font-size:clamp(32px,9vw,40px)!important}
  .service-page .final-cta p{font-size:15px!important}

  /* City/service-area pages */
  .area-hero{min-height:auto!important;background-position:58% center!important}
  .area-hero-inner{width:100%!important;padding:48px var(--mp) 54px!important;grid-template-columns:1fr!important;gap:22px!important}
  .area-hero-copy h1{font-size:clamp(38px,11vw,50px)!important;line-height:.96!important}
  .area-hero-copy p{font-size:15px!important;line-height:1.58!important}
  .area-facts{width:100%!important;max-width:none!important;border-radius:16px!important;overflow:hidden!important}
  .area-facts-head{padding:20px 18px 16px!important}
  .area-facts-head h2{font-size:23px!important}
  .area-fact{grid-template-columns:30px 1fr!important;padding:15px 18px!important}
  .area-section{padding:42px var(--mp)!important}
  .area-section-head{gap:15px!important;margin-bottom:28px!important}
  .area-section-head h2,.area-intro-copy h2,.area-fit h2{font-size:clamp(29px,8.4vw,36px)!important}
  .area-section-head p,.area-intro-copy p,.area-fit p{font-size:14px!important;line-height:1.67!important}
  .area-intro-copy .lead{font-size:16px!important;line-height:1.6!important}
  .area-photo{min-height:290px!important;border-radius:18px!important;overflow:hidden!important}
  .area-photo-caption{left:17px!important;right:17px!important;bottom:16px!important}
  .area-photo-caption b{font-size:19px!important}
  .area-service-grid,.area-process{display:grid!important;grid-template-columns:1fr!important;border-left:0!important;gap:10px!important;border-top:0!important}
  .area-service,.area-step{min-height:0!important;padding:20px!important;border:1px solid rgba(7,30,49,.13)!important;border-radius:15px!important}
  .area-section.dark .area-step{border-color:rgba(255,255,255,.12)!important}
  .area-service h3,.area-step h3{margin-top:16px!important;font-size:20px!important}
  .area-directory-row{grid-template-columns:34px minmax(0,1fr) 22px!important;gap:10px!important;padding:18px 0!important}
  .area-directory-row h3{font-size:20px!important}
  .area-directory-row p{font-size:12px!important;line-height:1.5!important}
  .area-checklist{border-radius:16px!important;overflow:hidden!important}
  .area-checklist h3{padding:20px 18px 16px!important;font-size:20px!important}
  .area-check{padding:14px 18px!important;font-size:12px!important}
  .area-faq summary{padding:18px 40px 18px 0!important;font-size:14px!important;line-height:1.45!important}
  .area-faq p{padding:0 0 18px!important;font-size:13px!important}
  .nearby-links{gap:8px!important}
  .nearby-links a,.nearby-links span{padding:10px 11px!important;font-size:10px!important}
  body.area-directory .area-section:has(.area-callout),body.city-area .area-section:has(.area-callout){padding:38px var(--mp)!important}
  body.area-directory .area-callout,body.city-area .area-callout{padding:28px 20px!important;border-radius:20px!important}
  body.area-directory .area-callout h2,body.city-area .area-callout h2{font-size:clamp(30px,8.8vw,39px)!important}
  body.area-directory .area-callout p,body.city-area .area-callout p{margin-bottom:24px!important;font-size:16px!important}
  body.area-directory .area-callout .button,body.city-area .area-callout .button{min-height:56px!important;border-radius:14px!important;font-size:16px!important}

  /* Forms, review cards and footer polish */
  .form input,.form select,.form textarea,.fields input,.fields select,.fields textarea{font-size:16px!important}
  .review-track{scroll-snap-type:x proximity!important}
  .review-card{scroll-snap-align:start!important}
  .footer{font-size:12px!important;line-height:1.55!important}
  .footer a{min-height:32px!important;display:inline-flex!important;align-items:center!important}
}

@media (max-width:430px){
  :root{--mp:15px}
  body#home .hero-inner{padding-top:46px!important}
  body#home .copy h1{font-size:clamp(35px,10.6vw,42px)!important}
  .service-page .trust-point{flex-basis:82vw!important}
  .area-directory-row strong{font-size:10px!important}
}

@media (max-width:350px){
  :root{--mp:12px}
  body#home .copy h1{font-size:34px!important}
  .section-title,.content h2,.area-section h2,.service-page .service-section h2{font-size:29px!important}
  .copy .btn,.button,.area-actions .button{font-size:13px!important}
  .review-card{width:88vw!important}
}
