/* ==========================================================================
   Responsive refinements — main.css is mobile-first with inline breakpoints;
   this file holds cross-cutting adjustments at specific widths.
   ========================================================================== */

/* Large desktop: give the wrap a touch more breathing room */
@media (min-width: 1440px) {
  :root { --content-pad: 3.5rem; }
}

/* Laptop */
@media (max-width: 1279px) and (min-width: 1024px) {
  .hero-grid { gap: 3rem; }
}

/* Tablet */
@media (max-width: 1023px) and (min-width: 768px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
  .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
  .card-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
}

/* Small tablet / large phone */
@media (max-width: 767px) {
  .hero h1 { max-width: none; }
  .trust-strip ul { grid-template-columns: repeat(2, 1fr); }
  .section-head.split { align-items: flex-start; }
  .title-block { font-size: 0.8rem; }
}

/* Narrow phones */
@media (max-width: 430px) {
  :root { --header-h: 76px; }
  .brand img { height: 34px; }
  .brand-text { font-size: 1rem; }
  .btn { padding: 0.9rem 1.35rem; font-size: 0.78rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 360px) {
  h1 { font-size: 2.4rem; }
  .title-block dl { grid-template-columns: 1fr; }
  .title-block dt { padding-top: 0; }
}

/* Prevent horizontal overflow from long words / URLs in copy */
p, li, dd, address { overflow-wrap: anywhere; }

/* Landscape phones: shrink hero vertical padding */
@media (max-height: 480px) and (orientation: landscape) {
  .hero { padding-block: 2.5rem; }
}

/* ===== PREMIUM HOMEPAGE HERO RESPONSIVE: START ===== */
@media (max-width: 1180px) {
  .premium-hero__layout { grid-template-columns: minmax(0,1fr) 300px; gap: 3rem; }
  .premium-hero h1 { font-size: clamp(3.7rem,6vw,5.8rem); }
  .premium-hero__phone { width: 100%; margin: .25rem 0 0; }
}

@media (max-width: 900px) {
  .premium-hero { min-height: auto; align-items: flex-end; }
  .premium-hero__media img { object-position: 62% center; }
  .premium-hero__overlay {
    background: linear-gradient(180deg,rgba(18,17,15,.14) 0%,rgba(18,17,15,.42) 28%,rgba(18,17,15,.93) 58%,rgba(18,17,15,1) 100%);
  }
  .premium-hero__grid-lines { -webkit-mask-image: linear-gradient(180deg,transparent,#000 45%); mask-image: linear-gradient(180deg,transparent,#000 45%); }
  .premium-hero__layout { grid-template-columns: 1fr; align-items: end; gap: 2.25rem; padding-top: clamp(18rem,54vw,25rem); padding-bottom: 4.5rem; }
  .premium-hero__content { max-width: 760px; }
  .premium-hero__card { width: 100%; max-width: none; justify-self: stretch; }
  .premium-hero__service-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 1.25rem; }
  .premium-hero__service-list > div { grid-template-columns: 1fr; align-content: start; }
  .premium-hero__scroll { display: none; }
}

@media (max-width: 620px) {
  .premium-hero__media img { object-position: 68% center; }
  .premium-hero__layout { padding-top: clamp(15rem,76vw,20rem); padding-bottom: 3.35rem; }
  .premium-hero__eyebrow { margin-bottom: 1.1rem; font-size: .62rem; letter-spacing: .14em; }
  .premium-hero__eyebrow span { width: 28px; }
  .premium-hero h1 { font-size: clamp(3.05rem,13.5vw,4.55rem); line-height: .9; }
  .premium-hero h1 strong { margin-top: .14em; }
  .premium-hero__lead { margin-top: 1.45rem; font-size: 1rem; line-height: 1.58; }
  .premium-hero__actions { align-items: stretch; margin-top: 1.65rem; }
  .premium-btn { width: 100%; }
  .premium-hero__phone { width: 100%; margin: .25rem 0 0; }
  .premium-hero__trust { align-items: flex-start; flex-direction: column; gap: .65rem; margin-top: 1.75rem; padding-top: 1.1rem; }
  .premium-hero__card-top,.premium-hero__stat,.premium-hero__service-list { padding-left: 1rem; padding-right: 1rem; }
  .premium-hero__card-divider { margin-inline: 1rem; }
  .premium-hero__service-list { display: block; }
  .premium-hero__service-list > div { grid-template-columns: 2.1rem 1fr; }
}

@media (max-width: 390px) {
  .premium-hero__layout { padding-top: 14rem; }
  .premium-hero h1 { font-size: clamp(2.75rem,13.8vw,3.5rem); }
  .premium-hero__card-top { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .premium-hero__stat { grid-template-columns: 1fr; align-items: start; gap: .8rem; }
  .premium-hero__stat p { max-width: 26ch; }
}

@media (max-height: 560px) and (orientation: landscape) {
  .premium-hero { min-height: auto; }
  .premium-hero__layout { padding-top: 5rem; padding-bottom: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .premium-hero__media img,.premium-hero__scroll i::after { animation: none; }
  .premium-btn,.premium-btn svg { transition: none; }
}
/* ===== PREMIUM HOMEPAGE HERO RESPONSIVE: END ===== */
