
/* Rest of site homepage-consistent styling
   Loaded only on pages other than Home and About.
   This does not reformat page structure; it only improves existing styling. */

:root{
  --bw-blue:#062b61;
  --bw-dark:#031b40;
  --bw-red:#e21d2f;
  --bw-light:#f6f8fc;
}

body{
  background:#ffffff;
  color:#111827;
}

/* Page hero / first banner */
main > section:first-of-type,
.page-header,
.page-hero,
.hero,
.inner-hero,
.service-hero,
.area-hero,
.blog-hero,
.contact-hero,
.gallery-hero,
.reviews-hero{
  background:
    linear-gradient(90deg,rgba(3,27,64,.94),rgba(3,27,64,.68)),
    url('../images/hero/hero.jpg') center/cover no-repeat !important;
  color:#ffffff !important;
  position:relative;
}

main > section:first-of-type h1,
.page-header h1,
.page-hero h1,
.hero h1,
.inner-hero h1,
.service-hero h1,
.area-hero h1,
.blog-hero h1,
.contact-hero h1,
.gallery-hero h1,
.reviews-hero h1{
  color:#ffffff !important;
  text-transform:uppercase;
  font-weight:950 !important;
  letter-spacing:-.035em;
  text-shadow:0 3px 18px rgba(0,0,0,.28);
}

main > section:first-of-type p,
.page-header p,
.page-hero p,
.hero p,
.inner-hero p,
.service-hero p,
.area-hero p,
.blog-hero p,
.contact-hero p,
.gallery-hero p,
.reviews-hero p{
  color:#e5eefc !important;
}

/* Typography */
main h1,
main h2,
main h3{
  font-weight:950 !important;
}

main h2,
main h3{
  color:var(--bw-blue) !important;
}

main p,
main li{
  line-height:1.65;
}

/* Premium card/box feel */
main .card,
main .box,
main .service-card,
main .feature-card,
main .review-card,
main .blog-card,
main .area-card,
main .gallery-card,
main .content-card,
main .contact-card,
main .why-card,
main [class*="card"],
main [class*="box"]{
  border-radius:16px !important;
  border:1px solid #e5e7eb !important;
  box-shadow:0 16px 36px rgba(15,23,42,.10) !important;
}

/* Images */
main img{
  border-radius:14px;
}

/* Homepage-style red accents */
main h2::after{
  content:"";
  display:block;
  width:54px;
  height:4px;
  background:var(--bw-red);
  border-radius:99px;
  margin-top:12px;
}

main .section-title h2::after,
main .title h2::after,
main .center h2::after,
main .text-center h2::after{
  margin-left:auto;
  margin-right:auto;
}

/* Buttons */
main .btn,
main a.btn,
main button,
main input[type="submit"],
main a[class*="button"],
main a[class*="cta"]{
  border-radius:10px !important;
  font-weight:950 !important;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-shadow:0 12px 28px rgba(226,29,47,.24) !important;
}

/* Blue/callout/CTA areas */
main .blue,
main .blue-box,
main .callout,
main .cta,
main .cta-section,
main [class*="blue"],
main [class*="callout"],
main [class*="cta"]{
  background:
    radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 34%),
    linear-gradient(135deg,var(--bw-dark),var(--bw-blue) 58%,#0b3d8a) !important;
  color:#ffffff !important;
}

main .blue h2,
main .blue h3,
main .blue-box h2,
main .blue-box h3,
main .callout h2,
main .callout h3,
main .cta h2,
main .cta h3,
main .cta-section h2,
main .cta-section h3,
main [class*="blue"] h2,
main [class*="blue"] h3,
main [class*="callout"] h2,
main [class*="callout"] h3,
main [class*="cta"] h2,
main [class*="cta"] h3{
  color:#ffffff !important;
}

main .blue p,
main .blue-box p,
main .callout p,
main .cta p,
main .cta-section p,
main [class*="blue"] p,
main [class*="callout"] p,
main [class*="cta"] p{
  color:#dbeafe !important;
}

/* Icons */
main .icon,
main [class*="icon"]{
  color:var(--bw-red) !important;
}

/* Forms */
main input,
main select,
main textarea{
  border-radius:10px !important;
}
