:root{--petrol:#0b5562;--petrol-dark:#073b44;--cream:#f7f4ed;--ink:#1e2b2d;--gold:#c6a251;--white:#fff;--muted:#667376;--line:#d9dedb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}.nav{height:78px;padding:0 5vw;display:flex;align-items:center;gap:32px;background:rgba(5,44,51,.96);position:sticky;top:0;z-index:30;box-shadow:0 2px 12px rgba(0,0,0,.12)}.brand{color:#fff;text-decoration:none;font-family:"Arial Narrow",Arial,sans-serif;font-size:29px;letter-spacing:.12em;font-weight:300;line-height:1}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.08em;color:#a7c5c9;margin-top:6px}.nav nav{margin-left:auto;display:flex;gap:24px}.nav nav a{color:#eef7f8;text-decoration:none;font-size:14px}.nav nav a:hover{color:#f2d77f}.menu{display:none;margin-left:auto;font-size:26px;color:#fff;background:transparent;border:0}.hero{min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;background:#071b1e}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,23,26,.95) 0%,rgba(4,23,26,.78) 30%,rgba(4,23,26,.22) 63%,rgba(4,23,26,.06) 100%),url('images/hero.jpg') center/cover no-repeat;transform:scale(1.02)}.hero-copy{position:relative;z-index:2;color:#fff;width:min(590px,90%);margin-left:5vw;padding:60px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--gold);font-weight:700;margin:0 0 12px}.hero h1{font-family:"Arial Narrow",Arial,sans-serif;font-weight:300;letter-spacing:.1em;font-size:78px;line-height:.95;margin:10px 0 18px}.hero .sub{font-size:31px;margin:0 0 16px;font-weight:300}.hero .lead{font-size:19px;max-width:540px;color:#e9efef}.btn{display:inline-block;text-decoration:none;background:var(--petrol);color:#fff;border:1px solid #2c7d88;padding:13px 22px;margin-top:16px;font-size:14px;letter-spacing:.04em}.btn:hover{background:#0e6675}.btn.outline{background:transparent;border-color:#aac5c8}.section{padding:82px 5vw}.section h2,.feature h2,.contact h2{font-size:42px;line-height:1.14;font-weight:400;margin:0 0 24px}.about{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center;background:var(--cream)}.about img{width:100%;height:430px;object-fit:cover;border-radius:2px;box-shadow:0 16px 40px rgba(0,0,0,.13)}.about p{font-size:17px}.repertoire{background:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{border:1px solid var(--line);padding:28px;background:#fff;min-height:240px;position:relative}.cards article b{font-size:12px;color:var(--gold);letter-spacing:.12em}.cards h3{font-size:24px;margin:12px 0 10px}.christmas-card{grid-column:span 2;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch;padding:0!important;overflow:hidden}.christmas-card>div{padding:28px}.christmas-card img{width:100%;height:100%;min-height:280px;object-fit:cover}.feature{display:grid;grid-template-columns:1.05fr .95fr;background:var(--petrol-dark);color:#fff}.feature-img{min-height:500px;background:url('images/band-concert-bw.jpg') center/cover no-repeat;filter:contrast(.95)}.feature-copy{padding:65px 6vw}.feature-copy p:not(.eyebrow){color:#dce9ea;font-size:17px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.chips span{padding:8px 12px;border:1px solid #6f9aa0;font-size:13px}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:310px;gap:14px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery-grid .wide{grid-column:span 2}.gallery-grid .portrait{grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;font-size:14px}.projects{margin-top:80px}.projects h3{font-size:31px;font-weight:400;margin:0 0 24px}.poster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.poster-grid figure{margin:0}.poster-wrap{height:420px;background:#eceae4;border:1px solid #d7d2c8;display:flex;align-items:center;justify-content:center;padding:14px}.poster-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 8px 20px rgba(0,0,0,.13)}.poster-grid figcaption{text-align:center;margin-top:10px;font-size:14px;color:#4c595b}.contact{padding:72px 5vw;background:var(--petrol-dark);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.contact p{color:#d6e6e8;max-width:720px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}.contact-label{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.contact-links strong{font-size:22px;margin-bottom:4px}.contact-links a:not(.btn){color:#fff;text-decoration:none;font-size:17px}footer{background:#052e35;color:#aac4c7;text-align:center;padding:22px;font-size:13px}@media (max-width:950px){.nav nav{display:none;position:absolute;top:78px;left:0;right:0;background:#073b44;padding:20px 5vw;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}.hero h1{font-size:58px}.about,.feature,.contact{grid-template-columns:1fr}.about img{height:360px}.cards{grid-template-columns:repeat(2,1fr)}.christmas-card{grid-column:span 2}.feature-img{min-height:360px}.poster-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid .wide{grid-column:span 2}}@media (max-width:620px){.nav{height:70px;padding:0 18px}.brand{font-size:23px}.hero{min-height:570px}.hero-copy{margin-left:20px;margin-right:20px}.hero h1{font-size:47px}.hero .sub{font-size:25px}.section{padding:58px 20px}.section h2,.feature h2,.contact h2{font-size:33px}.about img{height:280px}.cards{grid-template-columns:1fr}.cards article,.christmas-card{grid-column:auto}.christmas-card{display:block}.christmas-card img{height:320px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-grid .wide{grid-column:auto}.gallery-grid .portrait{grid-row:auto}.poster-grid{grid-template-columns:1fr 1fr;gap:14px}.poster-wrap{height:320px}.feature-copy{padding:54px 20px}.contact{padding:58px 20px}.hero-bg{background-position:60% center}}

/* Galerie: jediný vodorovný pás bez popisků. */
.gallery-carousel{position:relative;display:flex;align-items:center;gap:10px}
.gallery-track{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--petrol) transparent;padding:0 0 12px;flex:1;min-width:0}
.gallery-track img{height:310px;width:auto;max-width:min(78vw,520px);object-fit:contain;flex:none;scroll-snap-align:start;background:#e8e6df;display:block}
.gallery-arrow{flex:0 0 40px;width:40px;height:52px;border:1px solid #b5c6c7;background:var(--petrol-dark);color:#fff;font-size:24px;cursor:pointer;border-radius:3px}
.gallery-arrow:hover{background:var(--petrol)}.gallery-arrow:focus-visible,.gallery-track:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:620px){.gallery-carousel{gap:5px}.gallery-arrow{flex-basis:30px;width:30px;height:45px;font-size:18px}.gallery-track{gap:10px}.gallery-track img{height:230px;max-width:75vw}}

.gallery-track img{cursor:zoom-in}.gallery-track img:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.photo-lightbox{max-width:96vw;max-height:96vh;border:0;padding:42px 12px 12px;background:#071b1e;box-shadow:0 20px 80px #0009}.photo-lightbox::backdrop{background:rgba(0,0,0,.86)}.photo-lightbox img{display:block;max-width:calc(96vw - 24px);max-height:calc(96vh - 60px);object-fit:contain}.lightbox-close{position:absolute;right:10px;top:0;background:transparent;border:0;color:white;font-size:34px;cursor:pointer;line-height:40px}.lightbox-close:focus-visible{outline:2px solid var(--gold)}

/* Pozvánka na výroční koncert a úplné zobrazení plakátu. */
.anniversary{display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;background:#101b2d;color:#fff}
.anniversary h2{font-size:clamp(34px,4vw,54px);line-height:1.12;font-weight:400;margin:0 0 20px;color:#f4d69a}
.anniversary-copy p:not(.eyebrow){font-size:17px;max-width:650px;color:#edf0f5}
.anniversary-copy .anniversary-date{font-size:23px!important;color:#f4d69a!important}
.anniversary-poster{display:block;max-width:440px;margin:auto}
.anniversary-poster img{display:block;width:100%;height:auto;object-fit:contain;box-shadow:0 20px 50px #0007}
.poster-wrap a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.poster-wrap a img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:850px){.anniversary{grid-template-columns:1fr}.anniversary-poster{max-width:380px}}

/* Plakáty: vodorovný posuvný pruh bez popisků, vždy celé bez ořezu. */
.poster-track a{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:410px;max-width:min(78vw,370px);background:#e8e6df;scroll-snap-align:start;text-decoration:none;cursor:zoom-in}
.poster-track a img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block;box-shadow:none;cursor:zoom-in}
.poster-track a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
@media(max-width:620px){.poster-track a{height:310px;max-width:75vw}}

/* Hlavní nadpisy: původní úzké písmo, velká tiskací písmena; názvy programů zůstávají beze změny. */
.section h2,.feature h2,.contact h2,.anniversary h2,.projects h3{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.075em;font-weight:400;}

/* Nadpisy ve stejné zlaté barvě jako čísla programů. */
.section h2,.feature h2,.contact h2,.anniversary h2,.projects h3{color:var(--gold);}
