
/* Responsive Enhancements - autogenerated */
:root{
  --max-content-width:1200px;
  --logo-max-height:160px;
  --space: clamp(0.5rem, 2vw, 1.5rem);
}

html,body{height:100%;margin:0;padding:0;}

/* Meta-friendly box-sizing */
*,*::before,*::after{box-sizing:border-box;}

/* Make content containers fluid but centered */
.container, .site-container, .wrap, .content-wrapper {
  max-width: var(--max-content-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space);
  padding-right: var(--space);
  width:100%;
}

/* Force full-bleed sections */
.full-bleed, .hero, .hero-slider, .slide, .slideshow, .carousel, .edge-to-edge {
  width:100vw;
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  box-sizing:border-box;
  padding-left:0;
  padding-right:0;
}

/* Make slides and hero images edge-to-edge and responsive */
.full-bleed img, .hero img, .slide img, .slideshow img, .carousel img, .edge-to-edge img {
  width:100vw;
  max-width:100vw;
  height:auto;
  display:block;
  object-fit:cover;
}

/* Logo sizing */
.logo img, .site-logo img {
  max-height: var(--logo-max-height) !important;
  height: auto !important;
  width: auto !important;
  display:block;
}

/* Flexible grids */
.row, .grid, .features, .cards {
  display:flex;
  flex-wrap:wrap;
  gap: clamp(0.5rem, 2vw, 1.5rem);
}
.col, .column, .card { flex:1 1 260px; min-width:220px; }

/* Typography scaling */
h1{font-size:clamp(1.6rem,4vw,3rem);line-height:1.05;}
h2{font-size:clamp(1.25rem,3vw,2rem);}
p{font-size:clamp(0.95rem,1.8vw,1.15rem);}

/* Ensure images and embeds scale */
img, video, iframe { max-width:100%; height:auto; }
figure { margin:0; }

/* Buttons & links polish */
button, .btn, a.btn { border-radius:8px; padding:0.6rem 1rem; transition:transform .22s ease, box-shadow .22s ease; }
button:hover, .btn:hover, a.btn:hover { transform:translateY(-2px); }

/* Small screen layout adjustments */
@media (max-width: 1024px){
  :root{ --logo-max-height:140px; }
  .col, .column, .card { flex:1 1 220px; }
}
@media (max-width: 768px){
  :root{ --logo-max-height:110px; }
  .full-bleed, .hero, .hero-slider { left:0; margin-left:0; margin-right:0; width:100%; }
  .row, .grid { flex-direction:column; }
  nav ul { display:flex; flex-direction:column; gap:0.4rem; padding:0; margin:0; }
  .container, .site-container { padding-left:1rem; padding-right:1rem; }
}
@media (max-width: 420px){
  :root{ --logo-max-height:90px; }
  h1{font-size:1.4rem;}
}
/* End of responsive enhancements */

/* Appended by responsiveness script */

/* appended responsive rules - safe override */
@media (max-width: 900px){
  header, nav, .site-header { padding: 0.6rem 1rem !important; }
  .hero .container, .hero .wrap { padding: 0; }
}
