/* Denali v3 mobile pass (2026-11-11): phone-width fixes for text size and spacing, loaded last on every page.
   Owner: "some texts are not mobile user friendly, too small and too much spaces". Phones only (760px and below);
   desktop and tablet are untouched. Rules use the same selectors as v3.css / v3-pages.css and win by load order. */

@media (max-width:760px){
  /* ---------- one page gutter, one section rhythm ---------- */
  :root{--wrapw:calc(100vw - 40px);--side:20px}
  .dv-roof,.dv-spot,.dv-plan,.dv-faqsec,.dv-blk,.dv-band{padding-top:40px;padding-bottom:40px}
  .dv-more{padding-top:40px}
  .dv-more>.dv-wrap{padding-bottom:36px}
  .dv-consult{padding:40px 0 44px}
  .dv-pstrip{padding:28px 0}
  .dv-article .page-content{padding:32px 0 40px}
  .dv-areas__in{padding:22px 0;row-gap:6px}

  /* ---------- hero: less air above and below the text ---------- */
  .dv-hero__text{padding:26px var(--side) 40px}
  .dv-ph .dv-hero__text{padding:16px var(--side) 40px}
  .dv-hero__lead{margin-top:22px}
  .dv-ph__lead{margin-top:16px}
  .dv-hero__actions,.dv-ph .dv-hero__actions{margin-top:20px}

  /* ---------- trust strip: three short rows instead of three tall ones ---------- */
  .dv-trust__in{padding:2px 0}
  .dv-trust__item,.dv-trust__item--first,.dv-trust__item:last-child{padding:11px 0}
  .dv-trust__item strong{font-size:19px}
  .dv-trust__item--first span{font-size:16px}

  /* ---------- section heads and bodies ---------- */
  .dv-blk__title{margin-top:10px}
  .dv-blk__intro,.dv-blk__head--solo .dv-blk__intro{padding-top:14px}
  .dv-blk__body{margin-top:22px}
  .dv-blk__body>*+*{margin-top:22px}
  .dv-roof__body,.dv-ba{margin-top:22px}
  .dv-more__body{margin-top:22px;row-gap:22px}
  .dv-split,.dv-split--rev{row-gap:22px}
  .dv-split__copy>*+*{margin-top:18px}
  .dv-duo{row-gap:28px}
  .dv-stp{row-gap:22px}
  .dv-copy p+p,.dv-blk__intro p+p{margin-top:12px}
  .dv-copy--offset{padding:14px 16px}

  /* ---------- body text 16px or more ---------- */
  .dv-copy p,.dv-blk__intro p,.dv-nl li,.dv-duo__item .dv-copy p,.dv-q p,.dv-stp--plain p{font-size:17px}
  .dv-roof__intro,.dv-more__intro,.dv-consult__lead,.dv-plan__aside p,.dv-spot__aside p,.dv-roof__list p,
  .dv-steps p,.dv-cards p,.dv-stp p,.dv-faq__head p.dv-faq__sub{font-size:16px}
  .dv-faq__list details p{font-size:16px;line-height:1.5}
  .dv-region p,.dv-post p,.dv-post__d,.dv-stats span,.dv-ba figcaption,.dv-spot__foot p,.dv-spot__foot strong,
  .dv-field label,.dv-consult__call,.dv-find__label,.dv-trust__item--first span{font-size:16px}
  .dv-footer__col li,.dv-footer__col a{font-size:16px}
  .dv-chips li{font-size:15px}
  .dv-svc__t small{font-size:15px}

  /* ---------- labels and captions 13px or more ---------- */
  .dv-chip,.dv-roof__photo figcaption,.dv-photo figcaption,.dv-gal figcaption,.dv-pstrip figcaption,
  .dv-facts dt,.dv-tbl td[data-label]::before{font-size:13px}
  .dv-more__kitchen figcaption,.dv-more__bath figcaption,.dv-q footer{font-size:14px}
  .dv-form__legal,.dv-footer__base,.dv-footer__brand p,.dv-footer__brand p+p{font-size:14px}
  .dv-footer__contact li:last-child{font-size:15px}
  .dv-note{font-size:15px !important}
  .dv-eyebrow,.dv-eyebrow--peak,.dv-hero h1 .dv-eyebrow,.dv-ba__label,.dv-areas__label{font-size:14px}
  .dv-footer h2{font-size:16px}

  /* ---------- cards use the width: less inner padding so text is not squeezed ---------- */
  .dv-cards>li{padding:18px 16px 20px}
  .dv-q{padding:18px 16px 16px}
  .dv-region{padding:18px 16px 20px}
  .dv-steps li{padding:16px 16px 18px}
  .dv-post__body{padding:16px 16px 18px}
  .dv-form{padding:20px 16px 18px}
  .dv-article .sidebar-cta{padding:22px 18px}
  .dv-steps{row-gap:12px}
  .dv-cards,.dv-qs,.dv-qs--one,.dv-regions,.dv-posts{gap:12px}

  /* ---------- lists: shorter rows, still 44px+ tap targets ---------- */
  .dv-roof__list{padding-top:20px}
  .dv-roof__list li{padding:0 0 20px}
  .dv-roof__list li+li{padding-top:20px}
  .dv-nl li{padding:12px 0}
  .dv-find{padding-top:16px}
  .dv-find a{min-height:48px;padding:8px 0}
  .dv-faq__list summary,.dv-faq__list details+details summary{padding:12px 0}
  .dv-svc a{min-height:56px}

  /* ---------- tap targets ---------- */
  .dv-crumbs a,.dv-crumbs span{min-height:44px}
  .dv-link,.dv-actions .dv-btn,.dv-map__link{min-height:44px}
  .dv-footer__col a,.dv-top,.dv-footer__base a{min-height:44px;display:inline-flex;align-items:center}
  .dv-footer__col a{display:flex}

  /* ---------- footer: tighter ---------- */
  .dv-footer{padding:20px 0 4px}
}

/* very narrow phones: keep the same text floor, give headings a little back */
@media (max-width:374px){
  .dv-cards>li,.dv-q,.dv-region,.dv-steps li,.dv-post__body{padding-left:14px;padding-right:14px}
}
