
/* Prevent overflow: visible on img, video, canvas */

/* -------------------- Base layer: tokens, reset, typography, utilities, content -------------------- */
/* Dropdown für weniger relevante Links */
/* Verhindert FOUC: Menü ist initial unsichtbar, bis JS fertig */
/* Global modern top navigation */
/* Custom-Select für Sprache */
/* -------------------- Layout layer: header/banner -------------------- */

/*
  Entry stylesheet (modernized)
  - Uses CSS Cascade Layers for predictable override behavior.
  - Provides base and layout styles globally.
  - Page-specific styles are loaded explicitly per page.
*/
.cta-section,
.job-section,
.ds-section,
.intro-text,
.team-intro,
.contact-intro {
  margin: 1.15rem 0 1.25rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(31, 67, 49, 0.26);
  border-radius: 0.45rem;
  background: linear-gradient(180deg, rgba(233, 241, 229, 0.94), rgba(244, 238, 225, 0.94));
  box-shadow: 0 1px 3px rgba(19, 40, 29, 0.08),0 8px 20px rgba(19, 40, 29, 0.06);
  box-shadow: var(--shadow-sm);
}
/* Prevent overflow: visible on img, video, canvas */
img:not(#\#):not(#\#), video:not(#\#):not(#\#), canvas:not(#\#):not(#\#) { overflow: hidden !important; }
/* -------------------- Base layer: tokens, reset, typography, utilities, content -------------------- */
:root{
  --base-font: max(1rem, min(1.05vw, 1.16rem));
  --small-font: max(0.92rem, min(0.9vw, 1rem));
  --font-sans: 'Inter', 'Segoe UI', roboto, 'Helvetica Neue', arial, sans-serif;
  --font-heading: 'Georgia', 'Times New Roman', serif;
  --font-brand: 'Inter', 'Segoe UI', roboto, 'Helvetica Neue', arial, sans-serif;
  --kopf-col-1: 20vw;
  --header-height:max(3rem,min(33vh,16.6667vh));
  --header-frame:max(0.375rem, min(0.8vw, 0.875rem));
  --banner-min-height:min(var(--header-height),33vh);
  --brand-green:#466f55;
  --brand-green-deep:#234734;
  --brand-green-moss:#6f9578;
  --background-color:#f5ede0;
  --warm-cream:#f4ebdb;
  --warm-cream-soft:#faf4e8;
  --warm-sand:#efe4cc;
  --accent-gold-soft:#a89060;
  --brand-border:rgba(55, 92, 67, 0.2);
  --menu-title-bg:#1f4331;
  --layout-max-width:72rem;
  --layout-shell-padding:max(1rem, min(1.6vw, 2.2rem));
  --layout-block-gap:max(1rem, min(1.8vw, 1.8rem));
  --text-color:#13281d;
  --link-color:#204b36;
  --surface-color:#fffdf8;
  --surface-soft:#e8f0e3;
  --surface-muted:#d7e4d2;
  --surface-shell:#c8d9c5;
  --surface-overlay:rgba(240, 247, 236, 0.96);
  --cta-text-color:#f7f1e3;
  --cta-text-hover:#fff7ea;
  --brand-border-strong:rgba(37, 88, 63, 0.4);
  --brand-border-soft:rgba(74, 138, 99, 0.4);
  --brand-hover-bg:rgba(74, 138, 99, 0.16);
  --focus-color:#ffbf47;
  --shadow-sm:0 1px 3px rgba(19, 40, 29, 0.08),0 8px 20px rgba(19, 40, 29, 0.06);
  --shadow-md:0 2px 8px rgba(19, 40, 29, 0.12),0 14px 28px rgba(19, 40, 29, 0.08);
  --shadow-lg:0 6px 16px rgba(19, 40, 29, 0.14),0 22px 40px rgba(19, 40, 29, 0.1);
  --shadow-nav:0 1px 4px rgba(31, 75, 54, 0.1);
  --shadow-nav-menu:0 3px 12px rgba(31, 75, 54, 0.14);
}
*,*::before,*::after{box-sizing:border-box}
.visually-hidden:not(#\#):not(#\#){position:absolute!important;top:0!important;right:auto!important;bottom:auto!important;left:-9999px!important}
.visually-hidden{width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (prefers-reduced-motion: reduce){
  *:not(#\#):not(#\#){animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}
  .site-banner:not(#\#):not(#\#){background-image:none!important}
}
a{font-size:inherit}
html,body{min-height:100vh;height:auto;margin:0;overflow:auto;-webkit-overflow-scrolling:touch}
body{font-family:'Inter', 'Segoe UI', roboto, 'Helvetica Neue', arial, sans-serif;font-family:var(--font-sans);font-size:max(1rem, min(1.05vw, 1.16rem));font-size:var(--base-font);line-height:1.7;color:#13281d;color:var(--text-color);background:linear-gradient(180deg,#dde9d7 0%,#efe6d6 45%,#dbe6d4 100%);display:flex;flex-direction:column}
main[role="main"]{width:100%}
a,
a:visited,
a:active{color:#204b36;color:var(--link-color);font-weight:700;-webkit-text-decoration:none;text-decoration:none;text-underline-offset:0.14em}
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  background:#fffdf8;
  background:var(--surface-color);
  color:#204b36;
  color:var(--link-color);
  padding:.5rem 1rem;
  z-index:999;
  border:2px solid #204b36;
  border:2px solid var(--link-color);
  box-shadow:0 6px 16px rgba(19, 40, 29, 0.14),0 22px 40px rgba(19, 40, 29, 0.1);
  box-shadow:var(--shadow-lg);
  transition:left .15s ease-in-out, transform .15s ease-in-out;
}
.skip-link:focus,
.skip-link:active{
  left:0;
  top:0;
  transform:translateY(0);
  outline:3px solid #ffbf47;
  outline:3px solid var(--focus-color);
  outline-offset:3px;
}
:focus{outline:3px solid #ffbf47;outline:3px solid var(--focus-color);outline-offset:3px}
@media (hover: hover) and (pointer: fine){
  :focus:not(:focus-visible){outline: none}
}
a:hover{-webkit-text-decoration:underline;text-decoration:underline;color:#204b36;color:var(--link-color)}
table{font-family:inherit;font-size:0.625rem;color:#204b36;color:var(--link-color)}
td{font-family:inherit;font-size:0.75rem;color:#204b36;color:var(--link-color)}
.text-center{text-align:center}
.mt-1{margin-top:0.25rem}
.mt-4{margin-top:1rem}
.content-wrapper{width:100%;max-width:72rem;max-width:var(--layout-max-width);margin:0 auto;padding:max(1rem, min(1.6vw, 2.2rem));padding:var(--layout-shell-padding);box-sizing:border-box;background:none}
.home-content-wrap{flex:1 0 auto;padding-bottom:max(1rem, min(1.8vw, 1.8rem));padding-bottom:var(--layout-block-gap)}
body:not(.home-page) main.site-container{
  width:100%;
  max-width:72rem;
  max-width:var(--layout-max-width);
  margin:max(1rem, min(1.8vw, 1.8rem)) auto;
  margin:var(--layout-block-gap) auto;
  padding:max(1rem, min(1.8vw, 2rem));
  border:1px solid rgba(55, 92, 67, 0.2);
  border:1px solid var(--brand-border);
  border-radius:0.4rem;
  background:linear-gradient(180deg,rgba(226, 238, 220, 0.96),rgba(242, 236, 222, 0.96));
  box-shadow:0 2px 8px rgba(19, 40, 29, 0.12),0 14px 28px rgba(19, 40, 29, 0.08);
  box-shadow:var(--shadow-md);
  position:relative;
  overflow:hidden;
}
body:not(.home-page) main.site-container::before{
  content:"";
  position:absolute;
  top:0.65rem;
  left:50%;
  transform:translateX(-50%);
  width:min(13rem,48%);
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(168, 144, 96, 0),rgba(168, 144, 96, 0.72),rgba(168, 144, 96, 0));
  pointer-events:none;
}
body:not(.home-page) .content-wrapper.site-container{
  background-image:none;
}
body:not(.home-page) main.site-container > h1,
body:not(.home-page) main.site-container > h1.site-title{
  margin:0 0 1.25rem;
  padding:0.2rem 0 0.55rem;
  line-height:1.25;
  text-align:left;
  color:#1f4331;
  color:var(--menu-title-bg);
  font-family:'Georgia', 'Times New Roman', serif;
  font-family:var(--font-heading);
}
body:not(.home-page) main.site-container > h1 + h2{
  margin-top:0.25rem;
}
body:not(.home-page) main.site-container > h1 + section,body:not(.home-page) main.site-container > h1 + article{
  margin-top:0.25rem;
}
body:not(.home-page) main.site-container > h1 + section > h2:first-child{
  margin-top:0.25rem;
}
body:not(.home-page) main.site-container > h1 + article > h2:first-child{
  margin-top:0.25rem;
}
body:not(.home-page) main.site-container > section + section{
  margin-top:0.65rem;
}
body:not(.home-page) main.site-container > article + article,body:not(.home-page) main.site-container > article + section,body:not(.home-page) main.site-container > section + article,body:not(.home-page) main.site-container > section + section{
  margin-top:0.65rem;
}
body:not(.home-page) main.site-container h2{
  margin:1.35rem 0 0.65rem;
  line-height:1.3;
  color:#1f4331;
  color:var(--menu-title-bg);
  font-family:'Georgia', 'Times New Roman', serif;
  font-family:var(--font-heading);
  position:relative;
  padding-bottom:0.22rem;
}
body:not(.home-page) main.site-container h2::after{
  content:"";
  display:block;
  width:4rem;
  height:2px;
  margin-top:0.3rem;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(168, 144, 96, 0.88),rgba(31, 67, 49, 0.8));
}
body:not(.home-page) main.site-container h3{
  margin:1.15rem 0 0.55rem;
  line-height:1.35;
  color:#1f4331;
  color:var(--menu-title-bg);
  font-family:'Georgia', 'Times New Roman', serif;
  font-family:var(--font-heading);
}
body:not(.home-page) main.site-container p,
body:not(.home-page) main.site-container ul,
body:not(.home-page) main.site-container ol{
  margin:0 0 0.9rem;
}
.content-wrapper h1.site-title{margin-top:0;padding-top:.25rem;text-align:left;letter-spacing:0.01em}
.content-wrapper ul{margin:.5rem 0 1rem 1.25rem}
.motto{margin:0.35rem 0 1rem;font-style:italic;color:#1f4331;color:var(--menu-title-bg)}
:target{outline:3px solid #ffbf47;outline:3px solid var(--focus-color);padding:0.25rem}
.site-footer{position:relative;background:linear-gradient(180deg,#c7d9c3 0%,#bccfb8 100%);border-top:1px solid rgba(37, 88, 63, 0.4);border-top:1px solid var(--brand-border-strong);padding:max(1.1rem, min(1.8vw, 1.55rem)) 0;margin-top:auto;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.35),0 -6px 18px rgba(19, 40, 29, 0.08)}
.site-footer::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(28rem,76vw);height:2px;background:linear-gradient(90deg,rgba(168, 144, 96, 0),rgba(168, 144, 96, 0.7),rgba(168, 144, 96, 0));pointer-events:none}
.site-footer-inner{max-width:72rem;max-width:var(--layout-max-width);margin:0 auto;padding:0 max(1rem, min(1.6vw, 2.2rem));padding:0 var(--layout-shell-padding);display:flex;flex-direction:column;gap:0.9rem}
.footer-nav .footer-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));grid-gap:0.85rem;gap:0.85rem}
.footer-column{padding:0.8rem 0.9rem;border:1px solid rgba(74, 138, 99, 0.4);border:1px solid var(--brand-border-soft);border-radius:0.45rem;background:#e8f0e3;background:var(--surface-soft)}
.footer-column h4{margin:0 0 0.45rem;font-size:0.98rem;color:#1f4331;color:var(--menu-title-bg)}
.footer-column ul{list-style:none;padding:0;margin:0}
.footer-column li{margin:0.3rem 0}
.footer-column a{color:#204b36;color:var(--link-color);-webkit-text-decoration:none;text-decoration:none;font-size:max(0.92rem, min(0.9vw, 1rem));font-size:var(--small-font);line-height:1.45;text-underline-offset:0.14em}
.footer-column a:hover{-webkit-text-decoration:underline;text-decoration:underline;color:#204b36;color:var(--link-color)}
.footer-meta{border-top:1px solid rgba(12, 60, 12, 0.2);padding-top:0.65rem;font-size:0.9rem;color:#204b36;color:var(--link-color)}
.footer-meta p{margin:0;display:flex;align-items:center;justify-content:space-between;gap:0.6rem;flex-wrap:wrap}
.footer-cookie-btn{border:1px solid rgba(74, 138, 99, 0.4);border:1px solid var(--brand-border-soft);background:#d7e4d2;background:var(--surface-muted);color:#1f4331;color:var(--menu-title-bg);border-radius:0.5rem;padding:0.35rem 0.65rem;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.footer-cookie-btn:hover{background:rgba(74, 138, 99, 0.16);background:var(--brand-hover-bg)}
body.font-size-large{font-size:max(1.1rem, min(1.2vw, 1.28rem))}
body.font-size-large .main-content{line-height:1.86}
body.font-size-large .main-content p,
body.font-size-large .main-content li{font-size:1.08em}
body.font-size-large .site-nav-link{font-size:1.03em}
.site-header .site-title{margin-top:0;padding-top:.25rem;text-align:left;color:#1f4331;color:var(--menu-title-bg);font-family:'Georgia', 'Times New Roman', serif;font-family:var(--font-heading)}
.site-title{font-size:max(1.35rem, min(2.2vw, 2.05rem));line-height:1.28}
.home-page .site-header .site-title{text-align:center;line-height:1.35}
.home-page .home-intro-subline{text-align:center;margin-top:0.35rem;margin-bottom:1.1rem}
.content-main{position:relative;max-width:65rem;margin:0 auto;padding:max(1rem, min(2vw, 2rem));box-sizing:border-box;background:linear-gradient(180deg,rgba(226, 238, 220, 0.97),rgba(242, 236, 222, 0.97));border:1px solid rgba(55, 92, 67, 0.2);border:1px solid var(--brand-border);border-radius:0.45rem;box-shadow:0 2px 8px rgba(19, 40, 29, 0.12),0 14px 28px rgba(19, 40, 29, 0.08);box-shadow:var(--shadow-md);flex:1}
.content-main::before{content:"";position:absolute;top:0.7rem;left:50%;transform:translateX(-50%);width:min(14rem,52%);height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(168, 144, 96, 0),rgba(168, 144, 96, 0.72),rgba(168, 144, 96, 0));pointer-events:none}
.content-main figure{text-align:center;margin:1rem 0;padding:0.75rem;border:1px solid rgba(74, 138, 99, 0.34);background:linear-gradient(180deg,#e6f1e2 0%,#f2eedf 100%)}
.responsive-img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:0.25rem;border:1px solid rgba(55, 111, 78, 0.42);background:#e6f1e2;box-shadow:0 4px 14px rgba(19, 40, 29, 0.12)}
.main-content{max-width:58rem;margin:0 auto;line-height:1.75;text-align:left}
.main-content h2,.main-content h3{line-height:1.3;color:#1f4331;color:var(--menu-title-bg);font-family:'Georgia', 'Times New Roman', serif;font-family:var(--font-heading);font-weight:700}
.main-content h2{position:relative;margin:1.35rem 0 0.75rem;font-size:max(1.45rem, min(2vw, 2.1rem));padding-bottom:0.2rem}
.main-content h2::after{content:"";display:block;width:4.6rem;height:2px;margin-top:0.32rem;border-radius:999px;background:linear-gradient(90deg,rgba(168, 144, 96, 0.88),rgba(31, 67, 49, 0.8))}
.main-content h3{margin:1.2rem 0 0.55rem;font-size:max(1.15rem, min(1.6vw, 1.45rem))}
.main-content p{margin:0 0 1rem;font-size:1.04em}
.main-content ul{margin:0.35rem 0 1.1rem 1.35rem;padding:0}
.main-content li{margin:0 0 0.55rem;font-size:1.02em}
.phone-highlight{display:inline-block;font-family:'Inter', 'Segoe UI', roboto, 'Helvetica Neue', arial, sans-serif;font-family:var(--font-brand);font-size:1.35rem;line-height:1.35;color:#204b36;color:var(--link-color);padding:0.2rem 0.45rem;border:1px solid rgba(74, 138, 99, 0.38);border-radius:0.2rem;background:rgba(183, 159, 107, 0.1)}
.cta-primary:not(#\#):not(#\#){color:#f7f1e3!important;color:var(--cta-text-color)!important}
.cta-primary{display:inline-flex;align-items:center;justify-content:center;padding:0.52rem 0.95rem;border-radius:0.45rem;border:1px solid rgba(31, 67, 49, 0.5);background:linear-gradient(180deg,rgba(31, 67, 49, 0.94),rgba(24, 53, 39, 0.94));font-weight:800;-webkit-text-decoration:none;text-decoration:none;box-shadow:0 6px 16px rgba(19, 40, 29, 0.18)}
.cta-primary:hover:not(#\#):not(#\#){color:#fff7ea!important;color:var(--cta-text-hover)!important}
.cta-primary:hover{-webkit-text-decoration:none;text-decoration:none;background:linear-gradient(180deg,rgba(36, 77, 56, 0.96),rgba(31, 67, 49, 0.96))}
.cta-primary-soft{background:linear-gradient(180deg,rgba(36, 77, 56, 0.9),rgba(31, 67, 49, 0.9))}
.trust-steps{margin:1.15rem 0 1.25rem;padding:0.95rem 1rem;border:1px solid rgba(31, 67, 49, 0.26);border-radius:0.45rem;background:linear-gradient(180deg,rgba(233, 241, 229, 0.94),rgba(244, 238, 225, 0.94));box-shadow:0 1px 3px rgba(19, 40, 29, 0.08),0 8px 20px rgba(19, 40, 29, 0.06);box-shadow:var(--shadow-sm)}
.trust-steps h3{margin:0 0 0.55rem;color:#1f4331;color:var(--menu-title-bg)}
.trust-steps ol{margin:0;padding-left:1.25rem}
.trust-steps li{margin:0 0 0.5rem;line-height:1.7}
.mobile-quick-contact{position:fixed;left:0;right:0;bottom:0;z-index:1300;display:none;gap:0.45rem;padding:0.42rem 0.62rem calc(0.42rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(242, 248, 238, 0.965),rgba(240, 247, 236, 0.96));border-top:1px solid rgba(55, 92, 67, 0.2);border-top:1px solid var(--brand-border);box-shadow:0 1px 3px rgba(19, 40, 29, 0.08),0 8px 20px rgba(19, 40, 29, 0.06);box-shadow:var(--shadow-sm)}
@supports (color: color-mix(in lch, red, blue)) {
.mobile-quick-contact{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-overlay) 88%,#fff 12%),var(--surface-overlay))}
}
.mobile-quick-contact-link:not(#\#):not(#\#){-webkit-text-decoration:none!important;text-decoration:none!important}
.mobile-quick-contact-link{flex:1 1 50%;text-align:center;padding:0.5rem 0.46rem;border-radius:0.4rem;font-weight:700;line-height:1.2}
.mobile-quick-contact-link.is-call{background:#e8f0e3;background:var(--surface-soft);color:#204b36;color:var(--link-color);border:1px solid rgba(74, 138, 99, 0.4);border:1px solid var(--brand-border-soft)}
.mobile-quick-contact-link.is-consult{background:rgb(51, 84, 67);color:#f7f1e3;color:var(--cta-text-color);border:1px solid rgba(31, 67, 49, 0.35)}
@supports (color: color-mix(in lch, red, blue)) {
.mobile-quick-contact-link.is-consult{background:color-mix(in srgb,var(--menu-title-bg) 90%,var(--surface-soft) 10%)}
}
.mobile-quick-contact-link:hover{filter:brightness(1.01)}
.home-page .content-main figure{
  border-left:4px solid rgba(74, 138, 99, 0.52);
}
.site-container{width:100%;max-width:72rem;max-width:var(--layout-max-width);margin:0 auto;padding:max(1rem, min(1.6vw, 2.2rem));padding:var(--layout-shell-padding);box-sizing:border-box;background-color:#f5ede0;background-color:var(--background-color);flex:1;display:flex;flex-direction:column}
.content-wrapper,.site-container,body:not(.home-page) main.site-container{min-width:0}
.site-container :where(h1,h2,h3,h4,p,li,a,span,strong,em){word-wrap:anywhere}
.site-container img,.site-container video,.site-container svg{max-width:100%;height:auto;display:block}
.site-container table{width:100%;max-width:100%;border-collapse:collapse}
.site-container pre,.site-container code{white-space:pre-wrap;word-break:break-word}
.formulare-page #formulare-main .form-list ul{margin:0.4rem 0 0.9rem 1.25rem}
.barrierefreiheit-page #barrierefreiheit-main address{
  font-style:normal;
  line-height:1.7;
}
@media (max-width:768px){
  :root{
    --layout-shell-padding:max(0.9rem, min(2.8vw, 1.2rem));
    --layout-block-gap:max(0.9rem, min(2.9vw, 1.15rem));
  }
  body:not(.home-page) main.site-container{padding:1rem}
  .content-main{padding:max(0.95rem, min(3.2vw, 1.25rem))}
  .main-content h2{margin-top:1.15rem}
  .main-content h3{margin-top:1rem}
  .phone-highlight{font-size:max(1.05rem, min(4.4vw, 1.28rem))}

  body.leistungen-page .site-title,body.preise-page .site-title,body.team-page .site-title,body.ueberuns-page .site-title,body.formulare-page .site-title,body.download-page .site-title,body.barrierefreiheit-page .site-title,body.kontakt-page .site-title,body.legal-page .site-title{
    font-size:max(1.3rem, min(5.2vw, 1.75rem));
    line-height:1.3;
  }

  body.leistungen-page main.site-container h2,body.preise-page main.site-container h2,body.team-page main.site-container h2,body.ueberuns-page main.site-container h2,body.formulare-page main.site-container h2,body.download-page main.site-container h2,body.barrierefreiheit-page main.site-container h2,body.kontakt-page main.site-container h2,body.legal-page main.site-container h2{
    font-size:max(1.1rem, min(4.6vw, 1.45rem));
    margin-top:1.05rem;
    margin-bottom:0.55rem;
  }

  body.leistungen-page main.site-container h3,body.preise-page main.site-container h3,body.team-page main.site-container h3,body.ueberuns-page main.site-container h3,body.formulare-page main.site-container h3,body.download-page main.site-container h3,body.barrierefreiheit-page main.site-container h3,body.kontakt-page main.site-container h3,body.legal-page main.site-container h3{
    font-size:max(1rem, min(3.9vw, 1.2rem));
    margin-top:0.95rem;
    margin-bottom:0.45rem;
  }

  body.leistungen-page main.site-container ul,body.preise-page main.site-container ul,body.team-page main.site-container ul,body.ueberuns-page main.site-container ul,body.formulare-page main.site-container ul,body.download-page main.site-container ul,body.barrierefreiheit-page main.site-container ul,body.kontakt-page main.site-container ul,body.legal-page main.site-container ul,body.leistungen-page main.site-container ol,body.preise-page main.site-container ol,body.team-page main.site-container ol,body.ueberuns-page main.site-container ol,body.formulare-page main.site-container ol,body.download-page main.site-container ol,body.barrierefreiheit-page main.site-container ol,body.kontakt-page main.site-container ol,body.legal-page main.site-container ol{
    margin-left:1.05rem;
  }

  .formulare-page #formulare-main .form-list ul{margin-left:1rem}
}
@media (max-width:640px){
  .site-footer{padding:1rem 0}
  .site-footer-inner{gap:0.72rem}
  .footer-nav .footer-grid{grid-template-columns:1fr;gap:0.6rem}
  .footer-column{padding:0.72rem 0.78rem}
  .footer-column a{line-height:1.5}
  .footer-meta{text-align:center}
  .footer-meta{padding-top:0.58rem}
  .footer-meta p{justify-content:center}
  .footer-cookie-btn{margin-left:auto;margin-right:auto}

  body.leistungen-page main.site-container > section + section,body.leistungen-page main.site-container > section + article,body.leistungen-page main.site-container > article + section,body.leistungen-page main.site-container > article + article,body.preise-page main.site-container > section + section,body.preise-page main.site-container > section + article,body.preise-page main.site-container > article + section,body.preise-page main.site-container > article + article,body.team-page main.site-container > section + section,body.team-page main.site-container > section + article,body.team-page main.site-container > article + section,body.team-page main.site-container > article + article,body.ueberuns-page main.site-container > section + section,body.ueberuns-page main.site-container > section + article,body.ueberuns-page main.site-container > article + section,body.ueberuns-page main.site-container > article + article,body.formulare-page main.site-container > section + section,body.formulare-page main.site-container > section + article,body.formulare-page main.site-container > article + section,body.formulare-page main.site-container > article + article,body.download-page main.site-container > section + section,body.download-page main.site-container > section + article,body.download-page main.site-container > article + section,body.download-page main.site-container > article + article,body.barrierefreiheit-page main.site-container > section + section,body.barrierefreiheit-page main.site-container > section + article,body.barrierefreiheit-page main.site-container > article + section,body.barrierefreiheit-page main.site-container > article + article,body.kontakt-page main.site-container > section + section,body.kontakt-page main.site-container > section + article,body.kontakt-page main.site-container > article + section,body.kontakt-page main.site-container > article + article,body.legal-page main.site-container > section + section,body.legal-page main.site-container > section + article,body.legal-page main.site-container > article + section,body.legal-page main.site-container > article + article{
    margin-top:0.35rem;
  }

  .kontakt-page #kontakt-main .phone-highlight{
    display:inline-flex;
    max-width:100%;
    text-align:left;
  }
}
@media (max-width:480px){
  :root{
    --layout-shell-padding:max(0.85rem, min(3.6vw, 1rem));
    --layout-block-gap:max(0.85rem, min(3.9vw, 1rem));
  }
  body{font-size:0.98rem}
  .site-title{font-size:max(1.2rem, min(5vw, 1.45rem));text-align:left}
  body:not(.home-page) main.site-container{padding:0.875rem;border-radius:0.5rem}

  body:not(.home-page) main.site-container > h1,
  body:not(.home-page) main.site-container > h1.site-title{margin-bottom:1rem}
  .site-banner{height:max(3rem,min(33vh,16.6667vh));height:var(--header-height);min-height:3rem;background-image:url('../img/kopf.jpg');background-repeat:no-repeat;background-position:right center;background-size:cover}
  .site-banner .banner-logo{max-width:95%}
  .content-main{border-radius:0.85rem}
  .main-content p,.main-content li{font-size:1em}
  .site-footer{padding:0.9rem 0}
  .site-footer-inner{gap:0.62rem}
  .footer-column{padding:0.64rem 0.7rem}
  .footer-column li{margin:0.22rem 0}
  .footer-meta{font-size:0.86rem}
  .footer-column h4{font-size:0.9rem}
}
@media (max-width:900px){
  .mobile-quick-contact{display:flex}
  body{padding-bottom:4.2rem}
  body.site-nav-open .mobile-quick-contact{display:none}
  body.site-nav-open{padding-bottom:0}
}
@media (max-width:430px){
  body{padding-bottom:4.55rem}

  .mobile-quick-contact{
    gap:0.36rem;
    padding:0.42rem 0.52rem calc(0.42rem + env(safe-area-inset-bottom));
  }

  .mobile-quick-contact-link{
    font-size:0.89rem;
    padding:0.48rem 0.4rem;
  }

  body.leistungen-page main.site-container,body.preise-page main.site-container,body.team-page main.site-container,body.ueberuns-page main.site-container,body.formulare-page main.site-container,body.download-page main.site-container,body.barrierefreiheit-page main.site-container,body.kontakt-page main.site-container,body.legal-page main.site-container{
    padding:0.82rem;
  }

  .formulare-page #formulare-main .page-heading{
    word-wrap:anywhere;
  }
}
.site-language-selected {
  position: relative;
}
.site-language-chevron {
  display: flex;
  align-items: center;
  margin-left: 0.45em;
  margin-right: -0.2em;
  height: 1em;
  pointer-events: none;
}
/* Dropdown für weniger relevante Links */
.site-nav-dropdown {
  position: relative;
  display: inline-block;
}
.site-nav-dropdown-toggle {
  cursor: pointer;
  background: transparent;
  border: 1px solid rgba(74, 138, 99, 0.4);
  border: 1px solid var(--brand-border-soft, rgba(86, 132, 96, 0.45));
  border-radius: 999px;
  padding: 0.37rem 0.76rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.site-nav-dropdown-menu {
  display: none;
  position: absolute;
  left: 0;
  top: 110%;
  min-width: 160px;
  background: #fff;
  border: 1px solid rgba(74, 138, 99, 0.4);
  border: 1px solid var(--brand-border-soft, rgba(86, 132, 96, 0.25));
  border-radius: 0.7em;
  box-shadow: 0 8px 24px rgba(19, 40, 29, 0.13);
  z-index: 2000;
  padding: 0.3em 0.1em;
}
.site-nav-dropdown:hover .site-nav-dropdown-menu,
.site-nav-dropdown:focus-within .site-nav-dropdown-menu {
  display: block;
}
.site-nav-dropdown-menu .site-nav-link {
  display: block;
  width: 100%;
  text-align: left;
  border-radius: 0.5em;
  margin: 0.1em 0;
}
.site-nav-actions {
    margin-right: max(env(safe-area-inset-right), min(2.5vw, 32px));
  max-width: 32vw;
}
/* Verhindert FOUC: Menü ist initial unsichtbar, bis JS fertig */
.site-nav-menu.is-initializing:not(#\#):not(#\#) {
  display: none !important;
}
.site-nav-menu {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  width: auto;
  max-width: 100%;
  overflow: visible;
  text-overflow: initial;
  justify-content: flex-start;
  order: 1;
}
/* Global modern top navigation */
.site-nav-shell {
  position: sticky;
  top: 0;
  z-index: 1200;
  isolation: isolate;
  background:
    linear-gradient(130deg, rgba(246, 252, 246, 0.9), rgba(221, 235, 218, 0.84));
  border-bottom: 1px solid rgba(37, 88, 63, 0.288);
  box-shadow: 0 10px 28px rgba(19, 40, 29, 0.14);
  backdrop-filter: blur(8px) saturate(1.08);
}
@supports (color: color-mix(in lch, red, blue)) {
.site-nav-shell {
  border-bottom: 1px solid color-mix(in srgb, var(--brand-border-strong, rgba(12, 60, 12, 0.35)) 72%, transparent);
}
}
.site-nav-shell::after {
  content: "";
  position: absolute;
  left: 0;
  max-width: 520px;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(168, 144, 96, 0), rgba(168, 144, 96, 0.55), rgba(168, 144, 96, 0));
  pointer-events: none;
}
.site-nav-inner {
  max-width: 72rem;
  max-width: var(--layout-max-width, 72rem);
  margin: 0 auto;
  padding: 0.8rem max(env(safe-area-inset-right), min(2.5vw, 32px)) 0.8rem max(env(safe-area-inset-left), min(2.5vw, 32px));
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  position: relative;
  min-width: 0;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.site-nav-toggle {
  order: 0;
  border: 1px solid rgba(74, 138, 99, 0.4);
  border: 1px solid var(--brand-border-soft, rgba(86, 132, 96, 0.45));
  background: linear-gradient(180deg, #f0f7ec, #deebd9);
  color: #1f4331;
  color: var(--menu-title-bg);
  border-radius: 999px;
  padding: 0.46rem 0.82rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  cursor: pointer;
  display: none;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.site-nav-toggle:hover {
  transform: translateY(-1px);
  box-shadow: 0 7px 16px rgba(19, 40, 29, 0.14);
}
.site-nav-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  flex-shrink: 0;
}
.site-font-toggle {
  border: 1px solid rgba(74, 138, 99, 0.4);
  border: 1px solid var(--brand-border-soft, rgba(86, 132, 96, 0.45));
  background: linear-gradient(180deg, #f2f8ef, #e2edde);
  color: #1f4331;
  color: var(--menu-title-bg);
  border-radius: 999px;
  padding: 0.38rem 0.62rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
.site-font-toggle:hover {
  transform: translateY(-1px);
  box-shadow: 0 7px 16px rgba(19, 40, 29, 0.13);
}
/* Custom-Select für Sprache */
.site-language-custom-select {
  position: relative;
  min-width: 120px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-weight: 700;
  font-size: 0.98rem;
}
.site-language-selected {
  display: flex;
  align-items: center;
  gap: 0.35em;
  cursor: pointer;
  border: 1px solid rgba(74, 138, 99, 0.4);
  border: 1px solid var(--brand-border-soft, rgba(86, 132, 96, 0.45));
  background: linear-gradient(180deg, #f4f9f2, #e3eee0);
  border-radius: 999px;
  padding: 0.33rem 0.7rem 0.33rem 0.52rem;
  min-height: 2.1rem;
  color: #1f4331;
  color: var(--menu-title-bg);
}
.site-language-selected:focus {
  outline: 2px solid rgba(37, 88, 63, 0.4);
  outline: 2px solid var(--brand-border-strong, #568460);
}
.site-language-dropdown {
  position: absolute;
  left: 0;
  top: 110%;
  min-width: 100%;
  background: #fff;
  border: 1px solid rgba(74, 138, 99, 0.4);
  border: 1px solid var(--brand-border-soft, rgba(86, 132, 96, 0.25));
  border-radius: 0.7em;
  box-shadow: 0 8px 24px rgba(19, 40, 29, 0.13);
  z-index: 2100;
  padding: 0.2em 0.1em;
  display: none;
}
.site-language-custom-select:focus-within .site-language-dropdown,
.site-language-custom-select .site-language-dropdown[style*="block"] {
  display: block;
}
.site-language-option {
  display: flex;
  align-items: center;
  gap: 0.35em;
  padding: 0.28em 0.7em 0.28em 0.52em;
  cursor: pointer;
  border-radius: 0.7em;
  font-weight: 700;
  color: #1f4331;
  color: var(--menu-title-bg);
  background: none;
  border: none;
  transition: background 0.15s;
}
.site-language-option:hover, .site-language-option:focus {
  background: rgba(189, 213, 199, 0.345);
}
@supports (color: color-mix(in lch, red, blue)) {
.site-language-option:hover, .site-language-option:focus {
  background: color-mix(in srgb, var(--brand-hover-bg, rgba(74, 138, 99, 0.16)) 78%, #fff 22%);
}
}
@media (max-width: 1420px) {
  .site-nav-cta {
    flex-basis: max(8.6rem, min(15vw, 11rem));
    min-width: max(8.6rem, min(15vw, 11rem));
    max-width: 11rem;
  }
}
.site-nav-menu {
  margin-left: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.46rem;
  flex-wrap: nowrap;
  min-width: 0;
  flex-shrink: 1;
}
.site-nav-link {
  color: #204b36;
  color: var(--link-color);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-weight: 650;
  letter-spacing: 0.01em;
  border-radius: 999px;
  padding: 0.37rem 0.76rem;
  min-height: auto;
  display: inline-block;
  border: 1px solid transparent;
  background: transparent;
  white-space: normal;
  transition:
    background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
.site-nav-link:hover {
  background: rgba(189, 213, 199, 0.345);
  border-color: rgba(144, 183, 159, 0.52);
  color: #1f4331;
  color: var(--menu-title-bg);
  transform: translateY(-1px);
}
@supports (color: color-mix(in lch, red, blue)) {
.site-nav-link:hover {
  background: color-mix(in srgb, var(--brand-hover-bg, rgba(74, 138, 99, 0.16)) 78%, #fff 22%);
  border-color: color-mix(in srgb, var(--brand-border-soft, rgba(86, 132, 96, 0.45)) 80%, #fff 20%);
}
}
.site-nav-link.is-active,
.site-nav-link[aria-current="page"] {
  background: linear-gradient(150deg, rgba(40, 78, 58, 0.16), rgba(40, 78, 58, 0.05));
  border-color: rgba(40, 78, 58, 0.26);
  color: #1f4331;
  color: var(--menu-title-bg);
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}
body.has-site-nav {
  scroll-padding-top: 5.4rem;
}
body.has-site-nav .site-nav-shell {
  margin-bottom: max(1rem, min(1.8vw, 1.8rem));
  margin-bottom: var(--layout-block-gap, 0.75rem);
}
@media (max-width: 1280px) {
  .site-nav-inner {
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .site-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    order: 1;
    margin-left: 0;
    margin-right: auto;
  }

  .site-nav-actions {
    margin-left: auto;
    order: 2;
    width: auto;
    display: flex;
    justify-content: flex-end;
    padding-top: 0;
  }

  .site-nav-cta {
    display: none;
    flex: 1 1 min(17rem, 100%);
    text-align: center;
    white-space: normal;
    word-wrap: anywhere;
  }

  .site-nav-menu {
    /* Keine absolute Positionierung und kein grid, damit Breite am Content bleibt */
    position: static;
    left: auto;
    left: initial;
    right: auto;
    right: initial;
    top: auto;
    top: initial;
    z-index: auto;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    display: flex;
    gap: 0.5rem;
    justify-items: flex-start;
    max-height: none;
    overflow-y: visible;
    overscroll-behavior: auto;
  }

  .site-nav-menu[hidden] {
    display: none;
  }

  .site-nav-link {
    padding: 0.62rem 0.76rem;
    min-height: auto;
    word-wrap: anywhere;
    width: 100%;
  }
}
.site-nav-shell.is-collapsed .site-nav-inner {
  flex-wrap: wrap;
  gap: 0.75rem;
}
.site-nav-shell.is-collapsed .site-nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  order: 1;
  margin-left: 0;
  margin-right: auto;
}
.site-nav-shell.is-collapsed .site-nav-actions {
  margin-left: auto;
  order: 2;
  width: auto;
  display: flex;
  justify-content: flex-end;
  padding-top: 0;
}
.site-nav-shell.is-collapsed .site-nav-cta {
  display: none;
  flex: 1 1 min(17rem, 100%);
  text-align: center;
  white-space: normal;
  word-wrap: anywhere;
}
.site-nav-shell.is-collapsed .site-nav-menu {
  position: absolute;
  left: max(0.4rem, min(2vw, 0.7rem));
  right: max(0.4rem, min(2vw, 0.7rem));
  top: calc(100% + 0.42rem);
  z-index: 1350;
  background: linear-gradient(165deg, rgba(243, 249, 241, 0.97), rgba(219, 234, 214, 0.97));
  border: 1px solid rgba(37, 88, 63, 0.3);
  border-radius: 0.9rem;
  box-shadow: 0 18px 36px rgba(19, 40, 29, 0.22);
  padding: 0.72rem;
  display: grid;
  grid-gap: 0.3rem;
  gap: 0.3rem;
  justify-items: stretch;
  max-height: calc(100dvh - 7.5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
@supports (color: color-mix(in lch, red, blue)) {
.site-nav-shell.is-collapsed .site-nav-menu {
  border: 1px solid color-mix(in srgb, var(--brand-border-strong, rgba(12, 60, 12, 0.35)) 75%, transparent);
}
}
.site-nav-shell.is-collapsed .site-nav-menu[hidden] {
  display: none;
}
.site-nav-shell.is-collapsed .site-nav-link {
  padding: 0.62rem 0.76rem;
  min-height: auto;
  word-wrap: anywhere;
  width: 100%;
}
@media (max-width: 768px) {
  .site-nav-inner {
    padding-top: 0.64rem;
    padding-bottom: 0.64rem;
  }

  .site-nav-actions {
    justify-content: flex-end;
    gap: 0.45rem;
  }

  .site-font-toggle {
    flex: 0 0 auto;
    min-height: 2.25rem;
  }

  .site-language-wrap {
    gap: 0.25rem;
  }

  .site-language-label {
    display: none;
  }

  .site-language-select {
    min-height: 2.25rem;
    max-width: 8.75rem;
  }

  .site-nav-cta {
    min-height: 2.25rem;
  }
}
@media (max-width: 640px) {
  .site-nav-actions {
    width: auto;
  }

  .site-nav-cta {
    flex-basis: 100%;
    width: 100%;
  }

  .site-nav-menu {
    left: 0.5rem;
    right: 0.5rem;
    padding: 0.6rem;
  }
}
noscript .site-nav-shell {
  position: static;
  backdrop-filter: none;
}
noscript .site-nav-inner {
  flex-wrap: wrap;
}
noscript:not(#\#):not(#\#) .site-nav-menu {
  position: static !important;
  display: flex !important;
}
noscript .site-nav-menu {
  margin-left: 0;
  width: 100%;
  flex-wrap: wrap;
  gap: 0.46rem;
  padding: 0;
  box-shadow: none;
  border: 0;
  background: transparent;
}
/* -------------------- Layout layer: header/banner -------------------- */
.site-banner:not(#\#):not(#\#){width:100%;height:max(3rem,min(33vh,16.6667vh));height:var(--header-height);min-height:min(max(3rem,min(33vh,16.6667vh)),33vh);min-height:var(--banner-min-height);box-sizing:border-box;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background-color:transparent;background-image:url('../img/kopf.jpg');background-repeat:no-repeat;background-position:left center;background-size:cover;border:1px solid rgba(35, 71, 52, 0.48);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.28),0 6px 18px rgba(19, 40, 29, 0.14);padding:0;margin:0;border-radius:0.25rem}
.site-banner:not(#\#):not(#\#) .banner-logo{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:left center;object-position:left center}
.site-banner:not(#\#):not(#\#) img,.site-banner:not(#\#):not(#\#) video,.site-banner:not(#\#):not(#\#) canvas{max-width:100%;height:auto;display:block;overflow:hidden}
.site-banner:not(#\#):not(#\#) picture{display:block;width:100%;height:100%}
.site-banner:not(#\#):not(#\#) picture > img.banner-logo{width:100%;height:auto;max-width:none;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center}
.kopf-top:not(#\#):not(#\#){width:100%;max-width:72rem;max-width:var(--layout-max-width);margin:0 auto max(1rem, min(1.8vw, 1.8rem));margin:0 auto var(--layout-block-gap);box-sizing:border-box;background:linear-gradient(135deg,#c8d9c5 0%,#dce7d2 50%,#d2deca 100%);display:grid;grid-template-columns:1fr;align-items:stretch;padding:max(0.375rem, min(0.8vw, 0.875rem));padding:var(--header-frame);height:calc(max(3rem,min(33vh,16.6667vh)) + (max(0.375rem, min(0.8vw, 0.875rem)) * 2));height:calc(var(--header-height) + (var(--header-frame) * 2));min-height:calc(max(3rem,min(33vh,16.6667vh)) + (max(0.375rem, min(0.8vw, 0.875rem)) * 2));min-height:calc(var(--header-height) + (var(--header-frame) * 2));overflow:hidden;border:1px solid rgba(31, 67, 49, 0.28);border-radius:0.35rem;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.34),0 10px 24px rgba(19, 40, 29, 0.12)}
.kopf-top:not(#\#):not(#\#) .site-banner{align-self:stretch;justify-self:stretch;place-self:stretch stretch;box-sizing:border-box;height:100%;width:100%;max-width:100%;overflow:hidden;background-size:cover;background-position:left center}
.kopf-top:not(#\#):not(#\#) img{display:block;width:100%;height:auto;max-height:none;-o-object-fit:cover;object-fit:cover;box-sizing:border-box}
.kopf-top:not(#\#):not(#\#) .site-banner .banner-logo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:left center;object-position:left center;display:block;max-height:none}
.banner-logo--visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.banner-logo--visually-hidden:not(#\#):not(#\#){-o-object-position:right center;object-position:right center}
.kopf-top:not(#\#):not(#\#) .site-banner{grid-column:1}
.kopf-top:not(#\#):not(#\#) .site-banner{min-height:100%;height:100%}
@media (max-width:1024px){
  .kopf-top:not(#\#):not(#\#){height:auto;min-height:auto}
  .site-banner:not(#\#):not(#\#){height:max(3rem,min(33vh,16.6667vh));height:var(--header-height);min-height:3.75rem;background-position:left center;background-image:none}

  .site-banner picture > img.banner-logo{
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    -o-object-fit:cover!important;
       object-fit:cover!important;
    -o-object-position:left center!important;
       object-position:left center!important;
  }
  .banner-logo--visually-hidden{position:static!important;width:auto!important;height:auto!important;margin:0!important;white-space:normal!important;border:0!important;display:block!important;clip:auto!important;overflow:visible!important}
  .kopf-top:not(#\#):not(#\#) .site-banner .banner-logo{max-height:none}
  .kopf-top:not(#\#):not(#\#) img{max-height:none}
}
@media (max-width:768px){
  :root:not(#\#):not(#\#){--header-height:max(3.2rem, min(18vw, 5.1rem))}
  .kopf-top:not(#\#):not(#\#){padding:max(0.45rem, min(2.4vw, 0.7rem))}
  .site-banner:not(#\#):not(#\#){min-height:3.25rem}

  .site-banner picture > img.banner-logo,
  .kopf-top .site-banner .banner-logo{
    -o-object-fit:fill!important;
       object-fit:fill!important;
    -o-object-position:left center!important;
       object-position:left center!important;
  }
}
@media (max-width:600px){
  .site-banner:not(#\#):not(#\#){background-size:cover;background-position:left center;background-image:none}
  .kopf-top:not(#\#):not(#\#){padding:0.45rem}
  .site-banner:not(#\#):not(#\#){min-height:3rem}
}
@media (max-width:430px){
  :root:not(#\#):not(#\#){--header-height:max(3.35rem, min(21vw, 4.9rem))}
  .kopf-top:not(#\#):not(#\#){padding:0.42rem;margin-bottom:max(0.8rem, min(3.8vw, 1rem))}
  .site-banner:not(#\#):not(#\#){min-height:3.15rem}
}
@media (max-width:390px){
  :root:not(#\#):not(#\#){--header-height:max(3.45rem, min(22vw, 5.05rem))}
  .kopf-top:not(#\#):not(#\#){padding:0.38rem}
  .site-banner:not(#\#):not(#\#){min-height:3.2rem}
  .site-banner:not(#\#):not(#\#) .banner-logo{-o-object-position:left center;object-position:left center}
}
@media (min-width:1200px){
  .site-banner:not(#\#):not(#\#){background-size:cover}
}
a:not(#\#):not(#\#):not(#\#):not(#\#),
a:link:not(#\#):not(#\#):not(#\#):not(#\#),
a:visited:not(#\#):not(#\#):not(#\#):not(#\#),
a:active:not(#\#):not(#\#):not(#\#):not(#\#),
a:hover:not(#\#):not(#\#):not(#\#):not(#\#),
a:focus:not(#\#):not(#\#):not(#\#):not(#\#){
  color:#204b36;
  color:var(--link-color);
}
.cta-primary:not(#\#):not(#\#):not(#\#):not(#\#),
.cta-primary:link:not(#\#):not(#\#):not(#\#):not(#\#),
.cta-primary:visited:not(#\#):not(#\#):not(#\#):not(#\#),
.cta-primary:hover:not(#\#):not(#\#):not(#\#):not(#\#),
.cta-primary:focus:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link:link:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link:visited:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link:hover:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link:focus:not(#\#):not(#\#):not(#\#):not(#\#){
  color:inherit;
}
.mobile-quick-contact-link.is-consult:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link.is-consult:link:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link.is-consult:visited:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link.is-consult:hover:not(#\#):not(#\#):not(#\#):not(#\#),
.mobile-quick-contact-link.is-consult:focus:not(#\#):not(#\#):not(#\#):not(#\#){
  color:#f7f1e3;
  color:var(--cta-text-color);
}
/* Accessibility: Visible focus styles for all interactive elements */
a:focus:not(#\#):not(#\#):not(#\#):not(#\#),
button:focus:not(#\#):not(#\#):not(#\#):not(#\#),
input:focus:not(#\#):not(#\#):not(#\#):not(#\#),
select:focus:not(#\#):not(#\#):not(#\#):not(#\#),
textarea:focus:not(#\#):not(#\#):not(#\#):not(#\#),
.skip-link:focus:not(#\#):not(#\#):not(#\#):not(#\#) {
  outline: 3px solid #06c;
  outline-offset: 2px;
  background: #e6f0fa;
  color: #036;
}
