/* TM Footer - fsp-Schicht (Baukasten-Grundgeruest).
   Look-Werte kommen als CSS-Variablen vom Root (Renderer), diese Datei bleibt
   statisch und cachebar. Breakpoints: 767 / 768-1099 / >=1100 (Breakpoints.php).
   Schriften: SELBST GEHOSTET (fonts/*.woff2, OFL) - NIE Google-Fonts-CDN.
   Der Browser laedt einen Schnitt nur, wenn er wirklich verwendet wird
   (Claim leer = kein Font-Request). */

/* Archivo (on-motion "abspann"): Variable Font, deckt 100-900 ab - selbst
   gehostet (SIL Open Font License), KEIN Google-Fonts-CDN (DSGVO). */
@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url('fonts/archivo-vf.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:100 900;font-stretch:100%;font-display:swap;src:url('fonts/archivo-vf-ext.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:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-400-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorant-400i.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorant-400i-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-500-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:Barlow;font-style:normal;font-weight:300;font-display:swap;src:url('fonts/barlow-300.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:Barlow;font-style:normal;font-weight:300;font-display:swap;src:url('fonts/barlow-300-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/barlow-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/barlow-400-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-500-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/plexmono-400.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/plexmono-400-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/plexmono-500.woff2') format('woff2');unicode-range:U+0000-00FF,U+2013-2014,U+2018-201E,U+2026}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/plexmono-500-ext.woff2') format('woff2');unicode-range:U+0100-024F,U+1E00-1EFF}

.tmfo-footer{position:relative;background:var(--tmfo-bg,#2A2724);color:var(--tmfo-text,#F4F1EA);padding:var(--tmfo-pad-top,56px) 24px var(--tmfo-pad-bottom,56px);font:400 15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;text-align:center;border:var(--tmfo-frame,0px) solid var(--tmfo-frame-color,#ffffff)}
.tmfo-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px}
.tmfo-homelink{display:inline-flex;color:inherit;text-decoration:none}
.tmfo-logo{height:var(--tmfo-logoh,48px);width:auto;display:block}
.tmfo-logo--text{height:auto;font-size:22px;font-weight:600;letter-spacing:.04em}
.tmfo-footer a:hover{color:var(--tmfo-accent,inherit)}
.tmfo-claim{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;line-height:1.4}
.tmfo-contact{display:flex;flex-direction:column;gap:6px;font-size:14px}
.tmfo-address{margin:0;opacity:.85;line-height:1.7}
.tmfo-quick{margin:0}
.tmfo-quick a{color:inherit;text-decoration:none;opacity:.85;transition:opacity .2s}
.tmfo-quick a:hover{opacity:1;text-decoration:underline}
.tmfo-maps{display:inline-flex;align-items:center;gap:6px}
.tmfo-maps .tmf-ico{width:16px;height:16px}
.tmfo-sep{opacity:.5}
.tmfo-nav{width:100%}
.tmfo-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px}
.tmfo-nav__list a{color:inherit;text-decoration:none;opacity:.85;transition:opacity .2s}
.tmfo-nav__list a:hover{opacity:1}
.tmfo-nav__fallback a{opacity:.55;font-style:italic}
.tmfo-social{display:flex;justify-content:center;gap:6px}
.tmfo-social a{width:44px;height:44px;display:grid;place-items:center;opacity:.85;transition:opacity .2s}
.tmfo-social a:hover{opacity:1}
.tmf-ico{width:20px;height:20px;flex:none;display:block;color:inherit}
.tmfo-bottom{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 22px;font-size:13px}
.tmfo-bottom .tmfo-copy{font-size:inherit}
.tmfo-legal{display:inline-flex;flex-wrap:wrap;gap:8px 16px;opacity:.75}
.tmfo-legal a:hover{opacity:1;text-decoration:underline}
.tmfo-lang{letter-spacing:.08em;opacity:.75}
.tmfo-lang .tmfo-lang-on{font-weight:600;opacity:1}
.tmfo-copy{margin:0;font-size:13px;opacity:.6}

@media (max-width:767px){
.tmfo-footer{padding-left:18px;padding-right:18px}
.tmfo-nav__list{gap:6px 18px}
}

/* ============================================================
   Preset-Schicht (tmf-): Basis fuer alle Designs.
   Quelle: code-footer-presets-1-6-7.html (Werte: HANDOFF-footer-presets.md).
   Uebersteuerbare Werte als Custom-Properties; das Plugin schreibt die
   Editor-Werte als Inline-Style auf das Wurzelelement.
   ============================================================ */
.tmf{
  --tmf-bg:#F4F1EA;
  --tmf-text:#1C1C1A;
  --tmf-accent:#8A6A3B;
  --tmf-muted:rgba(28,28,26,.55);
  --tmf-line:rgba(28,28,26,.14);
  --tmf-pad-top:96px;
  --tmf-pad-bottom:40px;
  --tmf-pad-side:80px;
  --tmf-max:780px;
  --tmf-gap:56px;
  --tmf-logo-h:88px;

  background:var(--tmf-bg);
  color:var(--tmf-text);
  font-family:Barlow,system-ui,sans-serif;
  padding:var(--tmf-pad-top) var(--tmf-pad-side) var(--tmf-pad-bottom);
  position:relative;
  /* Rand (Passepartout) wie beim Header-Slider; bei bergkamm schneidet die
     Silhouette den oberen Rand weg (clip-path) - seitlich/unten bleibt er. */
  border:var(--tmf-frame,0px) solid var(--tmf-frame-color,#ffffff);
}
.tmf *,.tmf *::before,.tmf *::after{box-sizing:border-box}
.tmf a{color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease,border-color .2s ease}
.tmf a:hover{color:var(--tmf-accent)}
.tmf ul{list-style:none;margin:0;padding:0}
.tmf p{margin:0}
.tmf__inner{max-width:var(--tmf-max);margin:0 auto}
.tmf__logo{display:inline-block;line-height:1}
.tmf__logo img{display:block;height:var(--tmf-logo-h);width:auto;max-width:100%;object-fit:contain;object-position:left}
.tmf__logo--text{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:34px}
.tmf__rule{border:0;border-top:1px solid var(--tmf-line);margin:40px 0 0}
.tmf__mono{font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.6}
.tmf__legal{display:flex;gap:16px;font-size:13px}
.tmf__lang{font-size:13px;font-weight:500;letter-spacing:.10em}
.tmf__lang .tmfo-lang-on{font-weight:600}
.tmf__social{display:flex;gap:16px}
.tmf__social a{width:44px;height:44px;display:grid;place-items:center;margin-inline-start:-11px}
.tmf .tmf-ico{width:20px;height:20px;flex:none;display:block}
.tmf__cline{display:flex;align-items:center;gap:10px;overflow-wrap:anywhere}
.tmf__sl{color:var(--tmf-accent)}
.tmf :is(h2,h3,p,ul,div)[class*="tmf__"]:first-child{margin-top:0}

/* ============================================================
   Preset "visitenkarte"
   ============================================================ */
.tmf--visitenkarte{
  --tmf-bg:#F4F1EA; --tmf-text:#1C1C1A; --tmf-accent:#8A6A3B;
  --tmf-muted:rgba(28,28,26,.55); --tmf-line:rgba(28,28,26,.14);
  --tmf-pad-top:96px; --tmf-pad-bottom:40px; --tmf-pad-side:80px; --tmf-max:780px;
  --tmf-logo-h:88px;
  text-align:center;
}
.tmf--visitenkarte .tmf__claim{margin-top:24px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:26px;line-height:1.4}
.tmf--visitenkarte .tmf__menu{margin-top:32px;display:flex;justify-content:center;flex-wrap:wrap;gap:0 14px;font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.tmf--visitenkarte .tmf__menu li + li::before{content:"/";color:rgba(28,28,26,.35);margin-right:14px}
.tmf--visitenkarte .tmf__menu a:hover{border-bottom:1px solid var(--tmf-accent)}
.tmf--visitenkarte .tmf__address{margin-top:32px;font-size:16px;line-height:1.7}
.tmf--visitenkarte .tmf__contact{margin-top:8px;display:flex;justify-content:center;flex-wrap:wrap;gap:32px;font-size:17px;font-weight:500}
.tmf--visitenkarte .tmf__social{margin-top:28px;justify-content:center}
.tmf--visitenkarte .tmf__social .tmf-ico{width:22px;height:22px}
.tmf--visitenkarte .tmf__bottom{margin-top:20px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px}

/* ============================================================
   Preset "bergkamm" (dunkel, dreistufige Berg-Silhouette)
   Markup-Besonderheit: Wrapper .tmf-shell traegt die beiden helleren
   Silhouetten-Ebenen als leere spans - kein Bild, kein JS.
   Wortmarke nach HANDOFF-Werten (44/38/34; der Code-Export wich ab).
   ============================================================ */
/* Rand (Passepartout) sitzt bei Shell-Designs auf der HUELLE, damit er die
   Berg-Ebenen mit einfasst; der Footer selbst verliert dort seinen Rand
   (seine Silhouette wuerde ihn oben abschneiden - Befund 0.4.5). */
.tmf-shell{position:relative;background:transparent;border:var(--tmf-frame,0px) solid var(--tmf-frame-color,#ffffff);
  /* ⚠ Die Ebenenhoehe MUSS hier stehen: .tmf__peak sind Kinder der SHELL,
     nicht des Footers - eine Variable am Footer erreicht sie NIE
     (realer Befund 0.5.3: Peaks blieben auf dem 300px-Fallback und wirkten
     dadurch auf dem Handy doppelt so steil wie berechnet). */
  --tmf-peak-h:clamp(122px, 21vw, 300px)}
.tmf-shell > .tmf{border:none}
.tmf-shell .tmf__peak{position:absolute;left:0;right:0;top:0;height:var(--tmf-peak-h,300px);display:block;pointer-events:none}
/* Gipfel in PROZENT der Ebenenhoehe: skaliert automatisch mit, keine Spruenge.
   --tmf-apex steuert, wie hoch die Spitzen ansetzen (klein = spitz);
   auf schmalen Breiten wird der Wert angehoben = flachere Berge. */
.tmf-shell .tmf__peak--1{background:var(--tmf-peak-1,#E6E6E6);clip-path:polygon(0 100%,30% var(--tmf-apex,11%),60% 100%,0 100%)}
.tmf-shell .tmf__peak--2{background:var(--tmf-peak-2,#BFBFBF);clip-path:polygon(6% 100%,46% calc(var(--tmf-apex,11%) + 21%),86% 100%,6% 100%)}
.tmf-shell .tmf__peak--3{background:var(--tmf-peak-3,#ADADAD);clip-path:polygon(56% 100%,82% calc(var(--tmf-apex,11%) + 14%),100% 73%,100% 100%,56% 100%)}

.tmf--bergkamm{
  --tmf-bg:#4B4B49; --tmf-text:#FFFFFF; --tmf-accent:#D2833B;
  --tmf-muted:rgba(255,255,255,.70); --tmf-line:rgba(255,255,255,.18);
  --tmf-peak-1:#E6E6E6; --tmf-peak-2:#BFBFBF; --tmf-peak-3:#ADADAD;
  /* Silhouette skaliert FLIESSEND mit der Breite (keine Stufen-Spruenge):
     Ebenenhoehe und Hauptkante als clamp; --tmf-dip = wie tief die Kante
     einschneidet (gross = flacher), --tmf-apex = Gipfelansatz der Ebenen. */
  --tmf-edge:clamp(94px, 16.2vw, 232px);
  --tmf-dip:.60;
  --tmf-apex:11%;
  /* WICHTIG: --tmf-pad-top ist der Innenabstand UNTER der Kante (Editor-
     Regler "Abstand oben"), NICHT die Silhouettenhoehe - sonst entsteht bei
     abweichenden Geraetewerten ein grosses Loch (Befund 0.5.2). */
  --tmf-pad-top:68px;
  --tmf-pad-bottom:44px; --tmf-pad-side:80px; --tmf-max:1240px; --tmf-gap:56px;
  --tmf-logo-h:100px;
  padding-top:calc(var(--tmf-edge) + var(--tmf-pad-top));
  clip-path:polygon(
    0 var(--tmf-edge),
    10% var(--tmf-edge),
    34% calc(var(--tmf-edge) * var(--tmf-dip)),
    58% var(--tmf-edge),
    70% var(--tmf-edge),
    84% calc(var(--tmf-edge) * (var(--tmf-dip) + .22)),
    100% calc(var(--tmf-edge) * (var(--tmf-dip) + .40)),
    100% 100%, 0 100%);
}
.tmf--bergkamm .tmf__inner{display:grid;grid-template-columns:1.45fr .85fr 1.05fr;gap:var(--tmf-gap)}
.tmf--bergkamm .tmf__lockup{display:flex;align-items:center;gap:22px}
.tmf--bergkamm .tmf__lockup img{display:block;height:var(--tmf-logo-h);width:auto;max-width:100%;object-fit:contain}
.tmf--bergkamm .tmf__logo--text{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(30px,3.2vw,44px);line-height:1}
.tmf--bergkamm .tmf__address{margin-top:34px;font-family:'Cormorant Garamond',serif;font-size:clamp(19px,1.7vw,24px);line-height:1.35;max-width:22ch}
.tmf--bergkamm .tmf__menu{padding-top:14px;display:flex;flex-direction:column;gap:4px;font-family:'Cormorant Garamond',serif;font-size:clamp(19px,1.7vw,24px);line-height:1.3}
.tmf--bergkamm .tmf__menu a::after{content:"…";color:var(--tmf-accent)}
.tmf--bergkamm .tmf__contact{padding-top:12px;display:flex;flex-direction:column;gap:14px;font-family:'Cormorant Garamond',serif;font-size:clamp(19px,1.9vw,27px)}
.tmf--bergkamm .tmf__contact .tmf-ico{width:28px;height:28px;color:var(--tmf-accent)}
.tmf--bergkamm .tmf__vat{margin-top:30px;font-family:'Cormorant Garamond',serif;font-size:17px;line-height:1.5;color:rgba(255,255,255,.9)}
.tmf--bergkamm .tmf__vat b{font-weight:400;color:var(--tmf-accent)}
.tmf--bergkamm .tmf__bottom{margin-top:22px;font-size:13px;color:var(--tmf-accent);display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
.tmf--bergkamm .tmf__bottom .tmf__legal{font-size:13px}
.tmf--bergkamm .tmf__bottom .tmf__lang{font-size:13px}

/* ============================================================
   Preset "zweiflaechen" (zwei versetzte Farbflaechen, Fuerstenhof)
   ============================================================ */
.tmf--zweiflaechen{
  --tmf-bg:#FFFFFF; --tmf-text:#111111; --tmf-accent:#C4667A;
  --tmf-panel-a:#DCD8C1; --tmf-panel-b:#D3808C; --tmf-panel-b-text:#FFFFFF;
  --tmf-offset:104px;
  --tmf-pad-top:0px; --tmf-pad-bottom:40px; --tmf-pad-side:0px; --tmf-max:none;
  --tmf-logo-h:clamp(84px, 11vw, 148px);
}
.tmf--zweiflaechen .tmf__panels{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);align-items:start;column-gap:clamp(20px,4vw,56px);padding-left:clamp(0px,6vw,88px)}
.tmf--zweiflaechen .tmf__panel-a{background:var(--tmf-panel-a);padding:clamp(32px,5vw,72px) clamp(24px,5vw,72px) clamp(30px,4.5vw,64px)}
.tmf--zweiflaechen .tmf__panel-b{background:var(--tmf-panel-b);color:var(--tmf-panel-b-text);padding:clamp(30px,4.5vw,64px) clamp(24px,5vw,72px) clamp(28px,4vw,56px);margin-top:var(--tmf-offset)}
.tmf--zweiflaechen .tmf__panel-b a:hover{color:inherit;opacity:.72}
.tmf--zweiflaechen .tmf__logo--text{font-family:Barlow,sans-serif;font-weight:500;font-size:clamp(19px,2vw,26px)}
.tmf--zweiflaechen .tmf__contact{margin-top:clamp(24px,3.4vw,48px);font-size:clamp(19px,2.1vw,27px);line-height:1.55;font-weight:300;overflow-wrap:anywhere}
.tmf--zweiflaechen .tmf__contact b{font-weight:400;color:var(--tmf-accent)}
.tmf--zweiflaechen .tmf__address{margin-top:clamp(20px,2.4vw,30px);font-size:clamp(15px,1.5vw,18px);line-height:1.65;font-weight:300}
.tmf--zweiflaechen .tmf__vat{margin-top:30px;font-size:13px;line-height:1.8;color:var(--tmf-accent)}
.tmf--zweiflaechen .tmf__vat b{font-weight:400;color:inherit}
.tmf--zweiflaechen .tmf__social{margin-top:26px}
.tmf--zweiflaechen .tmf__menu{display:flex;flex-direction:column;gap:2px;font-size:clamp(20px,2.6vw,31px);line-height:1.45;font-weight:300;text-transform:uppercase;overflow-wrap:anywhere}
.tmf--zweiflaechen .tmf__bottom{margin-top:clamp(26px,3.4vw,48px);display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:13px;color:rgba(255,255,255,.9)}
.tmf--zweiflaechen .tmf__bottom .tmf__legal,.tmf--zweiflaechen .tmf__bottom .tmf__lang{font-size:13px}

/* ============================================================
   Bergkante (Handoff 10-15): SVG in SEITENFARBE am oberen Rand,
   das die Footer-Flaeche ueberdeckt und den Verlauf freischneidet.
   Vier Formen (kamm/asym/doppel/flach) schreibt PHP ins d-Attribut.
   ⚠ Preset "bergkamm" (Diana) nutzt weiterhin seine drei Grauebenen.
   ============================================================ */
.tmf__mtn{position:absolute;left:0;top:0;width:100%;height:var(--tmf-mtn-h,140px);display:block;pointer-events:none}
.tmf__mtn-fill{fill:var(--tmf-page,#FFFFFF)}
.tmf__mtn-line{fill:none;stroke:var(--tmf-mtn-line,none);stroke-width:var(--tmf-mtn-line-w,10px);stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.tmf__mtn-p1{fill:var(--tmf-peak-1,#E6E6E6)}
.tmf__mtn-p2{fill:var(--tmf-peak-2,#BFBFBF)}
.tmf__mtn-p3{fill:var(--tmf-peak-3,#ADADAD)}
.tmf__mtn-front{fill:var(--tmf-bg,var(--tmfo-bg,#2A2724))}

/* Partnerlogo-Leiste: beliebig viele Logos, umbruchfaehig, Hoehe regelbar */
.tmf__partners{background:var(--tmf-partner-bg,var(--tmf-page,#fff));display:flex;justify-content:center;align-items:center;gap:clamp(20px,3.4vw,44px);flex-wrap:wrap;padding:22px 40px}
.tmf__partners img{height:var(--tmf-partner-h,44px);width:auto;max-width:100%;object-fit:contain;display:block}
.tmfo-partners{display:flex;justify-content:center;align-items:center;gap:clamp(18px,3vw,40px);flex-wrap:wrap}
.tmfo-partners img{height:var(--tmfo-partner-h,44px);width:auto;max-width:100%;object-fit:contain;display:block}

/* Vollbreite Leisten laufen randlos bis an die Flaechenkanten */
.tmf__band{margin-inline:calc(var(--tmf-pad-side,80px) * -1)}

/* ============================================================
   Preset "kamm" (Rossalm)
   ============================================================ */
.tmf--kamm{
  --tmf-page:#FCFCFA; --tmf-bg:#1E1E1C; --tmf-text:#FFFFFF;
  --tmf-muted:rgba(255,255,255,.55); --tmf-accent:rgba(255,255,255,.55);
  --tmf-pad-top:190px; --tmf-pad-bottom:0px; --tmf-pad-side:92px; --tmf-max:1256px; --tmf-gap:64px;
}
.tmf--kamm .tmf__inner{display:grid;grid-template-columns:1fr 1.05fr .8fr;gap:var(--tmf-gap);padding-bottom:clamp(48px,8vw,120px)}
.tmf--kamm .tmf__logobox{width:clamp(168px,16vw,232px);height:clamp(168px,16vw,232px);border:1px solid rgba(255,255,255,.85);display:grid;place-items:center;font-family:'Cormorant Garamond',serif;font-size:clamp(28px,2.9vw,40px);line-height:1;letter-spacing:.04em;text-align:center;padding:12px}
.tmf--kamm .tmf__vat{margin-top:20px;font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.6}
.tmf--kamm .tmf__vat b{font-weight:400;color:var(--tmf-text)}
.tmf--kamm .tmf__address{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.2vw,29px);line-height:1.35}
.tmf--kamm .tmf__contact{margin-top:34px;display:flex;flex-direction:column;gap:4px;font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.2vw,29px);line-height:1.35;overflow-wrap:anywhere}
.tmf--kamm .tmf__contact b{font-weight:400;color:var(--tmf-muted)}
.tmf--kamm .tmf__menu{display:flex;flex-direction:column;gap:6px;font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.2vw,29px);line-height:1.35}
.tmf--kamm .tmf__menu a::after{content:" /";color:var(--tmf-muted)}
.tmf--kamm .tmf__social{margin-top:34px}
.tmf--kamm .tmf__legal-band{background:var(--tmf-page,#fff);color:#1a1a18;padding:22px 40px;display:flex;justify-content:center;align-items:center;gap:10px 26px;flex-wrap:wrap;font-size:14px}
.tmf--kamm .tmf__legal-band a:hover{color:#000}
.tmf--kamm a:hover{color:rgba(255,255,255,.7)}

/* Tablet 768-1099 */
@media (min-width:768px) and (max-width:1099px){
  .tmf--visitenkarte{--tmf-pad-top:72px;--tmf-pad-bottom:36px;--tmf-pad-side:48px;--tmf-max:660px;--tmf-logo-h:76px}
  .tmf--visitenkarte .tmf__claim{font-size:24px}

  .tmf--zweiflaechen{--tmf-offset:56px}

  .tmf--kamm{--tmf-pad-side:44px;--tmf-max:746px;--tmf-gap:40px}
  .tmf--kamm .tmf__inner{grid-template-columns:1fr 1fr}
  .tmf--kamm .tmf__inner > *:last-child{grid-column:1 / -1}

  .tmf--bergkamm{--tmf-pad-top:54px;--tmf-pad-bottom:36px;--tmf-pad-side:44px;--tmf-max:746px;--tmf-gap:40px;--tmf-logo-h:84px;
    --tmf-dip:.66}
  .tmf-shell .tmf__peak--1{clip-path:polygon(0 100%,32% 8%,78% 100%,0 100%)}
  .tmf-shell .tmf__peak--2{clip-path:polygon(6% 100%,56% 24%,98% 100%,6% 100%)}
  .tmf-shell .tmf__peak--3{clip-path:polygon(52% 100%,86% 16%,100% 62%,100% 100%,52% 100%)}
  /* Tablet: A links (ueber beide Zeilen), rechts oben Menue, rechts unten
     Kontakt - sonst klafft rechts eine grosse Luecke (Befund). */
  .tmf--bergkamm .tmf__inner{grid-template-columns:1.15fr 1fr;row-gap:28px}
  .tmf--bergkamm .tmf__inner > *:first-child{grid-row:1 / span 2}
  .tmf--bergkamm .tmf__inner > *:last-child{grid-column:2;grid-row:2}
  .tmf--bergkamm .tmf__contact .tmf-ico{width:26px;height:26px}
}

/* Handy <=767 (Klickziele >= 44 px) */
@media (max-width:767px){
  .tmf a{display:inline-flex;align-items:center;min-height:44px}
  .tmf__social a{display:grid}

  .tmf--visitenkarte{--tmf-pad-top:56px;--tmf-pad-bottom:32px;--tmf-pad-side:24px;--tmf-max:342px;--tmf-logo-h:64px}
  .tmf--visitenkarte .tmf__logo--text{font-size:28px}
  .tmf--visitenkarte .tmf__claim{font-size:21px}
  .tmf--visitenkarte .tmf__menu{line-height:1.6;gap:0 14px}
  .tmf--visitenkarte .tmf__menu li + li::before{content:none}
  .tmf--visitenkarte .tmf__menu a{padding-block:13px}
  /* HANDOFF-Korrekturen (MD verbindlich): Adresse mobil 15, Kontakt mobil 16,
     Rechtliches mobil Zeilenhoehe 1.8 - der Code-Export liess sie aus. */
  .tmf--visitenkarte .tmf__address{font-size:15px}
  .tmf--visitenkarte .tmf__contact{flex-direction:column;align-items:center;gap:0;font-size:16px}
  .tmf--visitenkarte .tmf__legal{line-height:1.8}
  .tmf--visitenkarte .tmf__bottom{flex-direction:column;align-items:center;gap:0;text-align:center}

  .tmf--bergkamm{--tmf-pad-top:38px;--tmf-pad-bottom:28px;--tmf-pad-side:22px;--tmf-max:346px;--tmf-gap:32px;--tmf-logo-h:68px;
    --tmf-dip:.74;
    text-align:center}
  /* Schmale Breiten: Bergflanken WEITER ziehen - sonst ragen nur spitze
     Zipfel ueber die Hauptkante (Befund 0.5.2/0.5.3). */
  .tmf-shell .tmf__peak--1{clip-path:polygon(0 100%,34% 10%,96% 100%,0 100%)}
  .tmf-shell .tmf__peak--2{clip-path:polygon(2% 100%,62% 26%,100% 100%,2% 100%)}
  .tmf-shell .tmf__peak--3{clip-path:polygon(44% 100%,86% 16%,100% 60%,100% 100%,44% 100%)}
  .tmf--bergkamm .tmf__inner{grid-template-columns:1fr}
  .tmf--bergkamm .tmf__lockup{gap:16px;justify-content:center}
  .tmf--bergkamm .tmf__address{margin-inline:auto}
  .tmf--bergkamm .tmf__cline{justify-content:center}
  .tmf--bergkamm .tmf__vat{margin-inline:auto}
  .tmf--bergkamm .tmf__bottom{justify-content:center}
  .tmf--bergkamm .tmf__logo--text{display:inline-block;min-height:44px}
  .tmf--bergkamm .tmf__menu{gap:0}
  .tmf--bergkamm .tmf__contact{gap:0}
  .tmf--bergkamm .tmf__address{margin-top:24px}
  .tmf--bergkamm .tmf__menu a{padding-block:9px}
  .tmf--bergkamm .tmf__contact .tmf-ico{width:24px;height:24px}

  .tmf--zweiflaechen{--tmf-offset:0px}

  .tmf--kamm{--tmf-pad-side:22px;--tmf-max:346px;--tmf-gap:32px}
  .tmf--kamm .tmf__inner{grid-template-columns:minmax(0,1fr)}
  .tmf--kamm .tmf__contact,.tmf--kamm .tmf__menu{gap:0}
  .tmf--kamm .tmf__legal-band{padding:20px 22px}
  .tmf__partners{padding:20px 22px;gap:18px}
  .tmf--zweiflaechen .tmf__panels{grid-template-columns:1fr;padding-left:0;column-gap:0}
  .tmf--zweiflaechen .tmf__menu{gap:0}
  .tmf--zweiflaechen .tmf__menu a{padding-block:10px}
}


/* ============================================================
   Preset "abspann" (on-motion, Variante A)
   Quelle: CLAUDE-CODE-PROMPT-footer-variante-A.md (verbindlich).
   Archivo ist seit 0.7.1 selbst gehostet (Variable Font, fonts/archivo-
   vf*.woff2); Barlow bleibt als Fallback im Stack. KEIN Google-CDN.
   Hairline-Oberkante als box-shadow, damit sie nicht mit dem
   Rand-Feature (border via --tmf-frame) kollidiert.
   pad-top/pad-bottom NIE hier per Media-Query aendern - die liegen als
   Inline-Vars am Root (Editor) und kommen resp aus dem preset_map.
   ============================================================ */
.tmf--abspann{
  --tmf-bg:#08090B; --tmf-text:#F2F3F5; --tmf-accent:#D8A24A;
  --tmf-muted:#9AA1A9; --tmf-line:#23282F;
  --tmf-deco:#565E67; --tmf-dot:#33383F;
  --tmf-pad-top:72px; --tmf-pad-bottom:0px; --tmf-pad-side:64px; --tmf-max:1280px;
  font-family:Archivo,Barlow,system-ui,sans-serif;
  font-size:15px; line-height:1.6; text-align:left;
  box-shadow:inset 0 1px 0 0 var(--tmf-line);
}
.tmf--abspann a{transition:color .25s ease}
.tmf--abspann .tmf__cols{display:grid;grid-template-columns:4fr 3fr 5fr;gap:32px;padding:0 0 64px}
.tmf--abspann .tmf__cols--2{grid-template-columns:4fr 3fr}
.tmf--abspann .tmf__brand{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.tmf--abspann .tmf__logo{display:inline-flex;align-items:center;min-height:44px}
.tmf--abspann .tmf__logo--text{font-family:inherit;font-weight:800;font-size:22px;letter-spacing:.02em;text-transform:uppercase;color:var(--tmf-text)}
.tmf--abspann .tmf__claim{font-size:15px;line-height:1.6;color:var(--tmf-muted);max-width:260px}
.tmf--abspann .tmf__label{display:block;font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--tmf-deco);margin:0 0 14px}
.tmf--abspann .tmf__menu{display:flex;flex-direction:column}
.tmf--abspann .tmf__menu a{font-size:15px;line-height:34px;color:var(--tmf-muted)}
.tmf--abspann .tmf__menu a:hover{color:var(--tmf-accent)}
.tmf--abspann .tmf__address{font-style:normal;font-size:15px;line-height:1.75;color:var(--tmf-muted)}
.tmf--abspann .tmf__sl{color:var(--tmf-deco)}
.tmf--abspann .tmf__contact{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start}
.tmf--abspann .tmf__cline{display:inline-flex;align-items:center;gap:10px;min-height:34px;font-size:15px;color:var(--tmf-muted)}
.tmf--abspann .tmf__cline .tmf-ico{width:15px;height:15px;color:var(--tmf-deco);transition:color .25s ease}
.tmf--abspann .tmf__cline:hover,.tmf--abspann .tmf__cline:hover .tmf-ico{color:var(--tmf-accent)}
.tmf--abspann .tmf__social{margin-top:24px;display:flex;gap:10px;margin-left:-13px}
/* margin-inline-start:0 hebt den -11px-Versatz der Basis-Regel auf - sonst
   ueberlappen die 44er-Klickflaechen (real gemessen: 43px-Raster). */
.tmf--abspann .tmf__social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-inline-start:0;color:var(--tmf-muted)}
.tmf--abspann .tmf__social a:hover{color:var(--tmf-accent)}
.tmf--abspann .tmf__social .tmf-ico{width:18px;height:18px}
.tmf--abspann .tmf__meta{box-shadow:inset 0 1px 0 0 var(--tmf-line);display:flex;justify-content:space-between;align-items:center;gap:12px 32px;flex-wrap:wrap;padding:14px 0 22px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--tmf-muted)}
.tmf--abspann .tmf__meta a{display:inline-flex;align-items:center;min-height:44px;color:var(--tmf-muted)}
.tmf--abspann .tmf__meta a:hover{color:var(--tmf-accent)}
.tmf--abspann .tmf__legal{display:inline-flex;align-items:center;flex-wrap:wrap}
.tmf--abspann .tmf__legal a+a::before{content:"\00B7";color:var(--tmf-dot);margin:0 12px}
.tmf--abspann .tmf__lang{display:inline-flex;align-items:center}
.tmf--abspann .tmfo-sep{font-size:0;opacity:1}
.tmf--abspann .tmfo-sep::before{content:"\00B7";font-size:12px;color:var(--tmf-dot);margin:0 12px}
.tmf--abspann .tmfo-lang-on{color:var(--tmf-accent)}
.tmf--abspann .tmf__copy{color:var(--tmf-deco);display:inline-flex;align-items:center;min-height:44px}
/* Ohne Rechtliches/Sprachen steht das Copyright allein - dann rechts wie im Prototyp. */
.tmf--abspann .tmf__copy:only-child{margin-left:auto}

@media (max-width:980px){
  .tmf--abspann{--tmf-pad-side:40px}
  .tmf--abspann .tmf__cols,.tmf--abspann .tmf__cols--2{grid-template-columns:1fr 1fr;gap:40px 24px;padding-bottom:48px}
  .tmf--abspann .tmf__studio{grid-column:1/-1}
}
@media (max-width:640px){
  .tmf--abspann{--tmf-pad-side:24px}
  .tmf--abspann .tmf__cols,.tmf--abspann .tmf__cols--2{grid-template-columns:1fr;gap:36px;padding-bottom:40px}
  .tmf--abspann .tmf__studio{grid-column:auto}
  .tmf--abspann .tmf__meta{flex-direction:column;align-items:flex-start;gap:4px;padding:16px 0}
  /* Rechtliches stapelt einzeln (Prompt-Vorgabe); Trenner-Punkte wuerden
     sonst am Zeilenanfang haengen. Klickflaechen bleiben >=44px (WCAG). */
  .tmf--abspann .tmf__legal{flex-direction:column;align-items:flex-start;gap:4px}
  .tmf--abspann .tmf__legal a+a::before{content:none}
}
