/* skyphoto.me – Runde 6 (08.11.2026): Optik an das bisherige Original angeglichen (Messwerte _work/optik/A-D.md).
   Schriften selbst gehostet (SIL OFL 1.1, Lizenztexte in assets_src/fonts/): Jost = futura-pt, Figtree = proxima-nova, EB Garamond = adobe-garamond-pro.
   size-adjust gleicht die Laufweite an das Original an (gemessen: Jost 300 +10,5 %, Jost 400 Versalien +7,5 %, Figtree +3,5 %). */
@font-face{font-family:"Jost";src:url(/assets/fonts/jost-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap;size-adjust:92%}
@font-face{font-family:"Jost";src:url(/assets/fonts/jost-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;size-adjust:93%}
@font-face{font-family:"Jost";src:url(/assets/fonts/jost-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;size-adjust:93%}
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-300.woff2) format("woff2");font-weight:100 300;font-style:normal;font-display:swap;size-adjust:96%}
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;size-adjust:96%}
@font-face{font-family:"Figtree";src:url(/assets/fonts/figtree-600.woff2) format("woff2");font-weight:500 700;font-style:normal;font-display:swap;size-adjust:96%}
@font-face{font-family:"EB Garamond";src:url(/assets/fonts/ebgaramond-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
 --f-text:"Jost",Futura,"Century Gothic","Avenir Next",sans-serif;   /* Fliesstext + Ueberschriften (futura-pt) */
 --f-ui:"Figtree","Helvetica Neue",Arial,sans-serif;                 /* Logo, Navi, Buttons, Footer, Captions (proxima-nova) */
 --f-serif:"EB Garamond",Garamond,Georgia,serif;                     /* kursive Hero-Zeile (adobe-garamond-pro) */
 --text:rgba(0,0,0,.8);--h1:#1a1a1a;--h2:#000;--mute:#666;--acc:#337f79;--line:#e2e2e2;--dark:#1f1f1f;
 --pad:20px;--wrap:960px;--col-gap:20px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;hyphens:manual;background:var(--dark)}
body{margin:0;font:300 15px/24px var(--f-text);letter-spacing:.49px;color:var(--text);background:#fff;font-kerning:normal}
img{max-width:100%;height:auto;display:block}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
strong,b{font-weight:700}

/* ---- Ueberschriften (Original: futura-pt 400, Versalien) ---- */
h1,h2,h3,h4{font-family:var(--f-text);font-weight:400;text-transform:uppercase;margin:0}
h1{font-size:27px;line-height:.9;letter-spacing:6px;color:var(--h1);margin:27px 0 13.5px}
h2{font-size:17px;line-height:1;letter-spacing:2px;color:var(--h2);margin:17px 0 8.5px}
h3{font-size:15px;line-height:1.2;letter-spacing:2px;color:var(--h2);margin:15px 0 7.5px}
h4{font-size:13px;line-height:1.3;letter-spacing:2px;color:var(--h2);margin:13px 0 6.5px}
h1 a,h2 a,h3 a,h4 a{color:var(--acc)}
/* Zeilenumbrueche: Ueberschriften ausbalanciert, Absaetze ohne Einzelwort-Endzeile, keine Silbentrennung in Ueberschriften/Namen */
h1,h2,h3,h4,.entry-title,.hero-text,.gal-slideshow figcaption,.sum-title,.finfo,.pager a,label,legend,.logo,.gal-stacked figcaption h3{text-wrap:balance;hyphens:manual;-webkit-hyphens:manual}
p,li,figcaption,blockquote,.fdesc,dd{text-wrap:pretty}
p[style*="text-align:center"],p[style*="text-align: center"]{text-wrap:balance}
.nw,a[href^="mailto:"],a[href^="tel:"]{white-space:nowrap}
.dbr{display:none}

/* ---- Fliesstext ---- */
p{margin:15px 0}
.b-html-content>:first-child,.entry-content>:first-child,.b-block-content>:first-child{margin-top:0}
.b-html-content>:last-child{margin-bottom:0}
.b-html-content p:empty::before{content:"\feff"}   /* Original „preserve-empty“: leere Zeile bleibt eine Zeile hoch */
ul,ol{margin:15px 0;padding-left:40px}
li{margin:0}
li p{margin:7.5px 0}
blockquote{margin:15px 0;font:italic 400 18px/1.5 var(--f-serif);letter-spacing:.5px}
hr{border:0;border-top:1px solid var(--line);margin:34px 0}

/* ---- Header (Original: transparent ueber dem Hero, Logo 3-zeilig, 94 px) ---- */
#header{position:absolute;top:0;left:0;right:0;z-index:20}
.plain #header{position:static;background:var(--dark)}
.hin{display:flex;justify-content:space-between;align-items:flex-start;padding:20px}
.logo{display:block;font:600 18px/18px var(--f-ui);letter-spacing:2px;text-transform:uppercase;max-width:122px;color:#fff;text-wrap:wrap}
.logo:hover{text-decoration:none}
.logo span{display:inline}
#mainnav{display:flex;flex-wrap:wrap;justify-content:flex-end;padding-top:5px}
#mainnav a{font:600 13px/13px var(--f-ui);letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.9);padding:9.75px}
#mainnav a:hover{text-decoration:none;color:#fff}
#mainnav a.on{color:rgba(255,255,255,.55)}
.navtoggle,.burger{display:none}

/* ---- Inhaltsbreite: 960 px wie Original ---- */
#content,.main-content,main#page>div:not(.ss-wrap):not(.gal-slideshow):not(.hero),main#page>article,main#page>.b-html-content{max-width:calc(var(--wrap) + 2*var(--pad));margin:0 auto;padding:0 var(--pad)}
.plain main#page{padding-top:60px;min-height:50vh}
.hero-page main#page>.b-layout,.hero-page main#page>div.b-layout{padding-top:0}
.row{display:flex;gap:0 var(--col-gap);flex-wrap:wrap}
.row>.col{flex:1 1 0;min-width:0}
.span-12{flex-basis:100%!important}
.span-8{flex:0 0 calc(66.666% - var(--col-gap)/3)!important}.span-6{flex:0 0 calc(50% - var(--col-gap)/2)!important}
.span-4{flex:0 0 calc(33.333% - var(--col-gap)*2/3)!important}.span-3{flex:0 0 calc(25% - var(--col-gap)*3/4)!important}
.span-9{flex:0 0 calc(75% - var(--col-gap)/4)!important}.span-2{flex:0 0 calc(16.666% - var(--col-gap)*5/6)!important}
.span-10{flex:0 0 calc(83.333% - var(--col-gap)/6)!important}
.span-1{flex:0 0 calc(8.333% - var(--col-gap)*11/12)!important}.span-5{flex:0 0 calc(41.666% - var(--col-gap)*7/12)!important}.span-7{flex:0 0 calc(58.333% - var(--col-gap)*5/12)!important}.span-11{flex:0 0 calc(91.666% - var(--col-gap)/12)!important}
.spacer{height:34px}
.b-block{padding:17px 0;margin:0}
.image-block figcaption,.image-caption{font-size:13px;line-height:1.5;color:var(--mute);padding:8px 0 0}
.image-caption p{margin:0}
.layout-caption-overlay-hover figcaption{display:none}
.b-block-image-figure{margin:0}
.b-image-shape-container-element img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.image-block-wrapper>img{width:100%}
[data-shape-mask=circle]{border-radius:50%;overflow:hidden}   /* Original: Bildtext nur beim Ueberfahren */

/* ---- Hero / Banner (Original: volle Breite, 340 px) ---- */
.hero{position:relative;height:340px;background:#333;overflow:hidden;margin:0 0 80px}
.hero>img{width:100%;height:100%;object-fit:cover}
.hero::after,.gal-slideshow figure::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25);pointer-events:none}
.hero-text,.gal-slideshow figcaption{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:60px var(--pad) 20px}
.hero-text p,.gal-slideshow figcaption p{margin:0 0 10px;font:italic 400 22px/1 var(--f-serif);letter-spacing:1px;text-transform:none}
.hero-text strong,.gal-slideshow figcaption strong{display:block;margin:0 0 6px;font:600 64px/.9 var(--f-ui);letter-spacing:4px;text-transform:uppercase;font-style:normal}
.hero-text a,.gal-slideshow figcaption a{display:inline-block;color:#fff;font:600 14px/1 var(--f-ui);letter-spacing:2px;text-transform:uppercase;font-style:normal}
.hero-text em,.gal-slideshow figcaption em{font:600 14px/1.6 var(--f-ui);letter-spacing:2px;font-style:normal}
.hero-text a{border:1px solid #fff;padding:13px 16px;margin-top:8px}
.hero-text a:hover{text-decoration:none;background:#fff;color:#1a1a1a}
.gal-slideshow figcaption .meta-title{display:none}   /* SEO-Titel, im Original unsichtbar */

/* ---- Slideshow ---- */
.gal{margin:0 0 17px}
.gal figure{margin:0}
.gal-slideshow{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 0 34px;gap:0}
.gal-slideshow::-webkit-scrollbar{display:none}
.gal-slideshow figure{flex:0 0 100%;scroll-snap-align:start;position:relative;height:340px;background:#333}
.gal-slideshow figure img{width:100%;height:100%;object-fit:cover}
.gal-slideshow figcaption strong{font-size:30px;letter-spacing:3px;line-height:1.1}
.gal-slideshow figcaption p:first-child{font-size:18px}
.gal-slideshow figcaption a{border:1px solid #fff;padding:13px 20px;font-size:13px;margin-top:6px}
.gal-slideshow figcaption a:hover{background:#fff;color:#1a1a1a;text-decoration:none}
.gal-hero figcaption strong{font-size:64px;letter-spacing:4px;line-height:.9}
.gal-hero figcaption p:first-child{font-size:22px}
.pg-kontakt .gal-hero figcaption strong{font-size:30px;letter-spacing:3px;line-height:1.1}
.pg-kontakt .gal-hero figcaption p:first-child{font-size:18px}
main#page>.gal-hero figcaption strong,main#page>.ss-wrap .gal-hero figcaption strong{font-size:30px;letter-spacing:3px}
main#page>.gal-hero figcaption p:first-child,main#page>.ss-wrap .gal-hero figcaption p:first-child{font-size:18px}
.gal-hero,.ss-hero{width:100vw;margin-left:calc(50% - 50vw);margin-right:0}
.ss-hero>.gal-hero{width:100%;margin-left:0}
.ss-hero{margin-bottom:70px}.ss-hero>.gal-hero{margin-bottom:0}
.hero-page .b-layout>.row:first-child>.span-12>.ss-hero:first-child,.hero-page .b-layout>.row:first-child>.span-12>.gal-hero:first-child{margin-top:0}
.ss-btn{position:absolute;top:50%;z-index:5;transform:translateY(-50%);background:none;border:0;color:#fff;cursor:pointer;padding:10px;opacity:.85;line-height:0}
.ss-btn svg{width:14px;height:26px;stroke:currentColor;stroke-width:1.5;fill:none}
.ss-wrap{position:relative}.ss-prev{left:10px}.ss-next{right:10px}

/* ---- Bildraster ---- */
.gal-grid figcaption,.gal-stacked figcaption{font-size:13px;color:var(--mute);line-height:1.5;padding:6px 0}
.gal-grid figcaption p{margin:0 0 .3em}
.gal-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap,8px)}
.gal-grid figure img{width:100%;aspect-ratio:var(--ar,1/1);object-fit:cover}
.gal-grid figcaption{display:none}
/* Galerie-Seiten: 3 Spalten, Original-Seitenverhaeltnis (Masonry), 10 px Abstand */
.gal-page{max-width:calc(var(--wrap) + 2*var(--pad));margin:0 auto;padding:0 var(--pad);display:block;columns:3;column-gap:10px}
.gal-page figure{break-inside:avoid;margin:0 0 10px}
.gal-page figure img{aspect-ratio:auto;object-fit:initial}
/* Blog-/Stack-Galerie: 1 px Abstand wie Original */
.gal-stacked figure{margin:0 0 1px}
.gal-stacked figcaption{text-align:left;padding:10px 0 30px}
.gal-stacked figcaption h3{font:300 72px/.9 var(--f-ui);letter-spacing:0;text-transform:none;color:rgba(26,26,26,.1);margin:0 0 6px}
.gal-stacked figcaption p{font-size:12px;line-height:1.5;color:var(--text);margin:0}

/* ---- Startseite: Beitrags-Kacheln ---- */
.sum-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 6px;margin:34px 0}
.sum-item img{width:100%;aspect-ratio:1/1;object-fit:cover}
.sum-title{display:block;font:400 14px/16.8px var(--f-ui);letter-spacing:1px;text-transform:uppercase;color:var(--mute);padding:10px 0 0}
.sum-title:hover{text-decoration:none;color:#1a1a1a}
.span-2 .sum-grid,.span-3 .sum-grid,.span-4 .sum-grid{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:0}
.span-2 .sum-item img,.span-3 .sum-item img,.span-4 .sum-item img{aspect-ratio:auto}
.span-3 .sum-title{font-size:12px;line-height:15px;text-align:center}

/* ---- Blog / Artikel (Original: Spalte 700 px) ---- */
.entry{margin:0 0 80px}
.entry-header{text-align:center;margin:0 0 50px}
.entry-title{margin:0;font-size:27px;line-height:24.3px;letter-spacing:6px}
.entry-title a{color:var(--h1)}
.entry-title a:hover{text-decoration:none}
.entry-meta{display:none}   /* Original: Kategorie/Datum unsichtbar */
.entry-content{max-width:700px;margin:0 auto}
.k-post .entry,.k-blog .entry{max-width:700px;margin-left:auto;margin-right:auto}
.entry-content .row{display:block}.entry-content .row>.col{width:100%}
.pager{display:flex;justify-content:space-between;gap:20px;max-width:700px;margin:0 auto 60px;font-size:15px}
.pager span{display:block;color:var(--text)}
.pager .older{text-align:right;margin-left:auto}
.video{position:relative;height:0;margin:0 0 17px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid{background:#1b1b1b;overflow:hidden}
.vid>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.vid-play{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);white-space:nowrap;padding:13px 20px;border:1px solid #fff;background:rgba(0,0,0,.55);color:#fff;font:600 13px/1 var(--f-ui);letter-spacing:2px;text-transform:uppercase;cursor:pointer}
.vid-play:hover,.vid-play:focus-visible{background:#fff;color:#111}
.vid-hint{position:absolute;left:0;right:0;bottom:0;margin:0;padding:8px 12px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;line-height:1.4;text-align:center;letter-spacing:.3px}
.vid-hint a{color:#fff;text-decoration:underline}
.vid.on{background:#000}
.blogside{max-width:700px;margin:0 auto 40px;text-align:center}
.blogside h2,.blogside h3{margin:.4em 0}
.blogside ul,.blogside ol{list-style:none;padding:0;margin:.5em 0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}

/* ---- Buttons (Original: proxima-nova, schwarz gefuellt) ---- */
.btn,.fbox>summary,.cform button,.pw-form button{display:inline-block;border:0;background:#1a1a1a;color:#fff;cursor:pointer;font:300 14px/1 var(--f-ui);letter-spacing:3px;text-transform:uppercase;padding:16px 40px;text-align:center;border-radius:0}
.btn:hover,.fbox>summary:hover,.cform button:hover,.pw-form button:hover{background:#3a3a3a;color:#fff;text-decoration:none}
.cform button{font-size:15px;padding:18px 37.5px;min-height:51px}
.fbox>summary{list-style:none}
.fbox>summary::-webkit-details-marker{display:none}
.fbox[open]>summary{margin-bottom:20px}
.fbox{text-align:inherit}
.span-12>.fwrap>.fbox{text-align:center}
.span-12>.fwrap>.fbox>form{text-align:left;max-width:640px;margin:0 auto}

/* ---- Formulare (Original: Label 15/300, Feld 40 px, #fafafa, Rahmen #a9a9a9) ---- */
.fwrap{margin:17px 0}
.fpriv{margin:6px 0 12px}
.fpriv a{text-decoration:underline}
.cform .ff{margin:0 0 15px}
.cform label,.cform legend{display:block;font:300 15px/21px var(--f-text);letter-spacing:.49px;color:var(--text);margin:0 0 4px}
.cform input,.cform textarea,.cform select{width:100%;font:400 15px/1.2 var(--f-text);letter-spacing:normal;color:#000;padding:10px;border:1px solid #a9a9a9;background:#fafafa;border-radius:0}
.cform input:not([type=checkbox]):not([type=radio]){height:40px}
.cform textarea{height:100px;resize:vertical}
.cform .hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.cform .fdesc{display:block;color:var(--mute);font-size:13px;line-height:1.5;margin:0 0 6px}
.cform .fchk{display:flex;gap:8px;align-items:flex-start;margin:4px 0}
.cform .fchk input{width:auto;height:auto;margin-top:6px}
.cform fieldset{border:0;padding:0;margin:0 0 15px}
.cform-conf{border:1px solid var(--line);padding:14px 16px;margin:0 0 12px}
.cform-conf dt{font-size:13px;color:var(--mute);margin-top:8px}
.cform-conf dd{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.cform-conf .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.cform-ok,.cform-err{display:none;padding:10px 12px;border:1px solid var(--line);margin:0 0 12px}
.cform-ok:target,.cform-err:target{display:block}
.cform-ok:target~form,.cform-ok:target~details{display:none}

/* ---- Footer (Original: dunkel #1f1f1f, proxima-nova 13 px) ---- */
#footer{background:var(--dark);color:#fff;margin-top:60px;padding:60px var(--pad) 50px;text-align:center}
.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0}
.fnav a{margin:0 14px;font:400 13px/16.25px var(--f-ui);letter-spacing:2px;text-transform:uppercase;color:#fff}
.fnav a:hover{text-decoration:none;color:rgba(255,255,255,.7)}
.fnav a.fw{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}   /* gesetzlich: Widerrufsbutton erkennbar */
.finfo{margin:22px 0 0;font:400 12px/1.6 var(--f-ui);letter-spacing:1px;color:rgba(255,255,255,.6)}
.finfo a{color:rgba(255,255,255,.85)}

/* ---- Lightbox, Passwortseite, Splash ---- */
#lb{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;color:#fff}
#lb.open{display:flex}
#lb img{max-width:94vw;max-height:80vh;object-fit:contain}
#lb .cap{max-width:800px;padding:10px 20px;font-size:13px;text-align:center;color:#ccc}
#lb .cap p{margin:0}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:38px;cursor:pointer;padding:12px}
#lb .x{top:6px;right:10px}#lb .p{left:6px;top:45%}#lb .n{right:6px;top:45%}
.lock{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:#f6f6f4}
.lock h1{font-size:18px;letter-spacing:3px;line-height:1.2}
.pw-form{display:flex;gap:6px;justify-content:center;margin:18px 0 8px}
.pw-form input{font:inherit;padding:10px 12px;border:1px solid #a9a9a9;background:#fafafa;min-width:220px}
.pw-err{color:#b3261e;font-size:14px;min-height:1.4em}
.lock .small{font-size:13px;color:var(--mute);margin-top:30px}
.splash{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--pad)}

/* ---- Robustheit ---- */
html,body{overflow-x:hidden}
img,iframe,table{max-width:100%}
.b-html-content,.entry-content,main#page{overflow-wrap:break-word}
a[href^="http"]{overflow-wrap:anywhere}
@media(min-width:768px){.dbr{display:inline}}

/* ---- Tablet/Mobil (Original: Burger-Navi, Text 15/24 bleibt) ---- */
@media(max-width:800px){
 .row{display:block}.row>.col{width:100%}
 .sum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gal-page{columns:2}
 .logo{font-size:16px;line-height:16px;max-width:none}
 .logo span{display:block;white-space:nowrap}
 .burger{display:block;width:26px;cursor:pointer;z-index:30;margin-top:2px}
 .burger i{display:block;height:2px;background:#fff;margin:5px 0}
 #mainnav{position:fixed;inset:0;background:rgba(255,255,255,.97);display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:25;padding:0}
 #mainnav a,#mainnav a.on{color:#1a1a1a!important;font-size:15px}
 .navtoggle:checked~#mainnav{display:flex}
 .hero{height:56vh;height:56svh;min-height:300px;max-height:520px}
 .gal-slideshow figure{height:56vh;height:56svh;min-height:300px;max-height:520px}
 main#page>.gal-hero figure,main#page>.ss-wrap .gal-hero figure{height:83vh;height:83svh;max-height:none}
 .hero-text strong,.gal-hero figcaption strong{font-size:32px;letter-spacing:2px;line-height:1}
 .gal-slideshow figcaption strong,main#page>.gal-hero figcaption strong,main#page>.ss-wrap .gal-hero figcaption strong{font-size:21px;letter-spacing:1.4px}
 .hero-text p,.gal-slideshow figcaption p,.gal-hero figcaption p:first-child{font-size:18px}
 .entry-content{max-width:none}
}
@media(max-width:640px){
 h1,.entry-title{letter-spacing:2px;font-size:min(27px,7.4vw)}
 h2{letter-spacing:2px}
 main#page>.b-html-content h1{font-size:min(27px,5.6vw);letter-spacing:1px;line-height:1.1}   /* Rechtsseiten: lange Einzelwoerter (Datenschutzerklaerung) */
 main#page>.b-html-content h2{line-height:1.2}
 .gal-page{columns:1}
 .sum-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .gal-page figure{margin-bottom:20px}
 .gal-grid{grid-template-columns:repeat(min(var(--cols,4),2),minmax(0,1fr))}
 .gal-stacked figcaption h3{font-size:22px;line-height:1}
 /* Fliesstext: Silbentrennung nur bei langen Woertern, nie in Ueberschriften */
 .b-html-content p,.b-html-content li,.entry-content p{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:12 5 5;-webkit-hyphenate-limit-before:5;-webkit-hyphenate-limit-after:5}
 .b-html-content h1,.b-html-content h2,.b-html-content h3,p[style*="center"]{hyphens:manual;-webkit-hyphens:manual}
 .hero{margin-bottom:50px}.ss-hero{margin-bottom:40px}
 .pg-kontakt .gal-hero figcaption strong{font-size:21px;letter-spacing:1.4px}
 /* iOS zoomt bei Feldern unter 16 px: Eingabefelder auf dem Telefon 16 px */
 .cform input,.cform textarea,.cform select,.pw-form input{font-size:16px}
 .btn,.fbox>summary,.cform button{padding:16px 28px;letter-spacing:2.5px;max-width:100%}
 .pw-form{flex-wrap:wrap}.pw-form input{min-width:0;flex:1 1 140px}
 .fnav a{margin:0 10px}
 .pager{gap:12px}
 .vid-play{padding:11px 14px;font-size:12px;letter-spacing:1.5px}
 .vid-hint{font-size:11px}
}


/* ---- Runde 7 (08.11.2026): UX-Fixes, Optik von Runde 6 unveraendert ----
   Tuerkis #3d9991 -> #337f79 (gleicher Farbton, 4,7:1 auf Weiss = WCAG AA; vorher 3,4:1). */
.lock a{color:#317c75}
.req{color:var(--text)}
.btn-line{background:#fff;color:#1a1a1a;border:1px solid #1a1a1a;padding:15px 30px}
.btn-line:hover{background:#1a1a1a;color:#fff}
.btn:focus-visible,.fbox>summary:focus-visible,.cform button:focus-visible,.pw-form button:focus-visible,.pw-show:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.cform input:focus-visible,.cform textarea:focus-visible,.pw-form input:focus-visible{outline:2px solid var(--acc);outline-offset:0}
.cform button[disabled],.pw-form button[disabled]{background:#5a5a5a;cursor:progress}
.cform .fwa{text-align:center;padding:4px 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px}
.cform .fwa .fdesc{margin-bottom:10px}
.r7-cta{text-align:center;margin:40px auto 0}
.r7-anfrage{max-width:680px!important;margin:40px auto 0}
.r7-anfrage h2{text-align:center;margin-bottom:20px}
.r7-anfrage .cform button{display:block;margin:0 auto}
.r7-blogcta{max-width:700px;margin:40px auto 0;padding:28px 0 0;border-top:1px solid var(--line);text-align:center}
.r7-blogcta p{margin:0 0 16px}
.r7-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.r7-err{text-align:center;padding:60px 0;max-width:620px;margin:0 auto}
.r7-ways{display:flex;flex-wrap:wrap;justify-content:center;gap:0 18px}
.r7-ways a{display:inline-block;padding:10px 4px}
[id^="fw-"]{scroll-margin-top:20px}
@media(max-width:800px){
 /* Burger: sichtbares Schliessen-Symbol (X) auf dem weissen Overlay, Tippflaeche 44 px */
 .burger{position:relative;padding:10px 9px;margin:-8px -9px 0 0;width:44px;box-sizing:border-box}
 .burger i{transition:transform .2s,opacity .2s}
 .navtoggle:checked+.burger{position:fixed;top:12px;right:11px;margin:0}
 .navtoggle:checked+.burger i{background:#1a1a1a}
 .navtoggle:checked+.burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .navtoggle:checked+.burger i:nth-child(2){opacity:0}
 .navtoggle:checked+.burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 #mainnav a{padding:12px 9.75px}
 /* Startseite: leere Spalten (nur Abstandhalter) mobil ausblenden - kein weisser Block unter dem S/W-Bild */
 .pg-start .row>.col:has(>.spacer:only-child){display:none}
 .pg-start .row>.col>.spacer:first-child{display:none}
}
@media(max-width:640px),(pointer:coarse){
 /* Tippflaechen >= 44 px: Footer-, Kategorie- und Seitenleisten-Links */
 .fnav{gap:0}
 .fnav a{padding:14px 0}
 .blogside a,.entry-meta a,.r7-ways a{display:inline-block;padding:12px 4px;min-height:44px}
 .pager a{display:inline-block;padding:10px 0}
}
/* Passwortseite: sichtbares Label, Anzeigen-Schalter, Hinweis */
.pw-form{flex-wrap:wrap;align-items:flex-end;max-width:420px}
.pw-label{flex:1 1 100%;text-align:left;font-size:14px;margin:0 0 4px}
.pw-note{color:var(--mute);font-size:13px}
.pw-field{position:relative;display:flex;flex:1 1 200px}
.pw-field input{flex:1 1 auto;min-width:0;padding-right:96px}
.pw-form .pw-show,.pw-show{position:absolute;right:0;top:0;bottom:0;min-width:44px;padding:0 12px;border:0;background:none;color:var(--acc);font:400 13px/1 var(--f-ui);letter-spacing:1px;text-transform:uppercase;cursor:pointer}
.pw-form .pw-show:hover{background:none;color:#1a1a1a;text-decoration:underline}
.lock .pw-show{color:#317c75}
.pw-err:empty{display:none}
.splash .pw-hint{max-width:520px;margin:6px auto 4px}
.splash h1,.lock h1{text-wrap:balance}
@media(max-width:400px){
 .cform .fwa .btn-line{padding:15px 14px;letter-spacing:1.5px}
 .lock h1{font-size:16px;letter-spacing:1.5px}
}
@media(prefers-reduced-motion:reduce){.burger i{transition:none}}
