/* ==========================================================
   AGIL UND MOBIL - Gesamtes Stylesheet
   1 Schriften · 2 Grundlagen · 3 Unterseiten · 4 Startseite
   5 Produkte · 6 Hilfsklassen
   ========================================================== */
/* 1 · Schriften (lokal, keine externen Dienste) */
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-1.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-2.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-3.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-1.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-2.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-3.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-1.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-2.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("../fonts/archivo-3.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-1.woff2") format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-2.woff2") format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-3.woff2") format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-4.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-5.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-serif-6.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-serif-1.woff2") format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-serif-2.woff2") format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-serif-3.woff2") format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-serif-4.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-serif-5.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-serif-6.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* 2 · Grundlagen */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}
button:not(:disabled){cursor:pointer}
label{display:inline-block}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* 3 · Basis: Unterseiten (Beratung, Service, Mieten, Kontakt, Über uns) */
:root{
  --c-accent:#7d9a15;--c-accent-ink:#59700c;--c-accent-deep:#42540c;--c-accent-tint:#eef2dd;
  --c-ink:#16170f;--c-ink-60:#5e6055;--c-ink-30:#a3a599;
  --c-paper:#ffffff;--c-paper-2:#f2f1e9;--c-line:#dedcd0;
  --ff-display:"Source Serif 4",Georgia,"Times New Roman",serif;
  --ff-text:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ff-mono:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ff-arch:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --fs-base:1.125rem;--fs-h1:clamp(2.6rem,6vw,5.5rem);--fs-h2:clamp(2rem,4vw,3.6rem);
  --fs-lead:clamp(1.2rem,1.55vw,1.5rem);--fs-label:0.7rem;
  --sp-section:clamp(3rem,5.5vw,5.5rem);--gutter:clamp(1rem,2.2vw,2rem);
  --tap:52px;--ease:cubic-bezier(.22,.61,.36,1);
}
body{margin:0;background:var(--c-paper);color:var(--c-ink);font-family:var(--ff-text);font-size:var(--fs-base);line-height:1.62;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
h1,h2,h3{font-family:var(--ff-display);font-weight:400;letter-spacing:-.012em;line-height:1.1;margin:0;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:1.02}
h2{font-size:var(--fs-h2)}
p{margin:0 0 1em}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--c-accent-ink);outline-offset:4px}
.shell{max-width:1560px;margin-inline:auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:clamp(1.25rem,2.2vw,2rem)}
@media(max-width:899.98px){.grid{grid-template-columns:repeat(6,1fr)}}
.c-1-4{grid-column:1/4}
.c-1-6{grid-column:1/7}
.c-1-8{grid-column:1/9}
.c-6-13{grid-column:6/13}
.c-9-13{grid-column:9/13}
.c-1-13{grid-column:1/13}
@media(max-width:899.98px){.c-1-4,.c-1-6,.c-1-8,.c-6-13,.c-9-13,.c-1-13{grid-column:1/7}}
.section{padding-block:var(--sp-section)}
.label{font-family:var(--ff-mono);font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:#fff;background:#a8b838;padding:.5em 1em .4em;display:inline-block;margin:0 0 1.1rem}
.lead{font-size:var(--fs-lead);color:var(--c-ink-60);max-width:46ch}
.muted{color:var(--c-ink-60)}
.cap{font-family:var(--ff-mono);font-size:var(--fs-label);letter-spacing:.1em;color:var(--c-ink-60);margin-top:.9rem}
.ul-sweep{text-decoration:none;background-image:linear-gradient(var(--c-accent),var(--c-accent));background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .45s var(--ease);padding-bottom:2px}
.ul-sweep:hover,.ul-sweep:focus-visible{background-size:100% 2px}
.act{display:inline-flex;align-items:center;gap:.85rem;min-height:var(--tap);font-weight:500;font-size:1.0625rem;text-decoration:none;border-bottom:1px solid var(--c-ink);padding-bottom:.35rem;transition:border-color .3s var(--ease),color .3s var(--ease)}
.act .arw{display:inline-block;transition:transform .35s var(--ease);color:var(--c-accent-ink)}
.act:hover{color:var(--c-accent-ink);border-color:var(--c-accent)}
.act:hover .arw{transform:translateX(.45rem)}
.act--solid{background:var(--c-ink);color:#fff;border:0;border-radius:999px;padding:.95rem 1.7rem;transition:background-color .3s var(--ease),transform .3s var(--ease)}
.act--solid:hover{background:#000;color:#fff;transform:translateY(-2px)}
.act--solid .arw{color:inherit}
.site-header{position:sticky;top:0;z-index:1040;background:#fff;font-family:var(--ff-arch)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.85rem}
.wordmark{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.wordmark img{height:clamp(56px,5.6vw,72px);width:auto}
.nav-list{display:flex;align-items:center;gap:2.1rem;list-style:none;margin:0;padding:0}
.nav-list a{font-size:.975rem;text-decoration:none;color:var(--c-ink-60);transition:color .25s var(--ease)}
.nav-list a:hover{color:var(--c-accent-ink)}
.nav-list a[aria-current="page"]{color:var(--c-ink);font-weight:600}
.hdr-tel{font-family:var(--ff-arch);font-size:.9rem;font-weight:500;text-decoration:none;font-variant-numeric:tabular-nums}
.burger{display:none;min-width:var(--tap);min-height:var(--tap);border:1px solid var(--c-line);border-radius:999px;background:transparent;font-family:var(--ff-arch);font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding-inline:1.15rem;color:var(--c-ink)}
@media(max-width:1099.98px){.nav-list{display:none}.burger{display:inline-flex;align-items:center;justify-content:center}}
.offcanvas{background:var(--c-paper)}
.offcanvas .nav-list{display:grid;gap:1.1rem}
.offcanvas .nav-list a{font-family:var(--ff-arch);font-size:1.6rem;letter-spacing:-.03em;font-weight:500;color:var(--c-ink)}
.figure{overflow:hidden;background:var(--c-paper-2);margin:0}
.figure img{display:block;width:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.2s var(--ease)}
.figure:hover img{transform:scale(1)}
/* Der Zoom rechnet ab der Unterkante - sonst ragt das vergroesserte Bild ueber die
   Bildunterschrift und verdeckt sie, je hoeher das Bild desto mehr (Hochformat). */
.figure:has(figcaption) img{transform-origin:bottom center}
.figure figcaption{position:relative;z-index:1}
.figure--wide img{aspect-ratio:3/2}
.flow{list-style:none;margin:clamp(2.5rem,5vw,4.5rem) 0 0;padding:0;column-count:2;column-gap:clamp(2rem,5vw,5rem);max-width:76rem}
.flow li{break-inside:avoid;margin:0 0 1.75rem}
.flow h3{display:block;font-family:var(--ff-text);font-weight:600;font-size:1.0625rem;letter-spacing:0;margin:0 0 .3rem}
.flow p{display:block;margin:0;color:var(--c-ink-60)}
@media(max-width:899.98px){.flow{column-count:1}}
.beratung__img{align-self:start}
.beratung__img img{aspect-ratio:16/10;object-position:64% 45%}
@media(max-width:899.98px){.beratung__img img{aspect-ratio:4/3}}
.cta{background:var(--c-accent-tint);padding-block:var(--sp-section)}
.site-footer{background:#42540c;color:#f4f3ea;padding-block:clamp(3rem,6vw,5rem) 2rem;font-family:var(--ff-arch)}
.site-footer h3{font-family:var(--ff-arch);font-size:var(--fs-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#c4d774;margin-bottom:1.1rem}
.site-footer a{color:#f4f3ea;text-decoration:none;transition:color .25s var(--ease)}
.site-footer a:hover{color:#fff}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.foot-mark{margin:0}
.foot-mark img{height:clamp(56px,8vw,96px);width:auto}
.foot-bottom{margin-top:clamp(4rem,8vw,7rem);padding-top:1.5rem;font-size:.8125rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,243,234,.65);display:flex;flex-wrap:wrap;gap:2rem}
.foot-bottom a{color:rgba(244,243,234,.65)}
.c-7-10{grid-column:7/10}
.c-10-13{grid-column:10/13}
@media(max-width:899.98px){.c-7-10,.c-10-13{grid-column:1/7}}
.skip-link{position:absolute;left:1rem;top:.6rem;z-index:1100;background:var(--c-ink);color:var(--c-paper);padding:.8rem 1.3rem;border-radius:999px;font-size:.9rem;text-decoration:none}
.plain-list{list-style:none;margin:0;padding:0}
.plain-list li{padding-block:.85rem;border-bottom:1px solid var(--c-line);display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline}
.plain-list li::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--c-accent);transform:translateY(-.2rem)}
.plain-list li:first-child{border-top:1px solid var(--c-line)}
.duo{display:grid;grid-template-columns:1fr;gap:clamp(2rem,4vw,4rem)}
@media(min-width:900px){.duo{grid-template-columns:1fr 1fr}}
.info{list-style:none;margin:0;padding:0;display:grid;gap:1.6rem}
.info dt{font-family:var(--ff-mono);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-60);margin-bottom:.3rem}
.info dd{margin:0;font-size:1.15rem}
.info a{text-decoration:none}
.form-label{font-family:var(--ff-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-60);margin-bottom:.45rem}
.form-control,.form-select{min-height:var(--tap);border:0;border-bottom:1px solid var(--c-line);border-radius:0;background:transparent;font-family:var(--ff-text);font-size:1.0625rem;padding:.7rem 0;color:var(--c-ink);transition:border-color .3s var(--ease)}
.form-control::placeholder{color:var(--c-ink-30)}
.form-control:focus,.form-select:focus{background:transparent;border-color:var(--c-accent);box-shadow:none;outline:none}
textarea.form-control{min-height:7.5rem}
.form-check-input{width:1.3rem;height:1.3rem;margin-top:.25rem;border:1px solid var(--c-ink-30);border-radius:3px}
.form-check-input:checked{background-color:var(--c-accent-ink);border-color:var(--c-accent-ink)}
.form-check-label{font-size:.95rem;color:var(--c-ink-60)}
.req{color:var(--c-accent-ink)}
.map-ph{border:1px dashed var(--c-ink-30);min-height:13rem;display:grid;place-items:center;text-align:center;padding:1.5rem;font-family:var(--ff-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-60);background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(22,23,15,.03) 14px 28px)}
.c-7-13{grid-column:7/13}
.c-8-13{grid-column:8/13}
@media(max-width:899.98px){.c-7-13,.c-8-13{grid-column:1/7}}

/* 4 · Startseite */
body.page-home{
  --c-paper:#ffffff;
  --c-ink:#111210;
  --c-ink-55:#61635a;
  --c-ink-25:#a8aaa0;
  --c-rule:#d8d7cf;
  --c-accent:#7d9a15;
  --c-accent-ink:#59700c;
  --c-accent-deep:#42540c;

  --ff:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;--ff-serif:"Source Serif 4",Georgia,"Times New Roman",serif;

  --fs-base:1.1875rem;
  --fs-xl:clamp(3rem,9.5vw,10.5rem);
  --fs-l:clamp(2rem,5.2vw,4.75rem);
  --fs-m:clamp(1.35rem,2.4vw,2.1rem);
  --fs-s:1.3125rem;
  --fs-meta:0.6875rem;

  --sp-xl:clamp(6rem,16vh,14rem);
  --sp-l:clamp(3.5rem,8vh,7rem);
  --gutter:clamp(1.25rem,2.6vw,2.5rem);
  --edge:clamp(1.25rem,4.5vw,4.5rem);
  --tap:48px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
body.page-home{
  margin:0;background:#fff;color:var(--c-ink);
  font-family:var(--ff);font-size:var(--fs-base);font-weight:400;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden;
  font-variant-numeric:tabular-nums;
}
body.page-home h1,body.page-home h2,body.page-home h3{margin:0;font-family:var(--ff-serif);font-weight:400;letter-spacing:-.02em;line-height:1;text-wrap:balance}
body.page-home p{margin:0}
body.page-home img{display:block;width:100%;height:auto}
body.page-home a{color:inherit;text-decoration:none}
body.page-home :focus-visible{outline:1px solid var(--c-ink);outline-offset:6px}
body.page-home ::selection{background:var(--c-accent);color:#fff}
body.page-home .page{padding-inline:var(--edge)}
body.page-home .g{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter)}
@media(max-width:899.98px){body.page-home .g{grid-template-columns:repeat(6,1fr)}}
body.page-home .band{padding-block:var(--sp-xl)}
body.page-home .band--tight{padding-block:var(--sp-l)}
body.page-home .a1-4{grid-column:1/5}
body.page-home .a1-5{grid-column:1/6}
body.page-home .a1-6{grid-column:1/7}
body.page-home .a1-8{grid-column:1/9}
body.page-home .a1-9{grid-column:1/10}
body.page-home .a1-13{grid-column:1/13}
body.page-home .a2-6{grid-column:2/7}
body.page-home .a5-13{grid-column:5/13}
body.page-home .a6-11{grid-column:6/12}
body.page-home .a7-11{grid-column:7/12}
body.page-home .a7-13{grid-column:7/13}
body.page-home .a8-13{grid-column:8/13}
body.page-home .a9-13{grid-column:9/13}
body.page-home .a10-13{grid-column:10/13}
@media(max-width:899.98px){body.page-home .a1-4,body.page-home .a1-5,body.page-home .a1-6,body.page-home .a1-8,body.page-home .a1-9,body.page-home .a1-13,body.page-home .a2-6,body.page-home .a5-13,body.page-home .a6-11,body.page-home .a7-11,body.page-home .a7-13,body.page-home .a8-13,body.page-home .a9-13,body.page-home .a10-13{grid-column:1/7}}
body.page-home .drop-s{margin-top:var(--sp-l)}
body.page-home .drop-l{margin-top:var(--sp-xl)}
@media(max-width:899.98px){body.page-home .drop-s,body.page-home .drop-l{margin-top:0}
body.page-home .indent{margin-left:0!important;padding-left:0!important;max-width:100%!important}}
body.page-home .meta{
  font-size:var(--fs-meta);font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--c-accent-ink);margin:0;
}
body.page-home .meta--mut{color:var(--c-ink-55)}
body.page-home .meta.a1-4{color:#fff;background:#a8b838;padding:.5em 1em .4em;display:inline-block;justify-self:start;align-self:start}
body.page-home .meta--ink{color:var(--c-ink)}
body.page-home .t-xl{font-size:var(--fs-xl);letter-spacing:-.045em;line-height:.9}
body.page-home .t-l{font-family:var(--ff-serif);font-weight:400;font-size:var(--fs-l);letter-spacing:-.02em}
body.page-home .t-m{font-size:var(--fs-m);letter-spacing:-.02em;line-height:1.18;font-weight:500}
body.page-home .t-s{font-size:var(--fs-s);letter-spacing:-.005em;line-height:1.5}
body.page-home .body-col{font-size:var(--fs-base);color:var(--c-ink-55);max-width:38ch}
body.page-home .body-col--wide{max-width:52ch}
body.page-home .ink{color:var(--c-ink)}
body.page-home .accent{color:var(--c-accent)}
body.page-home .tl{
  color:var(--c-accent-ink);
  display:inline-block;font-size:var(--fs-s);font-weight:500;letter-spacing:-.01em;
  min-height:var(--tap);padding-top:.55rem;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:100% 1px;background-repeat:no-repeat;background-position:0 1.85em;
  transition:color .3s var(--ease),background-position .3s var(--ease);
}
body.page-home .tl:hover{color:var(--c-accent-deep);background-position:0 2.05em}
body.page-home .tl .a{display:inline-block;transition:transform .3s var(--ease)}
body.page-home .tl:hover .a{transform:translateX(.4rem)}
body.page-home .shell{max-width:1560px;margin-inline:auto;padding-inline:var(--gutter)}
body.page-home .boxed{max-width:1680px;margin-inline:auto;background:var(--c-paper)}
body.page-home .site-header{position:sticky;top:0;z-index:1040;background:#fff;font-family:var(--ff);max-width:1680px;margin-inline:auto}
body.page-home .hdr{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.85rem}
body.page-home .wordmark{display:flex;align-items:center;gap:.6rem;text-decoration:none}
body.page-home .wordmark img{height:clamp(56px,5.6vw,72px);width:auto}
body.page-home .nav-list{display:flex;align-items:center;gap:2.1rem;list-style:none;margin:0;padding:0}
body.page-home .nav-list a{font-size:.975rem;text-decoration:none;color:var(--c-ink-55);transition:color .25s var(--ease)}
body.page-home .nav-list a:hover{color:var(--c-accent-ink)}
body.page-home .nav-list a[aria-current="page"]{color:var(--c-ink);font-weight:600}
body.page-home .ul-sweep{text-decoration:none;background-image:linear-gradient(var(--c-accent),var(--c-accent));background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .45s var(--ease);padding-bottom:2px}
body.page-home .ul-sweep:hover,body.page-home .ul-sweep:focus-visible{background-size:100% 2px}
body.page-home .hdr-tel{font-size:.9rem;font-weight:500;text-decoration:none;font-variant-numeric:tabular-nums}
body.page-home .act{display:inline-flex;align-items:center;gap:.85rem;min-height:var(--tap);font-weight:500;font-size:1.0625rem;text-decoration:none;border-bottom:1px solid var(--c-ink);padding-bottom:.35rem;transition:border-color .3s var(--ease),color .3s var(--ease)}
body.page-home .act:hover{color:var(--c-accent-ink);border-color:var(--c-accent)}
body.page-home .act--solid{background:var(--c-ink);color:#fff;border:0;border-radius:999px;padding:.95rem 1.7rem;transition:background-color .3s var(--ease),transform .3s var(--ease)}
body.page-home .act--solid:hover{background:#000;color:#fff;transform:translateY(-2px)}
body.page-home .burger{display:none;min-width:var(--tap);min-height:var(--tap);border:1px solid var(--c-rule);border-radius:999px;background:transparent;font-family:var(--ff);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding-inline:1.15rem;color:var(--c-ink)}
@media(max-width:1099.98px){body.page-home .nav-list{display:none}
body.page-home .burger{display:inline-flex;align-items:center;justify-content:center}}
body.page-home .offcanvas{background:var(--c-paper);border:0}
body.page-home .offcanvas .nav-list{display:grid;gap:1.1rem}
body.page-home .offcanvas .nav-list a{font-size:1.6rem;letter-spacing:-.03em;color:var(--c-ink);font-weight:500}
body.page-home figure{margin:0}
body.page-home .im img{transition:opacity .5s var(--ease)}
body.page-home .im--port img{aspect-ratio:4/5;object-fit:cover}
body.page-home .im--land img{aspect-ratio:3/2;object-fit:cover}
body.page-home .im--wide img{aspect-ratio:16/9;object-fit:cover}
body.page-home .im figcaption{margin-top:.85rem;font-size:var(--fs-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-55)}
@media(max-width:899.98px){body.page-home .im--port img{aspect-ratio:3/4}}
body.page-home .entry{padding-top:clamp(1.5rem,2.6vw,2.25rem)}
body.page-home .entry__ttl{font-size:clamp(1.75rem,3.4vw,3rem);letter-spacing:-.035em;line-height:1;font-weight:500}
body.page-home .entry__ttl a{transition:color .3s var(--ease)}
body.page-home .entry__ttl a:hover{color:var(--c-accent)}
body.page-home .entry__txt{margin-top:1rem;color:var(--c-ink-55);max-width:44ch}
body.page-home .entry__more{margin-top:1.25rem}
body.page-home .grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:clamp(1.25rem,2.2vw,2rem)}
@media(max-width:899.98px){body.page-home .grid{grid-template-columns:repeat(6,1fr)}}
body.page-home .c-1-4{grid-column:1/4}
body.page-home .c-6-13{grid-column:6/13}
body.page-home .c-7-10{grid-column:7/10}
body.page-home .c-10-13{grid-column:10/13}
@media(max-width:899.98px){body.page-home .c-1-4,body.page-home .c-6-13,body.page-home .c-7-10,body.page-home .c-10-13{grid-column:1/7}}
body.page-home .site-footer{background:#42540c;color:#f4f3ea;padding-block:clamp(3rem,6vw,5rem) 2rem;font-family:var(--ff)}
body.page-home .site-footer h3{font-family:var(--ff);font-size:var(--fs-meta);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#c4d774;margin-bottom:1.1rem}
body.page-home .site-footer a{color:#f4f3ea;text-decoration:none;transition:color .25s var(--ease)}
body.page-home .site-footer a:hover{color:#fff}
body.page-home .foot-mark{margin:0}
body.page-home .foot-mark img{height:clamp(56px,8vw,96px);width:auto}
body.page-home .foot-bottom{margin-top:clamp(4rem,8vw,7rem);padding-top:1.5rem;font-size:.8125rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,243,234,.65);display:flex;flex-wrap:wrap;gap:2rem}
body.page-home .foot-bottom a{color:rgba(244,243,234,.65)}
body.page-home .skip{position:absolute;left:var(--edge);top:.5rem;z-index:80;background:var(--c-ink);color:var(--c-paper);padding:.7rem 1.1rem;font-size:.85rem}

/* ---------- Vertrauen + FAQ ---------- */
body.page-home .trust-i{grid-column:span 4}
@media(max-width:899.98px){body.page-home .trust-i{grid-column:1/7}}
body.page-home .faq{border-top:1px solid var(--c-rule)}
body.page-home .faq details{border-bottom:1px solid var(--c-rule)}
body.page-home .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.15rem 0;font-size:1.125rem;font-weight:500}
body.page-home .faq summary::-webkit-details-marker{display:none}
body.page-home .faq summary::after{content:"+";color:var(--c-accent-ink);flex-shrink:0;font-size:1.25em;line-height:1}
body.page-home .faq details[open] summary::after{content:"\2013"}
body.page-home .faq .faq-a{margin:0;padding:0 0 1.4rem;max-width:60ch;color:var(--c-ink-55);line-height:1.7}

/* 5 · Produkte */
body.page-produkte{
  --c-accent:#7d9a15;
  --c-accent-ink:#59700c;
  --c-ink:#16170f;
  --c-ink-60:#5e6055;
  --c-ink-30:#a3a599;
  --c-paper:#ffffff;
  --c-paper-2:#f2f1e9;
  --c-line:#dedcd0;
  --ff-display:"Source Serif 4",Georgia,"Times New Roman",serif;
  --ff-text:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ff-mono:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ff-arch:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --fs-base:1.125rem;
  --fs-h1:clamp(2.8rem,7vw,6.5rem);
  --fs-h2:clamp(2.3rem,5vw,4.6rem);
  --fs-lead:clamp(1.2rem,1.55vw,1.5rem);
  --fs-label:0.7rem;
  --sp-section:clamp(3rem,5.5vw,5.5rem);
  --gutter:clamp(1rem,2.2vw,2rem);
  --tap:52px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
body.page-produkte{
  margin:0;background:var(--c-paper);color:var(--c-ink);
  font-family:var(--ff-text);font-size:var(--fs-base);line-height:1.62;
  -webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden;
}
body.page-produkte h1,body.page-produkte h2,body.page-produkte h3{font-family:var(--ff-display);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:0;text-wrap:balance}
body.page-produkte h1{font-size:var(--fs-h1);letter-spacing:-.02em;line-height:1}
body.page-produkte h2{font-size:var(--fs-h2)}
body.page-produkte p{margin:0 0 1em}
body.page-produkte img{display:block;max-width:100%;height:auto}
body.page-produkte a{color:inherit}
body.page-produkte :focus-visible{outline:2px solid var(--c-accent-ink);outline-offset:4px}
body.page-produkte .shell{max-width:1560px;margin-inline:auto;padding-inline:var(--gutter)}
body.page-produkte .grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:clamp(1.25rem,2.2vw,2rem)}
@media(max-width:899.98px){body.page-produkte .grid{grid-template-columns:repeat(6,1fr)}}
body.page-produkte .c-1-6{grid-column:1/7}
body.page-produkte .c-9-13{grid-column:9/13}
body.page-produkte .c-1-13{grid-column:1/13}
@media(max-width:899.98px){body.page-produkte .c-1-6,body.page-produkte .c-9-13,body.page-produkte .c-1-13{grid-column:1/7}}
body.page-produkte .section{padding-block:var(--sp-section)}
body.page-produkte .label{
  font-family:var(--ff-mono);font-size:var(--fs-label);letter-spacing:.16em;
  text-transform:uppercase;color:#fff;background:#a8b838;padding:.5em 1em .4em;display:inline-block;margin:0 0 1.1rem;
}
body.page-produkte .lead{font-size:var(--fs-lead);color:var(--c-ink-60);max-width:46ch}
body.page-produkte .muted{color:var(--c-ink-60)}
body.page-produkte .ul-sweep{
  text-decoration:none;background-image:linear-gradient(var(--c-accent),var(--c-accent));
  background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .45s var(--ease);padding-bottom:2px;
}
body.page-produkte .ul-sweep:hover,body.page-produkte .ul-sweep:focus-visible{background-size:100% 2px}
body.page-produkte .act{
  display:inline-flex;align-items:center;gap:.85rem;min-height:var(--tap);
  font-weight:500;font-size:1.0625rem;text-decoration:none;
  border-bottom:1px solid var(--c-ink);padding-bottom:.35rem;
  transition:border-color .3s var(--ease),color .3s var(--ease);
}
body.page-produkte .act .arw{display:inline-block;transition:transform .35s var(--ease);color:var(--c-accent-ink)}
body.page-produkte .act:hover{color:var(--c-accent-ink);border-color:var(--c-accent)}
body.page-produkte .act:hover .arw{transform:translateX(.45rem)}
body.page-produkte .act--solid{
  background:var(--c-ink);color:var(--c-paper);border:0;border-radius:999px;
  padding:.95rem 1.7rem;transition:background-color .3s var(--ease),transform .3s var(--ease);
}
body.page-produkte .act--solid:hover{background:#000;color:#fff;transform:translateY(-2px)}
body.page-produkte .act--solid .arw{color:inherit}
body.page-produkte .site-header{
  position:sticky;top:0;z-index:1040;background:#fff;font-family:var(--ff-arch);
}
body.page-produkte .hdr{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.85rem}
body.page-produkte .wordmark{display:flex;align-items:center;gap:.6rem;text-decoration:none}
body.page-produkte .wordmark img{height:clamp(56px,5.6vw,72px);width:auto}
body.page-produkte .nav-list{display:flex;align-items:center;gap:2.1rem;list-style:none;margin:0;padding:0}
body.page-produkte .nav-list a{font-size:.975rem;text-decoration:none;color:var(--c-ink-60);transition:color .25s var(--ease)}
body.page-produkte .nav-list a:hover{color:var(--c-ink)}
body.page-produkte .nav-list a[aria-current="page"]{color:var(--c-ink);font-weight:600}
body.page-produkte .hdr-tel{font-family:var(--ff-arch);font-size:.9rem;font-weight:500;text-decoration:none;font-variant-numeric:tabular-nums}
body.page-produkte .burger{display:none;min-width:var(--tap);min-height:var(--tap);border:1px solid var(--c-line);border-radius:999px;background:transparent;font-family:var(--ff-arch);font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding-inline:1.15rem;color:var(--c-ink)}
@media(max-width:1099.98px){body.page-produkte .nav-list{display:none}
body.page-produkte .burger{display:inline-flex;align-items:center;justify-content:center}}
body.page-produkte .offcanvas{background:var(--c-paper)}
body.page-produkte .offcanvas .nav-list{display:grid;gap:1.1rem}
body.page-produkte .offcanvas .nav-list a{font-family:var(--ff-arch);font-size:1.6rem;letter-spacing:-.03em;font-weight:500;color:var(--c-ink)}
body.page-produkte .switcher{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin:2rem 0 0}
body.page-produkte .segbar{display:inline-flex;padding:4px;border:1px solid var(--c-line);border-radius:999px;background:var(--c-paper-2)}
body.page-produkte .seg{
  appearance:none;border:0;background:transparent;color:var(--c-ink-60);cursor:pointer;
  min-height:44px;padding:.55rem 1.5rem;border-radius:999px;
  font-family:var(--ff-text);font-size:1rem;font-weight:500;letter-spacing:-.01em;
  transition:background-color .35s var(--ease),color .35s var(--ease);
}
body.page-produkte .seg:hover{color:var(--c-ink)}
body.page-produkte .seg.is-on{background:var(--c-ink);color:var(--c-paper)}
body.page-produkte .switcher__note{margin:0;font-family:var(--ff-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-60)}
body.page-produkte .cat{padding-block:var(--sp-section);scroll-margin-top:6rem}
body.page-produkte .cat + .cat{border-top:1px solid var(--c-line)}
body.page-produkte .cat__head{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:1rem;align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}
body.page-produkte .cat__head h2{grid-column:1/7}
body.page-produkte .cat__head p{grid-column:9/13;margin:0;color:var(--c-ink-60)}
@media(max-width:899.98px){body.page-produkte .cat__head{grid-template-columns:1fr}
body.page-produkte .cat__head h2,body.page-produkte .cat__head p{grid-column:1}}
body.page-produkte .tiles{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);row-gap:clamp(2.5rem,5vw,4rem)}
body.page-produkte .tile{grid-column:span 4;display:block;text-decoration:none;color:inherit}
@media(max-width:899.98px){body.page-produkte .tiles{grid-template-columns:1fr}
body.page-produkte .tile{grid-column:1}}
body.page-produkte .tile figure{margin:0;overflow:hidden;background:var(--c-paper-2)}
body.page-produkte .tile img{width:100%;aspect-ratio:4/3;object-fit:cover;transform:scale(1.04);transition:transform 1s var(--ease)}
body.page-produkte .tile:hover img{transform:scale(1)}
body.page-produkte .tile h3{font-size:clamp(1.5rem,2.2vw,2rem);margin:1.1rem 0 .4rem;transition:color .3s var(--ease)}
body.page-produkte .tile:hover h3{color:var(--c-accent-ink)}
body.page-produkte .tile p{margin:0;color:var(--c-ink-60);max-width:44ch;animation:subIn-produkte .5s var(--ease) both}
body.page-produkte .tile .tile__go{
  display:inline-block;margin-top:.9rem;font-family:var(--ff-mono);font-size:var(--fs-label);
  letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent-ink);
  opacity:0;transform:translateX(-.4rem);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
body.page-produkte .tile:hover .tile__go,body.page-produkte .tile:focus-visible .tile__go{opacity:1;transform:none}
@keyframes subIn-produkte{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
body.page-produkte .site-footer{background:#42540c;color:#f4f3ea;padding-block:clamp(3rem,6vw,5rem) 2rem;font-family:var(--ff-arch)}
body.page-produkte .site-footer h3{font-family:var(--ff-arch);font-size:var(--fs-label);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#c4d774;margin-bottom:1.1rem}
body.page-produkte .site-footer a{color:#f4f3ea;text-decoration:none;transition:color .25s var(--ease)}
body.page-produkte .site-footer a:hover{color:#fff}
body.page-produkte .site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
body.page-produkte .foot-mark{margin:0}
body.page-produkte .foot-mark img{height:clamp(56px,8vw,96px);width:auto}
body.page-produkte .foot-bottom{margin-top:clamp(4rem,8vw,7rem);padding-top:1.5rem;font-size:.8125rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,243,234,.65);display:flex;flex-wrap:wrap;gap:2rem}
body.page-produkte .foot-bottom a{color:rgba(244,243,234,.65)}
body.page-produkte .c-7-10{grid-column:7/10}
body.page-produkte .c-10-13{grid-column:10/13}
@media(max-width:899.98px){body.page-produkte .c-7-10,body.page-produkte .c-10-13{grid-column:1/7}}
body.page-produkte .c-1-4{grid-column:1/4}
body.page-produkte .c-6-13{grid-column:6/13}
@media(max-width:899.98px){body.page-produkte .c-1-4,body.page-produkte .c-6-13{grid-column:1/7}}
body.page-produkte .skip-link{position:absolute;left:1rem;top:.6rem;z-index:1100;background:var(--c-ink);color:var(--c-paper);padding:.8rem 1.3rem;border-radius:999px;font-size:.9rem;text-decoration:none}

/* 6 · Hilfsklassen */
/* ---------- Hilfsklassen (Ersatz für Bootstrap-Utilities) ---------- */
.d-none{display:none!important}
.d-flex{display:flex!important}
.flex-column{flex-direction:column!important}
.flex-wrap{flex-wrap:wrap!important}
.align-items-center{align-items:center!important}
.justify-content-between{justify-content:space-between!important}
.justify-content-end{justify-content:flex-end!important}
.gap-3{gap:1rem!important}
.mb-0{margin-bottom:0!important}
.mb-3{margin-bottom:1rem!important}
.mb-5{margin-bottom:3rem!important}
.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}
.mt-5{margin-top:3rem!important}
@media(min-width:576px){.d-sm-inline{display:inline!important}}
@media(min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-flex{display:inline-flex!important}}
.visually-hidden-focusable:not(:focus):not(:focus-within){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}

/* ---------- Spaltenraster für Formular und Fußbereich ---------- */
.row{--gx:1.5rem;--gy:0rem;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--gy));margin-right:calc(-.5*var(--gx));margin-left:calc(-.5*var(--gx))}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--gx)*.5);padding-left:calc(var(--gx)*.5);margin-top:var(--gy)}
.g-4{--gx:1.5rem;--gy:1.5rem}
.col-12{flex:0 0 auto;width:100%}
@media(min-width:576px){.col-sm-6{flex:0 0 auto;width:50%}.col-sm-4{flex:0 0 auto;width:33.33333333%}}

/* ---------- Formularelemente ---------- */
.form-control,.form-select{display:block;width:100%;appearance:none;-webkit-appearance:none}
.form-label{display:inline-block}
.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}
.form-check .form-check-input{float:left;margin-left:-1.5em}
.form-check-input{appearance:none;-webkit-appearance:none;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;flex-shrink:0}
.form-check-input:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}

/* ---------- Menü-Panel ---------- */
.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}
.btn-close:hover{opacity:.75}
.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}
.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.175);transform:translateX(100%)}
.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}
.offcanvas.show,.offcanvas.showing,.offcanvas.hiding{visibility:visible}
.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem}
.offcanvas-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}
.offcanvas-title{margin-bottom:0;line-height:1.5}
.offcanvas-body{flex-grow:1;padding:1rem;overflow-y:auto}
.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000;opacity:0;transition:opacity .15s linear}
.offcanvas-backdrop.show{opacity:.5}
@media(prefers-reduced-motion:reduce){.offcanvas,.offcanvas-backdrop{transition:none}}
/* 8 · Produktdetail */
body.page-produkte .pd-hero{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}
body.page-produkte .pd-hero__media{grid-column:1/8;margin-top:calc(var(--fs-label)*1.62 + var(--fs-label)*.9 + 1.1rem)}
body.page-produkte .pd-hero__media img{width:100%;height:auto;display:block}
body.page-produkte .pd-hero__info{grid-column:8/13;padding-bottom:.5rem}
@media(max-width:899.98px){body.page-produkte .pd-hero{grid-template-columns:1fr}body.page-produkte .pd-hero__media,body.page-produkte .pd-hero__info{grid-column:auto}body.page-produkte .pd-hero__media{margin-top:0}}
body.page-produkte .pd-facts{list-style:none;margin:clamp(1.5rem,3vh,2.5rem) 0 0;padding:0}
body.page-produkte .pd-facts li{display:flex;justify-content:space-between;gap:1.5rem;padding:.5rem 0;font-size:.975rem}
body.page-produkte .pd-facts .k{color:var(--c-ink-55)}
body.page-produkte .pd-body{max-width:62ch}
body.page-produkte .pd-body p{margin:0 0 1.15rem;line-height:1.7}
body.page-produkte .pd-plus{list-style:none;margin:1.25rem 0 0;padding:0}
body.page-produkte .pd-plus li{position:relative;padding:.4rem 0 .4rem 1.6rem;line-height:1.55}
body.page-produkte .pd-plus li::before{content:"";position:absolute;left:0;top:.95em;width:.8rem;height:2px;background:var(--c-accent)}
body.page-produkte .pd-back{display:inline-block;margin-bottom:clamp(1.5rem,3vh,2.5rem)}


/* LEGAL · Impressum, Datenschutz, AGB */
.legal .lead{max-width:52ch}
.legal__note{max-width:60ch;margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding:1rem 1.25rem;border-left:3px solid #a8b838;background:var(--c-paper-2);font-family:var(--ff-mono);font-size:.8125rem;letter-spacing:.02em;line-height:1.7;color:var(--c-ink-60)}
.legal__body{max-width:68ch;margin-top:clamp(2.5rem,5vw,4rem)}
.legal__body h2{font-size:clamp(1.25rem,1.9vw,1.6rem);margin:clamp(2.25rem,4vw,3.25rem) 0 .9rem}
.legal__body h2:first-child{margin-top:0}
.legal__body p{margin:0 0 1.1em}
.legal__body b{font-weight:600;color:var(--c-accent-ink)}
.legal__dl{display:grid;grid-template-columns:minmax(11rem,auto) 1fr;column-gap:2rem;row-gap:.7rem;margin:0}
.legal__dl dt{font-family:var(--ff-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-ink-60);padding-top:.25rem}
.legal__dl dd{margin:0}
@media(max-width:599.98px){.legal__dl{grid-template-columns:1fr;row-gap:.2rem}.legal__dl dd{margin-bottom:.9rem}}

.pd-ask{margin-top:clamp(1.75rem,3vw,2.5rem);padding-top:clamp(1.5rem,2.5vw,2rem);border-top:1px solid var(--c-line)}
.pd-ask__lead{max-width:44ch;margin:0 0 .9rem;color:var(--c-ink-60)}
.pd-ask__dir{margin:0;line-height:1.9;font-family:var(--ff-mono);font-size:.9375rem;letter-spacing:.01em}

/* Pflegebett-Modelle */
.bed-list{display:grid;gap:clamp(2.5rem,5vw,4.5rem);margin-top:clamp(2.5rem,5vw,4rem)}
.bed{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}
.bed__media{grid-column:1/7;margin:0}
.bed__media img{width:100%;height:auto;display:block}
.bed__info{grid-column:7/13}
.bed:nth-child(even) .bed__media{grid-column:7/13;order:2}
.bed:nth-child(even) .bed__info{grid-column:1/7;order:1}
.bed__kicker{font-family:var(--ff-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-ink-60)}
.bed__name{font-family:var(--ff-display);font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.01em;margin:.5rem 0 0}
.bed__quote{max-width:34ch;margin:.9rem 0 0;font-family:var(--ff-display);font-size:1.0625rem;font-style:italic;color:var(--c-accent-ink)}
.bed__specs{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.6rem}
.bed__specs li{position:relative;padding-left:1.1rem;font-size:.9375rem;line-height:1.6}
.bed__specs li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;background:#a8b838}
.bed__credit{margin-top:.6rem;font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.06em;color:var(--c-ink-60)}
@media(max-width:899.98px){.bed{grid-template-columns:1fr}.bed__media,.bed__info,.bed:nth-child(even) .bed__media,.bed:nth-child(even) .bed__info{grid-column:auto}.bed:nth-child(even) .bed__media{order:0}.bed:nth-child(even) .bed__info{order:0}}
.legal__list{list-style:none;margin:0 0 1.4em;padding:0;display:grid;gap:.45rem}
.legal__list li{position:relative;padding-left:1.1rem}
.legal__list li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;background:#a8b838}
body.page-produkte .pd-body--wide{max-width:none}
body.page-produkte .pd-body--wide p{max-width:none}

/* Unternavigation Produkte */
.nav-list .has-sub{position:relative}
.site-header .nav-list .subnav{position:absolute;top:100%;left:-1.4rem;z-index:1050;padding-top:1.1rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s}
.site-header .nav-list .has-sub:hover .subnav,.site-header .nav-list .has-sub:focus-within .subnav,.site-header .nav-list .has-sub.is-open .subnav{opacity:1;visibility:visible;transform:none}
.site-header .nav-list .subnav__inner{display:flex;gap:2.75rem;padding:1.75rem 2rem;background:#fff;border:1px solid var(--c-line);box-shadow:0 18px 40px rgba(0,0,0,.09)}
.site-header .nav-list .subnav__col{min-width:11rem}
.site-header .nav-list .subnav ul{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.55rem}
.site-header .nav-list .subnav a.subnav__head{display:block;font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#a8b838;padding:.3rem .55rem;text-decoration:none}
.site-header .nav-list .subnav a.subnav__head:hover{background:#8f9e28;color:#fff}
.site-header .nav-list .subnav li a{display:block;font-size:.9375rem;line-height:1.4;color:var(--c-ink);text-decoration:none;padding:.15rem 0}
.site-header .nav-list .subnav li a:hover{color:var(--c-accent-ink)}
.offcanvas .nav-list .subnav-m{list-style:none;margin:.75rem 0 .25rem;padding:0 0 0 1rem;display:grid;gap:.5rem;border-left:2px solid #a8b838}
.offcanvas .nav-list .subnav-m a{font-size:1rem;font-weight:400;letter-spacing:0;color:var(--c-ink-60);min-height:var(--tap);display:flex;align-items:center}

/* Produktdetail · Textblock */
body.page-produkte .pd-text{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.75rem,3vw,3.5rem);margin-top:clamp(3rem,7vh,5.5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--c-line)}
body.page-produkte .pd-text__head{grid-column:1/5}
body.page-produkte .pd-text__pull{font-family:var(--ff-display);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;letter-spacing:-.015em;margin:1rem 0 0;text-wrap:pretty}
body.page-produkte .pd-text__body{grid-column:6/13;max-width:66ch}
body.page-produkte .pd-text__body p{margin:0 0 1.15rem;line-height:1.7}
body.page-produkte .pd-text__body p:last-child{margin-bottom:0}
body.page-produkte .pd-text__lead{font-size:1.125rem;line-height:1.6}
@media(max-width:899.98px){body.page-produkte .pd-text{grid-template-columns:1fr}body.page-produkte .pd-text__head,body.page-produkte .pd-text__body{grid-column:auto}}
.legal__body h3{font-family:var(--ff-text);font-size:1.0625rem;font-weight:600;margin:2rem 0 .75rem}

/* Kostenübernahme */
.kosten-steps{list-style:none;margin:0;padding:0;display:grid;gap:clamp(1.5rem,3vw,2.25rem)}
.kosten-steps li{display:grid;grid-template-columns:3.25rem 1fr;gap:1.25rem;align-items:start}
.kosten-steps__n{font-family:var(--ff-mono);font-size:.8rem;letter-spacing:.1em;color:#fff;background:#a8b838;padding:.3rem .5rem;text-align:center}
.kosten-steps h3{font-family:var(--ff-text);font-size:1.0625rem;font-weight:600;margin:.1rem 0 .4rem}
.kosten-steps p{margin:0;line-height:1.7}
.kosten-q{font-family:var(--ff-text);font-size:1.0625rem;font-weight:600;margin:2rem 0 .5rem}
.kosten-q:first-child{margin-top:0}
@media(max-width:599.98px){.kosten-steps li{grid-template-columns:1fr;gap:.5rem}.kosten-steps__n{justify-self:start}}

/* ---------- FormBuilder (Kontaktformular) auf das Formular der Vorlage abbilden ----------
   Nicht aus der Vorlage: FormBuilder rendert eigenes Markup (Framework Bootstrap 5, ohne Bootstrap-CSS).
   Die Regeln bilden .row.g-4 / .col-sm-6 / .req der Vorlage nach. */
.FormBuilder .Inputfields{display:flex;flex-wrap:wrap;margin:-1.5rem -.75rem 0}
.FormBuilder .Inputfield{flex:0 0 auto;width:100%;padding:0 .75rem;margin-top:1.5rem}
@media(max-width:575.98px){.FormBuilder .Inputfield{width:100%!important}}
.FormBuilder .InputfieldHeaderHidden,.FormBuilder .Inputfield_email2{display:none}
.FormBuilder .InputfieldStateRequired>.InputfieldHeader::after,
.FormBuilder .InputfieldStateRequired .form-check-label>span::after{content:" *";color:var(--c-accent-ink)}
.FormBuilder .form-check-label{display:inline}
.FormBuilder .text-danger{color:#a4262c;font-size:.9rem;margin:.4rem 0 0}
.FormBuilder .alert{padding:1.25rem 0 0;margin:0 0 1.5rem;border-top:2px solid var(--c-accent);font-size:var(--fs-lead)}
.FormBuilder .alert-danger{border-color:#a4262c}
