/* Generated by build/wp-deploy.ps1: site rules for classes used on Elementor containers, raised above Elementor's container defaults. */
.elementor .e-con.e-con.wrap {width: 100%; max-width: 1232px; margin: 0 auto; padding-inline: 16px;}
.elementor .e-con.e-con.section {padding-block: 40px;}
.elementor .topstrip .e-con.e-con.wrap {display: flex; justify-content: space-between; gap: 12px; padding-block: 6px; flex-wrap: wrap;}
.elementor .site-header .e-con.e-con.wrap {display: flex; align-items: center; gap: 18px; min-height: 72px;}
.elementor .hero .e-con.e-con.wrap {position: relative; text-align: center;}
.elementor .e-con.e-con.content-card {background: var(--card); border-radius: var(--radius); padding: clamp(18px, 3vw, 34px); box-shadow: var(--shadow);}
.elementor .content-card + .e-con.e-con.content-card {margin-top: 20px;}
.elementor .e-con.e-con.page-hero {background-color: var(--lake-dk); background-size: cover; background-position: center; color: #fff; position: relative; padding-block: 48px;}
.elementor .e-con.e-con.page-hero::before {content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,30,60,.75), rgba(5,30,60,.25));}
.elementor .page-hero .e-con.e-con.wrap {position: relative;}
.elementor .e-con.e-con.detail-layout {display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; align-items: start;}
@media (max-width: 960px) {
  .elementor .e-con.e-con.detail-layout {grid-template-columns: 1fr;}
}
.elementor .e-con.e-con.price-box {position: sticky; top: calc(90px + env(safe-area-inset-top, 0px));}
.elementor .e-con.e-con.seo-content {background: var(--card); border-radius: 18px; padding: clamp(18px, 3vw, 32px); margin-top: 26px; box-shadow: 0 2px 12px rgba(16,24,40,.05);}
.elementor .e-con.e-con.post-hero {padding-block: 64px;}
.elementor .e-con.e-con.post-layout {display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start;}
@media (max-width: 960px) {
  .elementor .e-con.e-con.post-layout {grid-template-columns: 1fr;}
}
.elementor .e-con.e-con.post-aside {display: grid; gap: 16px; position: sticky; top: calc(90px + env(safe-area-inset-top, 0px));}
.elementor .post-aside .e-con.e-con.seo-content {margin-top: 0; padding: 18px;}
@media (max-width: 960px) {
  .elementor .e-con.e-con.post-layout, .elementor .e-con.e-con.detail-layout {grid-template-columns: minmax(0, 1fr);}
  .elementor .e-con.e-con.post-aside, .elementor .e-con.e-con.price-box {position: static;}
}
.elementor .e-con.e-con.content-card, .elementor .e-con.e-con.seo-content {overflow-wrap: anywhere;}
.elementor .e-con.e-con.bk-hero {padding-block: 40px;}
@media print {
  .elementor .e-con.e-con.bk-hero {display: none !important;}
}
.elementor .e-con.e-con.about-grid {display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start;}
@media (max-width: 960px) {
  .elementor .e-con.e-con.about-grid {grid-template-columns: minmax(0, 1fr);}
}
.elementor .e-con.e-con.about-side {display: grid; gap: 16px; position: sticky; top: calc(90px + env(safe-area-inset-top, 0px));}
@media (max-width: 960px) {
  .elementor .e-con.e-con.about-side {position: static;}
}
.elementor .about-side .e-con.e-con.seo-content {margin-top: 0; padding: 18px;}
.elementor .e-con.e-con.contact-cards {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;}
@media (max-width: 960px) {
  .elementor .e-con.e-con.contact-cards {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 520px) {
  .elementor .e-con.e-con.contact-cards {grid-template-columns: 1fr;}
}
.elementor .e-con.e-con.contact-card {background: var(--card); border-radius: 16px; padding: 18px; box-shadow: var(--shadow); overflow-wrap: anywhere;}
