/* U-Permits.com — responsive layout layer */
@media (max-width: 23.99rem) {
  .brand { gap: .45rem; }
  .brand img { width: 2.1rem; height: 2.1rem; }
  .brand__name { font-size: .8rem; }
  .mobile-cta { padding-inline: .55rem; font-size: .72rem; }
  .home-layout .brand__place { display: none; }
  .home-layout .mobile-cta { padding-inline: .5rem; font-size: .7rem; }
}

@media (min-width: 48rem) {
  .button-group { display: flex; flex-wrap: wrap; }
  .grid--2, .category-grid, .principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--3, .cut-grid, .post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-values__grid, .home-process__grid, .home-services__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-insights__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-split__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-split__grid--reverse .home-split__copy { order: 1; }
  .home-split__grid--reverse .home-split__media { order: 2; }
  .home-process__grid li:not(:last-child)::after { position: absolute; top: 2.8rem; right: -1.4rem; color: var(--navy); content: "→"; font-size: 1.4rem; }
  .home-service-card { min-height: 13rem; }
  .home-footer__inner { grid-template-columns: auto 1fr; }
  .home-footer nav { justify-content: flex-end; }
  .home-faq__grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .post-layout { grid-template-columns: minmax(0, 1fr) minmax(15rem, .45fr); }
  .post-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .legal-layout { grid-template-columns: minmax(12rem, .45fr) minmax(0, 1fr); }
  .home-footer p { grid-column: 1 / 2; }
  .home-footer small { grid-column: 2 / 3; grid-row: 2; text-align: right; }
  .metric-band { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .metric { padding: 1.5rem; }
  .metric + .metric { border-top: 0; border-left: 1px solid var(--border); }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-field--wide { grid-column: 1 / -1; }
  .source-panel__grid, .cta__inner { grid-template-columns: minmax(0, 1fr) auto; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1.2fr; }
  .footer-contact { grid-column: 1 / -1; }
}

@media (min-width: 64rem) {
  .utility-bar { display: none; }
  .site-header { backdrop-filter: blur(14px); }
  .header-inner { min-height: 4.6rem; }
  .mobile-cta, .nav-toggle { display: none; }
  .site-nav { position: static; flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 1.1rem; padding: 0; background: transparent; overflow: visible; visibility: visible; transform: none; }
  .nav-list { display: flex; align-items: center; }
  .nav-link { min-height: 2.75rem; position: relative; padding: .55rem .62rem; border: 0; background: transparent; font-size: .78rem; white-space: nowrap; }
  .nav-link:hover, .nav-link[aria-current="page"] { background: transparent; }
  .nav-link::after { height: 2px; position: absolute; right: .62rem; bottom: .08rem; left: .62rem; background: var(--orange); content: ""; opacity: 0; transform: scaleX(.35); transform-origin: left; transition: opacity 160ms ease, transform 160ms ease; }
  .nav-link:hover::after, .nav-link[aria-current="page"]::after { opacity: 1; transform: scaleX(1); }
  .nav-actions { display: flex; gap: .5rem; padding: 0; }
  .nav-actions .button { padding-inline: .78rem; font-size: .76rem; white-space: nowrap; }
  .hero-grid { grid-template-columns: minmax(0, .9fr) minmax(31rem, 1.1fr); gap: clamp(3rem, 6vw, 6rem); }
  .hero-media img { aspect-ratio: 4 / 3; }
  .intro-grid { grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); gap: 4rem; }
  .photo-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .photo-split--reverse figure { order: 2; }
  .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comparison > section + section { border-top: 0; border-left: 1px solid var(--border); }
  .home-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-process__grid li:not(:last-child)::after { font-size: 1.7rem; }
  .contact-layout { grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr); gap: 3rem; }
  .contact-aside { position: sticky; top: 7.5rem; }
  .footer-grid { grid-template-columns: 1.6fr .8fr 1.15fr 1fr; gap: 1.5rem; padding-block: 2.75rem; }
  .footer-links li { min-height: 1.85rem; }
  .footer-links li + li { margin-top: .1rem; }
  .footer-links a { min-height: 1.85rem; }
  .footer-contact { grid-column: auto; }
  .home-hero { min-height: 31rem; display: flex; align-items: center; }
  .home-hero__grid { display: block; }
  .home-hero__copy { position: relative; z-index: 2; max-width: 52%; }
  .home-hero__media { position: absolute; z-index: -1; inset: 0; }
  .home-hero__media img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; border: 0; border-radius: 0; }
  .home-hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, #f8fbff 0%, rgb(248 251 255 / 99%) 32%, rgb(248 251 255 / 88%) 47%, rgb(248 251 255 / 0%) 71%); }
}

@media (min-width: 90rem) {
  :root { --container: 80rem; }
  .nav-link { padding-inline: .78rem; font-size: .84rem; }
  .nav-link::after { right: .78rem; left: .78rem; }
}
