@font-face{font-family:Metropolis;src:url('../assets/fonts/Metropolis-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Metropolis;src:url('../assets/fonts/Metropolis-SemiBold.woff2') format('woff2');font-weight:600 800;font-display:swap}
*{box-sizing:border-box}body{margin:0;background:#fff;color:#666;font-family:Metropolis,Arial,sans-serif;font-size:16.4px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #c71920;outline-offset:5px}.header{width:calc(100% - 64px);max-width:920px;margin:32px auto 0;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{width:268px;flex-shrink:0}.brand img{display:block;width:268px;height:auto}.brand p{font-size:14px;color:#333;margin:5px 0 0 15px}.header nav{display:flex;align-items:center;white-space:nowrap;font-size:14px}.header nav a{text-decoration:none}.header nav a+a:before{content:'/';display:inline-block;margin:0 10px;font-weight:400}.header nav [aria-current]{font-weight:600;color:#333}.header nav a:hover{color:#c71920}.menu-toggle{display:none}main{width:calc(100% - 64px);max-width:920px;margin:78px auto 0;flex:1}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.photo{display:block;aspect-ratio:1;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s}.photo:hover img{opacity:.85}.cards{display:grid;gap:30px}.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{display:block;position:relative;text-decoration:none;aspect-ratio:5/3;overflow:hidden}.card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.card:hover img{transform:scale(1.03)}.card span{position:absolute;left:0;bottom:0;right:0;background:rgba(0,0,0,.5);color:#fff;text-align:center;padding:8px 5px;font-size:18px;line-height:1.6}.columns-4{row-gap:70px}.columns-4 .card{aspect-ratio:1}.album{display:grid;grid-template-columns:60% 40%;gap:0}.album>div{padding-right:28px}.album .gallery{gap:18px}.album h1{text-align:center;color:#333;font-family:Georgia,serif;font-size:34px;line-height:1.25;margin:0 0 0 15px}.about{display:grid;grid-template-columns:30% 70%;gap:0}.about>img{width:100%;max-width:245px;height:auto;align-self:start}.about>div{padding-left:12px}.about p{margin:0 0 16px;line-height:1.6}.about p:last-child{margin-bottom:0}.contact{display:grid;grid-template-columns:50% 50%;gap:32px}.map{height:410px;background:#f3f3f3;display:flex;align-items:center;justify-content:center}.map button{border:1px solid #ccc;background:white;padding:12px 18px}.map iframe{width:100%;height:100%;border:0}.contact-info section{display:flex;gap:18px;margin:0 0 22px;align-items:center}.contact-info p{margin:0;font-size:16px}.symbol{font-family:Arial,sans-serif;font-size:35px;width:42px;text-align:center;flex-shrink:0;color:#555}.contact-info a{text-decoration:none}.contact-info a:hover{text-decoration:underline}footer{width:calc(100% - 64px);max-width:920px;margin:150px auto 0;padding:28px 0 32px;border-top:1px solid #ddd;text-align:center;font-size:14px}footer p{margin:0}.cookies-link{border:0;background:none;color:#666;text-decoration:underline;padding:0}dialog{border:0}#lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:45px 60px;background:#111;color:#fff;overflow:hidden}#lightbox::backdrop{background:#111}#lightbox[open]{display:flex;align-items:center;justify-content:center}#lightbox img{max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain}#lightbox button{border:0;color:#fff;background:transparent;position:absolute;padding:8px 14px;font-size:40px}#lightbox .close{right:12px;top:4px}#lightbox .prev{left:2px;top:45%}#lightbox .next{right:2px;top:45%}.counter{position:absolute;bottom:12px;left:0;width:100%;text-align:center;font-size:14px}body.modal-open{overflow:hidden}#cookies{max-width:540px;width:calc(100% - 40px);padding:30px;color:#555;box-shadow:0 8px 60px #0003}#cookies::backdrop{background:#0006}#cookies h2{margin-top:0}#cookies button{padding:8px 20px;background:white;border:1px solid #aaa}
@media(max-width:800px){.header{gap:20px}.brand,.brand img{width:230px}.brand p{font-size:12px}.header nav{font-size:13px}.header nav a+a:before{margin:0 7px}.columns-4{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.album{grid-template-columns:1fr}.album>div{padding:0}.album h1{grid-row:1;margin:0 0 30px}.about{grid-template-columns:30% 70%}.contact{gap:20px}.map{height:360px}}
@media(max-width:600px){.header,main,footer{width:calc(100% - 36px)}.header{margin-top:24px;flex-wrap:wrap;gap:20px}.brand,.brand img{width:220px}.brand p{font-size:11.5px}.menu-toggle{display:block;background:none;border:0;padding:5px;font-size:14px}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;font-size:16px}.header nav.open{display:flex}.header nav a{padding:10px 0;border-bottom:1px solid #eee}.header nav a+a:before{display:none}main{margin-top:50px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.album .gallery{gap:16px}.columns-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cards .card span{font-size:14px;line-height:1.35}.columns-4{gap:20px}.about{display:block}.about>img{display:block;margin:0 auto 28px;max-width:260px}.about>div{padding:0}.contact{display:flex;flex-direction:column}.map{height:280px}.contact-info{padding-top:12px}footer{margin-top:75px;font-size:12px}#lightbox{padding:45px 35px}#lightbox button{font-size:32px;padding:4px 8px}.album h1{font-size:28px}}

.album .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.contact{grid-template-columns:58% 38%;gap:4%}.map{height:310px}.contact-info section{gap:16px;margin-bottom:16px}.contact-info section:first-child{align-items:flex-start}.contact-info section:first-child p{line-height:1.8}.symbol{width:26px;font-size:24px}.contact-info svg{width:24px;height:24px;display:block;fill:none;stroke:#555}.contact-info section:first-child p:first-line{font-weight:600}.contact-info section:not(:first-child) p{font-weight:600}main:has(.contact){min-height:480px}@media(max-width:600px){.contact{display:flex;gap:20px}.map{height:280px}main:has(.contact){min-height:0}}
