/* Responsive layout and touch refinements, September 2026. */
footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:24px}
footer>.brand{justify-self:start;min-width:0}
footer>span{margin:0;text-align:center;justify-self:center}
footer .footer-contact{margin:0;justify-self:end;min-width:0}
.footer-unten{grid-column:1/-1}
.sozial,.footer-contact>a,.footer-rechts{min-height:44px;display:inline-flex;align-items:center}
.sozial{min-width:44px;justify-content:center}
#gallery-dialog{overflow-x:hidden;overscroll-behavior:contain;scroll-padding-top:72px}
.lightbox-bar{position:sticky;top:0;z-index:5;background:#121512;flex-shrink:0}
.lightbox-bar>span{min-width:0;line-height:1.5}
.lightbox-bar button{flex:0 0 46px}
.lightbox-controls{gap:14px}
.lightbox-controls button{flex:0 0 46px}
#gallery-position{white-space:nowrap;text-align:center;min-width:0}
.auto-slider{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:#798174 #242924}
#slider-track{transition:none;transform:none!important;padding-bottom:6px}
.slider-jump input{min-height:44px;touch-action:pan-y}
.lightbox-info a{min-height:44px;display:inline-flex;align-items:center}
#formation-dialog[open]{display:flex;flex-direction:column;overscroll-behavior:contain}
#formation-stage{height:auto;min-height:0;flex:1}
.formation-toolbar,.formation-bottom{flex-shrink:0}
.formation-toolbar button{min-width:44px}
@media(max-width:960px){
 footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 footer>span{grid-column:1/-1;grid-row:2}

 header{height:76px;gap:12px;padding-inline:6%}
 header nav,header .nav-cta{display:none}
 .menu-button{display:block;margin-left:auto;flex:0 0 44px;width:44px;height:44px;border:1px solid #bbbfb3;background:transparent;font-size:23px}
 #mobile-menu{padding-block:12px;box-shadow:0 15px 25px #15171518}
 #mobile-menu:not([hidden]){gap:0}
 #mobile-menu a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:16px}
}
@media(max-width:760px){
 html{scroll-padding-top:20px}
 header .brand{font-size:clamp(17px,5vw,20px);gap:8px;min-width:0}
 header .brand small{font-size:9px;letter-spacing:2px}
 header .logo-football-3d{width:46px;height:37px;flex-basis:46px}
 .hero,.mission-heading,.coach,.playbook-grid{min-width:0;grid-template-columns:minmax(0,1fr)}
 .hero{min-height:0}
 .hero-copy{padding:32px 6% 28px;min-width:0}
 h1{font-size:clamp(46px,14vw,90px);letter-spacing:-1.5px;line-height:1.04;margin:24px 0 20px}
 .hero-copy>p,.mission-heading>p,.principles p,.coach-copy p,.playbook-grid>div>p,.play-content p,.join p{font-size:16px;line-height:1.7}
 .hero-actions{width:100%;align-items:stretch;gap:12px;flex-direction:column}
 .hero-actions .button{justify-content:space-between;min-height:50px}
 .hero-actions .text-link{align-self:flex-start}
 .hero-foot{font-size:10px;letter-spacing:.3px;gap:8px;padding-top:16px;margin-top:12px}
 .hero-foot>span{flex:1;min-width:0}
 .hero-foot svg{width:46px}
 .coordinates{max-width:120px}
 .hero-media{min-height:300px;max-height:650px;aspect-ratio:4/5}
 .hero-media video{object-fit:cover}
 .video-caption{left:6%;right:66px;bottom:24px}
 .video-caption strong{font-size:clamp(25px,7.4vw,35px)}
 .video-caption>span{font-size:10px;letter-spacing:.7px}
 .video-caption p{font-size:12px;line-height:1.5}
 #video-toggle{right:14px;bottom:24px}
 .section{padding:48px 6%}
 .section-top{flex-wrap:wrap;gap:10px;margin-bottom:24px}
 .section-top .eyebrow{line-height:1.6}
 h2,.coach-copy h2,.gallery-heading h2{font-size:clamp(32px,10.7vw,54px);letter-spacing:-1px;line-height:1.08;overflow-wrap:normal}
 .principles{gap:26px;margin-top:30px}
 .principles p,.coach-copy p{max-width:none}
 .coach-photo{min-width:0;margin:4px 7px 4px 4px;box-shadow:7px 7px 0 #d4d5c9}
 .autograph{left:16px;bottom:18px;font-size:clamp(21px,6vw,27px)}
 .photo-label{font-size:10px;letter-spacing:.5px;left:12px;top:12px}
 .coach-copy h2{margin:18px 0}
 .coach-copy .lead{font-size:19px}
 .coach-tags{gap:6px;margin:20px 0}
 .coach-tags span{font-size:10px;padding:8px 7px}
 .tabs button{min-height:56px;font-size:16px;gap:12px;line-height:1.4}
 .tabs button span{flex:none}
 .play-card{min-width:0}
 .field{height:200px}
 .play-content{padding:22px}
 .play-content p{min-height:0}
 .play-content .button{width:100%;gap:12px;min-height:50px}
 .gallery-toolbar{gap:12px}
 .gallery-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}
 .gallery-toolbar button{font-size:12px;padding:10px 8px;min-height:46px}
 .gallery-view-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0;gap:8px}
 #gallery-status{font-size:11px;line-height:1.7;margin:16px 0}
 .image-stream{height:280px;touch-action:pan-y}
 .stream-intro{top:15px;padding:0 12px}
 .stream-intro .eyebrow{font-size:10px;letter-spacing:.7px}
 .stream-intro p{font-size:12px;line-height:1.5}
 .join-grid{grid-template-columns:minmax(0,1fr) 108px;column-gap:14px;row-gap:24px}
 .join-grid h2{font-size:clamp(30px,8.6vw,52px);line-height:1.08;letter-spacing:-.7px}
 .join-comic{width:108px;max-width:100%}
 .join-contact .button{width:100%;min-height:50px;gap:12px}
 .contact-note{font-size:11px;line-height:1.6}
 footer{grid-template-columns:minmax(0,1fr);justify-items:center;padding:32px 6%;gap:20px}
 footer>.brand{justify-self:center;text-align:center;order:0}
 footer>span{grid-row:2;width:100%;font-size:11px;line-height:1.7;letter-spacing:1px;order:0}
 footer .footer-contact{grid-row:3;justify-self:center;justify-items:center;margin:0;gap:0}
 .sozial-reihe{justify-content:center;gap:6px;flex-wrap:wrap}
 .sozial svg{width:22px;height:22px}
 footer .footer-contact a{font-size:13px}
 .footer-unten{grid-row:4;order:0;justify-content:center;flex-direction:column;gap:14px;padding-top:24px}
 .footer-unten .powered{align-items:center}
 .footer-rechts{margin:0;font-size:12px;letter-spacing:.5px}
 #gallery-dialog,#formation-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:10px}
 .lightbox-bar{padding:10px 12px;gap:10px;font-size:10px;letter-spacing:.6px}
 .lightbox-stage{min-height:120px}
 .lightbox-stage img,.lightbox-stage video{width:100%;height:43dvh;max-height:43dvh;object-fit:contain}
 .lightbox-controls{gap:8px;padding:10px 8px}
 .lightbox-controls span{font-size:11px}
 .slider-thumb{width:76px;height:60px}
 #slider-track{gap:8px}
 .slider-jump{padding:4px 12px;gap:10px}
 .slider-jump label{font-size:10px;line-height:1.4;max-width:96px}
 .lightbox-info{padding:4px 14px 12px}
 .lightbox-info p{font-size:13px;line-height:1.6;max-height:66px}
 #formation-dialog{height:calc(100dvh - 16px)}
 .formation-toolbar{padding:5px 12px;gap:8px;display:grid;grid-template-columns:minmax(0,1fr)}
 .formation-toolbar>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
 .formation-toolbar button{padding:8px 5px;min-height:44px}
 #formation-stage{height:auto;min-height:0}
 .formation-bottom{height:auto;min-height:62px;padding:6px 10px;gap:8px;font-size:11px}
 .formation-bottom>span{min-width:0;text-align:center;line-height:1.5}
 .formation-bottom button{flex:0 0 44px}
 .legal-grid{grid-template-columns:minmax(0,1fr)}
 .legal-dl dd{overflow-wrap:anywhere}
}
@media(max-width:359px){
 .join-grid{grid-template-columns:minmax(0,1fr) 92px;gap:22px 12px}
 .join-comic{width:92px}
 .join-grid h2{font-size:29px}
 .lightbox-controls{gap:5px}
 .lightbox-controls span{font-size:10px;letter-spacing:-.2px}
 .hero-foot{font-size:9px}
}
@media(max-width:960px) and (orientation:landscape){
 #gallery-dialog{max-height:calc(100dvh - 12px)}
 #formation-dialog{height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}
 .formation-toolbar{display:flex;flex-wrap:nowrap}
 .formation-toolbar>div{display:flex;flex-wrap:nowrap}
 .lightbox-stage img,.lightbox-stage video{height:46dvh;max-height:46dvh}
}
@media(hover:none){.image-stream:hover .stream-card{animation-play-state:running}.image-stream.stream-stopped .stream-card{animation-play-state:paused}}
.lightbox-stage{position:relative}
.lightbox-stage[aria-busy=true]:after{content:'Loading…';position:absolute;inset:0;display:grid;place-items:center;background:#080b08;color:#d0d5c7;font:13px monospace;pointer-events:none}
.gallery-media-error{padding:24px;font-size:14px;line-height:1.6;text-align:center;color:#d0d5c7}

/* Legal left, LENO right at every viewport width. */
footer .footer-unten{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px}
footer .footer-unten .footer-rechts{grid-column:1;grid-row:1;justify-self:start;margin:0}
footer .footer-unten .powered{grid-column:2;grid-row:1;justify-self:end;align-items:flex-end}
