/* Element Media - interior page styles (loaded after style.css) */

/* Undo animation initial states that GSAP normally resolves on the homepage */
.nav { transform: none; }
.nav-menu li { opacity: 1; transform: none; }
.nav-cta { opacity: 1; transform: none; }
.hero-cta, .hero-cta-secondary, .hero-buttons { opacity: 1; transform: none; }

/* Page hero */
.page-hero { padding: 150px 40px 60px; text-align: center; background: linear-gradient(180deg, #111111 0%, #0a0a0a 100%); }
.page-hero .eyebrow { display: block; font-size: 0.8rem; letter-spacing: 3px; text-transform: uppercase; color: #fdcf09; margin-bottom: 14px; font-weight: 600; }
.page-hero h1 { font-size: clamp(1.9rem, 4vw, 3rem); font-weight: 800; line-height: 1.15; color: #ffffff; max-width: 850px; margin: 0 auto 18px; text-wrap: balance; }
.page-hero h1 span { background: linear-gradient(135deg, #fdcf09 0%, #ffeb3b 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.page-hero .lede { font-size: 1.1rem; color: #999999; max-width: 720px; margin: 0 auto 28px; text-wrap: balance; }
.page-hero .hero-buttons { margin-top: 8px; }

/* Breadcrumbs */
.breadcrumbs { max-width: 1100px; margin: 0 auto; padding: 90px 40px 0; font-size: 0.85rem; color: #777777; text-align: left; }
.breadcrumbs a { color: #999999; }
.breadcrumbs a:hover { color: #fdcf09; }
.breadcrumbs span { color: #666666; margin: 0 6px; }
.page-hero.with-crumbs { padding-top: 24px; }

/* Content sections */
.content-narrow { max-width: 820px; margin: 0 auto; text-align: left; }
.content-narrow p { color: #cccccc; line-height: 1.9; margin-bottom: 20px; font-size: 1.02rem; }
.content-narrow h2 { font-size: 1.6rem; color: #ffffff; margin: 40px 0 16px; }
.content-narrow h2:first-child { margin-top: 0; }
.content-narrow h3 { font-size: 1.15rem; color: #ffffff; margin: 28px 0 12px; }
.content-narrow ul { margin: 0 0 20px 22px; color: #cccccc; line-height: 1.9; }
.content-narrow li { margin-bottom: 8px; }
.content-narrow a { color: #fdcf09; }
.content-narrow a:hover { text-decoration: underline; }
.content-narrow strong { color: #ffffff; }
.section-eyebrow { display: block; font-size: 0.78rem; letter-spacing: 3px; text-transform: uppercase; color: #fdcf09; margin-bottom: 10px; font-weight: 600; }

/* Check list */
.check-list { list-style: none; margin: 0 0 20px 0 !important; padding: 0; }
.check-list li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 10px; color: #cccccc; }
.check-list li::before { content: "\2713"; color: #fdcf09; font-weight: 700; flex-shrink: 0; }

/* Simple price table on service pages */
.svc-price-wrap { max-width: 820px; margin: 0 auto; overflow-x: auto; }
.svc-price { width: 100%; border-collapse: collapse; text-align: left; }
.svc-price th { background: #1a1a1a; color: #fdcf09; padding: 13px 16px; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; border-bottom: 2px solid #fdcf09; }
.svc-price td { padding: 14px 16px; border-bottom: 1px solid #2a2a2a; color: #cccccc; font-size: 0.95rem; vertical-align: top; }
.svc-price td:last-child { color: #fdcf09; font-weight: 700; white-space: nowrap; }
.svc-price .svc-note { color: #888888; font-size: 0.85rem; display: block; margin-top: 3px; }
.table-footnote { max-width: 820px; margin: 14px auto 0; color: #888888; font-size: 0.85rem; text-align: left; }

/* CTA panel */
.cta-panel { background: linear-gradient(135deg, #1a1a1a 0%, #252525 100%); border: 1px solid #fdcf09; border-radius: 16px; padding: 42px 30px; text-align: center; max-width: 820px; margin: 0 auto; }
.cta-panel h2 { font-size: 1.6rem; color: #ffffff; margin-bottom: 12px; }
.cta-panel p { color: #999999; margin-bottom: 24px; max-width: 560px; margin-left: auto; margin-right: auto; }
.cta-panel .hero-buttons { justify-content: center; }

/* Region grid (service areas) */
.region-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 1100px; margin: 0 auto; text-align: left; }
.region-card { background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 12px; padding: 26px; }
.region-card h3 { color: #fdcf09; font-size: 1.05rem; margin-bottom: 12px; }
.region-card ul { list-style: none; margin: 0; padding: 0; }
.region-card li { color: #cccccc; padding: 5px 0; border-bottom: 1px solid #222222; font-size: 0.95rem; }
.region-card li:last-child { border-bottom: none; }

/* Service hub cards reuse services-grid; add link affordance */
.services-grid a.service-card { display: block; color: inherit; }
.service-card .card-link { display: inline-block; margin-top: 12px; color: #fdcf09; font-size: 0.85rem; font-weight: 600; }

/* Contact page */
.contact-cols { display: grid; grid-template-columns: 1fr 1.4fr; gap: 50px; max-width: 1050px; margin: 0 auto; text-align: left; }

@media (max-width: 900px) {
  .region-grid { grid-template-columns: 1fr 1fr; }
  .contact-cols { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .page-hero { padding: 130px 15px 40px; }
  .breadcrumbs { padding: 80px 15px 0; }
  .page-hero.with-crumbs { padding-top: 20px; }
  .region-grid { grid-template-columns: 1fr; }
}
