
/* KEEN Final Full Site Polish Pass
   Safe visual polish layer meant to sit ON TOP of your current working site.
   This file does not replace your existing styles. It only refines spacing,
   alignment, shadows, CTA strength, and overall consistency.
*/

/* Global type and rendering polish */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1, h2, h3, h4{
  letter-spacing:-0.01em;
}

/* Header polish */
.site-header,
header.site-header{
  box-shadow:0 4px 18px rgba(22,57,95,0.05);
}

.site-nav a{
  transition:color .2s ease, opacity .2s ease;
}

.site-nav a:hover{
  color:#e47828 !important;
}

/* Stronger CTA presence */
.btn.btn-primary,
.header-cta,
button.btn-primary,
.quote-form button{
  box-shadow:0 10px 24px rgba(228,120,40,0.22);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.btn.btn-primary:hover,
.header-cta:hover,
button.btn-primary:hover,
.quote-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(228,120,40,0.28);
}

/* Secondary buttons still feel clickable */
.btn.btn-secondary{
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.btn.btn-secondary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(22,57,95,0.18);
}

/* Card and panel consistency */
.panel,
.boxed-panel,
.hero-card,
.review-card,
.process-card,
.quick-service-card,
.service-box,
.compact-banner-copy,
.compact-why,
.contact-cta-inner,
.cta-card,
.cta-panel,
.service-box,
.gallery-card,
.stat-card,
.project-card{
  box-shadow:0 14px 34px rgba(22,57,95,0.07) !important;
  border-radius:26px !important;
}

/* Slightly tighter section rhythm */
.section-compact,
.section{
  scroll-margin-top:110px;
}

.compact-intro p,
.services-page-intro,
.subcopy,
.section-head p,
.section-heading p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

/* Top services box polish */
.compact-banner-copy p,
.intro-panel p,
.summary-card p{
  margin-bottom:0;
}

.services-button-grid a,
.mini-tags a,
.compact-banner-copy .mini-tags a,
.intro-links a{
  box-shadow:0 5px 14px rgba(47,110,178,0.10);
}

/* Forms */
.quote-form input,
.quote-form select,
.quote-form textarea,
.contact-form input,
.contact-form select,
.contact-form textarea{
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus,
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:#2f6eb2 !important;
  box-shadow:0 0 0 4px rgba(47,110,178,0.12);
  background:#ffffff;
}

/* Image treatment */
.project-strip-item img,
.service-box-photo img,
.gallery-card img,
.feature-media img,
.compact-banner-photo img,
.photo-grid img,
.project-card img{
  border-radius:22px;
}

/* Footer polish */
.site-footer,
.footer{
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
}

/* Mobile breathing room */
@media (max-width:760px){
  .site-header .nav,
  header.site-header .nav{
    gap:14px !important;
  }

  .header-cta,
  .btn.btn-primary,
  .btn.btn-secondary{
    width:100%;
    justify-content:center;
  }

  .hero-actions{
    width:100%;
  }

  .services-button-grid a,
  .mini-tags a,
  .compact-banner-copy .mini-tags a,
  .intro-links a{
    min-height:60px !important;
  }
}
