/* v41: mobile-only presentation. The approved desktop layout is untouched. */
.mobile-simple-navigation { display: none; }
@media (max-width: 767px) {
  html { scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  body { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
  .site-announcement, .header-actions { display: none; }
  .header-inner { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; min-height: 76px; }
  .site-header .brand-logo { width: 180px; }
  .menu-toggle { min-height: 44px; }
  .primary-nav { padding: 12px 20px max(28px, env(safe-area-inset-bottom)); max-height: calc(100dvh - 140px); }
  .primary-nav > :not(.mobile-simple-navigation) { display: none; }
  .primary-nav .mobile-simple-navigation { display: grid; gap: 0; }
  .mobile-nav-label { color: #52647b; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin: 7px 0; }
  .mobile-simple-navigation a, .mobile-nav-more > summary { display: flex; align-items: center; min-height: 48px; padding: 11px 0; font-size: 1rem; line-height: 1.4; font-weight: 750; color: #10294e; border-bottom: 1px solid #dce5ec; }
  .mobile-simple-navigation a[aria-current="page"] { color: #075dc2; }
  .mobile-nav-more { margin-top: 4px; }
  .mobile-nav-more > summary { cursor: pointer; list-style: none; justify-content: space-between; }
  .mobile-nav-more > summary::-webkit-details-marker { display: none; }
  .mobile-nav-more > summary::after { content: '+'; color: #075dc2; font-size: 1.4rem; }
  .mobile-nav-more[open] > summary::after { content: '−'; }
  .mobile-nav-more a { padding-left: 16px; color: #52647b; font-size: .95rem; }
  .mobile-simple-navigation a:focus-visible, .mobile-nav-more > summary:focus-visible, .breeze-mobile-fold > summary:focus-visible { outline: 3px solid #075dc2; outline-offset: 3px; }
  .mobile-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 56px; padding-bottom: env(safe-area-inset-bottom); }
  .mobile-actions a { display: flex; align-items: center; justify-content: center; min-height: 56px; font-size: .94rem; padding: 12px; }

  /* A smaller first screen, not a smaller reading font. */
  .navigator-hero-inner { padding-block: 28px 38px; gap: 20px; }
  .navigator-hero h1 { font-size: clamp(2rem, 8.4vw, 3rem); line-height: 1.08; }
  .navigator-lead { font-size: 1rem; line-height: 1.55; margin: 16px 0 20px; }
  .navigator-hero .section-kicker { margin-bottom: 12px; }
  .navigator-call-note, .navigator-signature { display: none; }
  .navigator-hero-photo { padding: 7px 0 13px 7px; max-width: 430px; margin-top: 0; }
  .navigator-photo-frame { padding: 7px 7px 28px; }
  .navigator-photo-frame img { height: 165px; object-fit: cover; object-position: center 56%; }
  .navigator-hero-photo::before { right: -7px; }
  .navigator-hero-photo figcaption { font-size: .7rem; margin: -25px 0 0 14px; }
  .navigator-hero-photo figcaption span { display: inline; font-size: .68rem; margin-left: 5px; }
  .navigator-wave { height: 32px; }
  .comfort-navigator h2 { font-size: 1.75rem; line-height: 1.15; }
  .navigator-services { padding: 26px 0 34px; }
  .navigator-section-head { margin-bottom: 20px; text-align: left; }
  .navigator-services .navigator-section-head > p:last-child, .navigator-services .navigator-section-head .section-kicker { display: none; }
  .comfort-navigator .solution-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .comfort-navigator .solution-card { min-height: 124px; padding: 16px; border-radius: 10px; }
  .comfort-navigator .solution-card .solution-icon { height: 34px; width: 34px; }
  .comfort-navigator .solution-icon svg { width: 21px; height: 21px; }
  .comfort-navigator .solution-card h3 { font-size: 1.08rem; margin: 10px 0 4px; }
  .comfort-navigator .solution-card p, .comfort-navigator .solution-card small { display: none; }
  .comfort-navigator .solution-card .card-arrow { font-size: .75rem; margin-top: 0; }
  .comfort-navigator .comfort-finder { grid-template-columns: 36px minmax(0,1fr) auto; gap: 10px; padding: 12px; margin-top: 16px; }
  .comfort-finder-mascot { width: 36px; }
  .comfort-finder-intro strong { font-size: .88rem; line-height: 1.4; }
  .comfort-finder-intro span { display: none; }
  .comfort-finder-trigger { grid-column: auto; font-size: .8rem; min-height: 44px; padding: 10px !important; }
  .comfort-finder-panel { padding-bottom: 14px; }
  .comfort-finder-trigger[aria-expanded="true"] { min-height: 44px; }
  .comfort-finder-choices button { min-height: 48px; }
  .comfort-navigator .section-pad { padding-block: 32px; }
  .navigator-story-layout { display: block; }
  .navigator-story-photo { display: none; }
  .navigator-story-copy h2 { margin-bottom: 15px; }
  .navigator-story-copy > p:not(.section-kicker) { font-size: 1rem; line-height: 1.6; }
  .navigator-principles { margin: 16px 0; gap: 8px 14px; }
  .navigator-principles li { font-size: .82rem; }
  .breeze-bbb-home { margin-top: 20px; padding-top: 18px; }
  .breeze-bbb-home p { display: none; }
  .comfort-navigator .verified-testimonial--home { padding-block: 28px; }
  .comfort-navigator .verified-testimonial--home blockquote p { font-size: 1.5rem; }
  .home-questions-layout { gap: 16px; }
  .home-questions-layout > div:first-child > p:last-child, .home-questions .section-kicker { display: none; }
  .home-faqs summary, .core-faq-list summary, .child-faq-list summary, .service-faqs summary { font-size: 1rem; line-height: 1.5; }
  .navigator-final { padding: 46px 0 52px; }
  .navigator-final h2 { font-size: 2rem; }
  .navigator-final .section-kicker { margin-bottom: 12px; }
  .navigator-final p:not(.section-kicker) { font-size: 1rem; margin-top: 15px; line-height: 1.6; }

  .service-hero-layout, .core-hero-grid, .child-hero-inner, .hub-hero-grid, .contact-hero-inner { grid-template-columns: 1fr; padding-block: 28px 30px; gap: 20px; }
  .service-hero h1, .core-hero h1, .core-hero--about-us h1, .child-hero h1, .hub-hero h1, .contact-hero h1 { font-size: clamp(2rem, 8.4vw, 2.8rem); line-height: 1.12; }
  .service-breadcrumbs, .core-breadcrumbs, .child-breadcrumbs { margin-bottom: 16px; }
  .service-hero h1::after, .core-hero h1::after, .child-hero h1::after, .hub-hero h1::after, .contact-hero h1::after { margin-top: 16px; height: 4px; }
  .service-hero-lead, .core-hero-lead, .child-hero-lead, .contact-hero-copy > p:not(.section-kicker), .hub-hero-copy > p:not(.section-kicker):not(.hub-hero-subhead) { font-size: 1rem; line-height: 1.6; margin: 17px 0 20px; }
  .experience-recognition, .service-first-call, .child-hero-subhead, .hub-hero-subhead { display: none; }
  .service-brand-context { gap: 12px; margin-bottom: 12px; }
  .service-brand-context img { width: 100px; }
  .service-paths { gap: 8px; margin-top: 16px; }
  .service-paths a { min-height: 44px; font-size: .82rem; }
  .service-jump-nav, .core-jump, .child-jump-nav { display: none; }
  .service-hero-media img, .core-brand-photo.verified-photo img, .child-project-photo img, .hub-photo img { max-height: 180px; width: 100%; height: auto; object-fit: contain; }
  .service-hero-media figcaption, .core-brand-photo figcaption, .child-project-photo figcaption { font-size: .75rem; }
  .core-brand-photo.verified-photo, .child-project-photo { width: 100%; max-width: 430px; }
  .service-page-body .service-section, .core-article .core-section, .child-article .child-section { padding-block: 32px; }
  .service-page-body h2, .core-section h2, .child-section h2, .breeze-scope h2, .core-service-directory h2, .hub-heading h2 { font-size: 1.65rem; line-height: 1.2; }
  .core-prose p, .core-prose li, .child-prose p, .child-prose li, .service-page-body p { font-size: 1rem; line-height: 1.65; }
  .core-intro { padding-top: 28px; }
  .service-conclusion, .core-article .core-section--closing, .child-article .child-section--closing { padding-block: 36px; }
  .service-card-number { display: none; }
  .breeze-scope { padding-block: 30px; }
  .breeze-scope-grid { grid-template-columns: 1fr; gap: 8px; margin-top: 16px; }
  .breeze-scope-grid p { font-size: 1rem; line-height: 1.65; }
  .breeze-scope-grid > .breeze-mobile-fold { padding: 0; background: #fff; border: 1px solid #dce5ec; border-radius: 7px; }
  .breeze-price-list { margin-top: 20px; }
  .breeze-price-note { font-size: .85rem; line-height: 1.6; }
  .core-service-directory { padding-block: 28px; }
  .core-service-grid { grid-template-columns: 1fr; gap: 8px; }
  .core-service-card { min-height: 56px; padding: 16px; flex-direction: row; align-items: center; gap: 12px; justify-content: space-between; border-top-width: 1px; }
  .core-service-card span { display: none; }
  .core-service-card strong { font-size: 1rem; }
  .core-service-card b { flex: 0 0 auto; margin: 0; }
  .hub-paths { padding-block: 30px; }
  .hub-feature-grid { grid-template-columns: 1fr; gap: 9px; margin-top: 20px; }
  .hub-feature-card { min-height: 72px; padding: 16px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; }
  .hub-card-number, .hub-feature-card p, .hub-heading > p:last-child { display: none; }
  .hub-feature-card h3 { font-size: 1.08rem; margin: 0; }
  .hub-card-arrow { font-size: .76rem; padding: 0; }
  .hub-more, .hub-context { padding-block: 30px; }
  .hub-context-layout { grid-template-columns: 1fr; gap: 24px; }
  .hub-contact-box { padding: 22px; }

  /* Native disclosures reveal detail only when the visitor asks for it. */
  .breeze-mobile-fold { display: block; margin: 0; border-block-end: 1px solid #dce5ec; background: #f7fafd; }
  .breeze-mobile-fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; padding: 16px 20px; cursor: pointer; list-style: none; color: #10294e; font-size: 1rem; font-weight: 750; line-height: 1.45; }
  .breeze-mobile-fold > summary::-webkit-details-marker { display: none; }
  .breeze-mobile-fold > summary::after { content: '+'; color: #075dc2; font-size: 1.4rem; font-weight: 500; flex: 0 0 auto; }
  .breeze-mobile-fold[open] > summary::after { content: '−'; }
  .breeze-mobile-fold > summary > .breeze-mobile-fold-title { margin: 0; font: inherit; color: inherit; }
  .breeze-mobile-fold-panel .breeze-mobile-original-heading { display: none; }
  .breeze-mobile-fold-panel > section { padding-block: 26px !important; }
  .breeze-mobile-fold-panel .navigator-process::before { display: none; }
  .breeze-mobile-fold-panel .navigator-section-head .section-kicker, .breeze-mobile-fold-panel .planning-lead .section-kicker { display: none; }
  .breeze-mobile-fold--inline { margin: 16px 0; border: 1px solid #dce5ec; border-radius: 8px; }
  .breeze-mobile-fold--inline .breeze-mobile-fold-panel { padding: 0 18px 18px; }
  .breeze-mobile-fold--inline .breeze-mobile-fold-panel > aside, .breeze-mobile-fold--inline .breeze-mobile-fold-panel > div { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .breeze-mobile-fold--scope .breeze-mobile-fold-panel { padding: 0 16px 16px; }
  .breeze-mobile-fold--scope > summary { padding: 13px 16px; min-height: 52px; }
  .breeze-mobile-fold--scope .breeze-mobile-fold-panel > div { padding: 0; border: 0; background: transparent; }
  .breeze-mobile-fold--contact { margin: 12px 0; border: 1px solid #dce5ec; border-radius: 8px; }
  .breeze-mobile-fold--contact .breeze-mobile-fold-panel { padding: 0 18px 18px; }
  .breeze-mobile-fold--contact .breeze-mobile-fold-panel > div { display: grid; gap: 12px; }
  .breeze-mobile-fold-panel .contact-page-aside { padding-top: 14px; }
  .contact-page-layout { padding-block: 28px 36px; gap: 22px; }
  .contact-page-body h2 { font-size: 1.6rem; margin-top: 28px; }
  .contact-page-body p, .contact-page-body li { line-height: 1.65; }
  .contact-booking-actions > a { flex: 1 1 100%; min-height: 50px; white-space: normal; }
  .contact-hero-copy > .contact-hero-helper { font-size: .84rem !important; }
  .site-footer { padding-block: 30px 20px; }
  .footer-top { display: grid; grid-template-columns: 1fr; gap: 20px; }
  .footer-brand { grid-column: auto; }
  .footer-brand .breeze-bbb-seal { width: 270px; }
  .footer-top > .breeze-mobile-fold { background: transparent; border-color: #334969; }
  .footer-top > .breeze-mobile-fold > summary { color: #fff; padding-inline: 0; }
  .footer-top > .breeze-mobile-fold > summary::after { color: #ffd447; }
  .footer-top > .breeze-mobile-fold > summary:focus-visible { outline-color: #ffd447; }
  .footer-top > .breeze-mobile-fold .breeze-mobile-fold-panel { padding-bottom: 16px; }
  .footer-links { gap: 4px; }
  .footer-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
  .footer-licenses { padding-block: 20px; gap: 12px; }
  .footer-bottom { margin-top: 12px; }
}
