@import url("https://unpkg.com/leaflet@1.9.4/dist/leaflet.css");
/* Local Sanitär page: layout only, using tokens from /css/global.css. */
.sk-page{ color:var(--c-text); background:var(--c-bg); overflow-x:hidden; }
.sk-page main{ display:block; }
.sk-page main *{ box-sizing:border-box; }
.sk-page main h1,.sk-page main h2,.sk-page main h3{
  font-family:var(--font-display); line-height:1.2; letter-spacing:-.02em;
  margin:0 0 .6em; color:var(--c-text);
}
.sk-page main p{ line-height:1.7; }
.sk-container{ width:100%; max-width:var(--container); padding:0 24px; margin:0 auto; }
.sk-section{ padding:5rem 0; }
.sk-section-muted{ background:var(--c-bg-alt); }
.sk-heading{ text-align:center; max-width:710px; margin:0 auto 2.5rem; }
.sk-heading h2,.sk-split h2{ font-size:clamp(1.7rem,3vw,2.35rem); }
.sk-heading p{ color:var(--c-text-soft); margin:.6rem 0 0; }
.sk-kicker{
  display:inline-block; margin-bottom:1rem; padding:.45rem .9rem;
  color:var(--primary-hover); background:var(--primary-l);
  border-radius:var(--radius-pill); font:700 .78rem var(--font-display);
  letter-spacing:.08em; text-transform:uppercase;
}

.sk-breadcrumb{ background:var(--c-bg-alt); border-bottom:1px solid var(--c-border); }
.sk-breadcrumb .sk-container{ display:flex; align-items:center; gap:.65rem; padding-top:.75rem; padding-bottom:.75rem; font-size:.85rem; }
.sk-breadcrumb a{ color:var(--c-text-soft); text-decoration:none; }
.sk-breadcrumb a:hover,.sk-text-link:hover{ color:var(--primary); }
.sk-breadcrumb span[aria-current]{ font-weight:700; color:var(--c-text); }

.sk-hero{ background:var(--c-dark); padding:4.5rem 0; }
.sk-hero-grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:3rem; align-items:center; }
.sk-hero .sk-kicker,.sk-contact .sk-kicker{ background:var(--primary-l); color:var(--primary-hover); }
.sk-hero h1,.sk-contact h2{ color:var(--c-bg) !important; }
.sk-hero h1{ max-width:700px; font-size:clamp(2rem,3.8vw,3.4rem) !important; }
.sk-lead{ color:var(--c-bg); font-size:1.08rem; max-width:690px; }
.sk-actions{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }
.sk-button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.9rem 1.45rem; border-radius:var(--radius); border:2px solid transparent;
  font:700 .96rem var(--font-display); text-align:center; text-decoration:none;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.sk-button:hover{ transform:translateY(-2px); text-decoration:none; }
.sk-button-primary{ background:var(--primary); color:var(--c-bg); box-shadow:var(--shadow-glow); }
.sk-button-primary:hover{ background:var(--primary-hover); color:var(--c-bg); }
.sk-button-outline{ border-color:var(--c-border); color:var(--c-bg); }
.sk-button-outline:hover{ background:var(--c-bg); color:var(--c-dark); }
.sk-button-light{ background:var(--c-bg); color:var(--primary-hover); }
.sk-button-light:hover{ background:var(--c-bg-alt); color:var(--primary-hover); }
.sk-hero-panel{
  border-radius:var(--radius-lg); background:var(--c-bg);
  box-shadow:var(--shadow-lg); padding:2rem;
}
.sk-hero-panel h2{ font-size:1.35rem; }
.sk-hero-panel ul{ list-style:none; padding:0; margin:1.25rem 0; }
.sk-hero-panel li{ padding:.75rem 0; border-bottom:1px solid var(--c-border); line-height:1.5; }
.sk-hero-panel li:last-child{ border-bottom:0; }
.sk-hero-panel a,.sk-text-link{ color:var(--primary-hover); font-weight:700; text-decoration:none; }

.sk-two-col{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem; }
.sk-service-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.3rem; }
.sk-card{
  background:var(--c-bg); border:1px solid var(--c-border);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-sm);
  padding:1.6rem; display:flex; flex-direction:column; min-width:0;
}
.sk-card h3{ font-size:1.12rem; }
.sk-card p{ color:var(--c-text-soft); font-size:.94rem; margin:0; }
.sk-card .sk-text-link{ margin-top:1.25rem; }
.sk-choice{ padding:2rem; }
.sk-choice h3{ font-size:1.25rem; }
.sk-split{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:3rem; align-items:start; }
.sk-split p{ color:var(--c-text-soft); margin:0 0 1rem; }
.sk-split .sk-button{ margin-top:.5rem; }

.sk-steps{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.3rem; padding:0; margin:0; list-style:none; }
.sk-steps li{ background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--radius-lg); padding:1.55rem; }
.sk-steps li>span{
  display:grid; place-items:center; width:2.3rem; height:2.3rem; margin-bottom:1rem;
  background:var(--primary); color:var(--c-bg); border-radius:var(--radius-pill); font-weight:700;
}
.sk-steps h3{ font-size:1.05rem; }
.sk-steps p{ color:var(--c-text-soft); font-size:.9rem; margin:0; }
.sk-safety{ background:var(--primary-l); border-radius:var(--radius-lg); padding:2rem 2.3rem; }
.sk-safety h2{ font-size:1.45rem; }
.sk-safety ul{ margin:0; padding-left:1.25rem; line-height:1.75; }

.sk-area-grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:2rem; align-items:center; }
.sk-map-frame{
  min-width:0; overflow:hidden; border:1px solid var(--c-border);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-md); background:var(--c-bg);
}
.sk-map{ width:100%; height:360px; }
.sk-map-fallback{ display:grid; place-items:center; height:100%; padding:2rem; margin:0; text-align:center; color:var(--c-text-soft); }
.sk-map .leaflet-control-attribution{ font-size:.68rem; }
.sk-map .leaflet-tooltip.sk-map-label{
  background:var(--c-bg); color:var(--c-text); border:1px solid var(--c-border);
  border-radius:var(--radius-pill); box-shadow:var(--shadow-sm);
  font:700 .9rem var(--font-display); padding:.35rem .75rem;
}
.sk-map .leaflet-tooltip.sk-map-label::before{ display:none; }
.sk-area-copy h3{ font-size:1.25rem; }
.sk-area-copy p{ color:var(--c-text-soft); margin:0 0 1rem; }
.sk-area-copy .sk-map-note{ font-size:.82rem; }

.sk-faq-list{ max-width:800px; margin:0 auto; }
.sk-faq-item{ border-bottom:1px solid var(--c-border); padding:1.1rem 0; }
.sk-faq-item:first-child{ border-top:1px solid var(--c-border); }
.sk-faq-item summary{ cursor:pointer; font-weight:700; line-height:1.5; }
.sk-faq-item p{ color:var(--c-text-soft); margin:.75rem 0 0; }
.sk-contact{ background:var(--c-dark); color:var(--c-bg); }
.sk-contact-grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:3rem; align-items:center; }
.sk-contact p{ color:var(--c-bg); }
.sk-contact-info{ border:1px solid var(--c-border); border-radius:var(--radius-lg); padding:1.6rem 2rem; }
.sk-contact-info p{ margin:0 0 1rem; }
.sk-contact-info p:last-child{ margin:0; }
.sk-contact-info a{ color:var(--c-bg); text-decoration:underline; overflow-wrap:anywhere; }
.sk-contact-info a:hover{ color:var(--primary-l); }

@media (max-width:1024px){
  .sk-service-grid,.sk-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .sk-section{ padding:3.4rem 0; }
  .sk-hero{ padding:3rem 0; }
  .sk-hero-grid,.sk-two-col,.sk-split,.sk-contact-grid{ grid-template-columns:1fr; gap:1.5rem; }
  .sk-area-grid{ grid-template-columns:1fr; gap:1.5rem; }
  .sk-map{ height:300px; touch-action:pan-y; }
  .sk-hero-panel{ max-width:560px; }
}
@media (max-width:560px){
  .sk-container{ padding-left:18px; padding-right:18px; }
  .sk-service-grid,.sk-steps{ grid-template-columns:1fr; }
  .sk-actions{ flex-direction:column; align-items:stretch; }
  .sk-button{ width:100%; }
  .sk-breadcrumb .sk-container{ flex-wrap:wrap; }
  .sk-map{ height:280px; }
}
