/* Four featured services: two columns, then one on small screens. */
.home-hero { isolation:isolate; }
.home-hero-inner { z-index:2; }
.home-hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; background:linear-gradient(112deg,transparent 39%,rgba(255,205,77,.28) 48%,rgba(255,255,255,.12) 50%,transparent 58%); transform:translateX(-115%); animation: hero-light-sweep 7s ease-in-out infinite; }
.home-hero .eyebrow { animation: alert-breathe 2s ease-in-out infinite; }
.home-hero h1 { text-shadow:0 8px 30px rgba(0,0,0,.32); animation: headline-glow 3.4s ease-in-out infinite; }
.home-hero .btn:first-child { animation: call-pulse 2.2s ease-in-out infinite; }
.hero-proof span { transition:transform .25s ease, border-color .25s ease, background .25s ease; }
.hero-proof span:hover { transform:translateY(-5px); border-color:rgba(255,210,101,.9); background:rgba(255,195,58,.14); }
.photo-card { transition:transform .25s ease, box-shadow .25s ease; }
.photo-card:hover { transform:translateY(-8px) scale(1.01); box-shadow:0 24px 44px rgba(0,0,0,.34); }
@keyframes hero-light-sweep { 0%,25% { transform:translateX(-115%); opacity:0; } 35% { opacity:.65; } 59% { transform:translateX(115%); opacity:.3; } 67%,100% { transform:translateX(115%); opacity:0; } }
@keyframes alert-breathe { 0%,100% { transform:translateY(0); box-shadow:0 0 0 0 rgba(255,195,58,0); } 50% { transform:translateY(-2px); box-shadow:0 0 0 8px rgba(255,195,58,0); } }
@keyframes headline-glow { 0%,100% { filter:brightness(1); } 50% { filter:brightness(1.14); } }
@keyframes call-pulse { 0%,100% { box-shadow:0 12px 30px rgba(255,106,0,.2); transform:translateY(0); } 50% { box-shadow:0 16px 42px rgba(255,193,59,.48); transform:translateY(-3px); } }
@media (prefers-reduced-motion:reduce) { .home-hero::after,.home-hero .eyebrow,.home-hero h1,.home-hero .btn:first-child { animation:none; } }
.photo-grid.homepage-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.homepage-featured-grid .photo-card { min-height: 0; background: var(--panel); text-decoration: none; }
.homepage-featured-grid .photo-card::after { display: none; }
.homepage-featured-grid .photo-card img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; }
.homepage-featured-grid .photo-card-copy { position: relative; inset: auto; padding: 1.25rem; }
@media (max-width: 520px) {
  .photo-grid.homepage-featured-grid { grid-template-columns: minmax(0, 1fr); }
}
