.art-gallery{padding:100px 6vw;border-top:1px solid #ffffff15;background:radial-gradient(ellipse at 80% 0,#24123655,transparent 55%)}
.gallery-intro{max-width:640px;color:#b5aabe;line-height:1.8;margin:24px 0 35px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.gallery-toolbar input{background:#100b18;border:1px solid #44304e;border-radius:4px;color:#fff;font:inherit;padding:15px 18px;width:min(440px,65%)}#gallery-count{font-size:12px;color:#c2a8d4}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.gallery-card{padding:0;border:1px solid #ffffff16;background:#110c18;color:#eee;text-align:left;cursor:pointer;overflow:hidden;border-radius:3px}.gallery-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .4s}.gallery-card:hover img{transform:scale(1.035)}.gallery-card span{display:block;font:500 12px/1.5 Inter,sans-serif;letter-spacing:.05em;padding:17px}.gallery-card:hover{border-color:#ba7ce4}#gallery-more{margin:30px auto 0;cursor:pointer}#gallery-more[hidden]{display:none}#gallery-status{color:#b5aabe}.art-open{overflow:hidden}#art-lightbox{position:fixed;inset:0;margin:auto;width:min(980px,94vw);max-height:94dvh;padding:20px;border:1px solid #715085;background:#0c0812;color:#fff;border-radius:6px;overflow:auto}#art-lightbox::backdrop{background:#020104ed;backdrop-filter:blur(8px)}#art-full{display:block;width:100%;height:65dvh;object-fit:contain}#art-close{position:absolute;right:16px;top:12px;font-size:30px;z-index:1}#art-lightbox button{background:#21152e;color:white;border:1px solid #67477a;border-radius:4px;cursor:pointer;min-width:44px;min-height:44px}.art-detail{padding:18px 8px}.art-detail h3{font:500 18px/1.5 Cinzel,serif;margin:0}.art-detail p{font-size:12px;color:#b5aabe}.art-links{display:flex;flex-wrap:wrap;gap:24px;font-size:12px;color:#d9adf4}.art-controls{display:flex;align-items:center;justify-content:center;gap:24px;font-size:12px}:is(.gallery-card,#gallery-more,#art-lightbox button,.gallery-toolbar input):focus-visible{outline:2px solid #d9a5ff;outline-offset:4px}@media(max-width:1100px){.nav-cta{display:none}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.art-gallery{padding:60px 6vw}.gallery-card span{font-size:10px;padding:12px}#art-lightbox{padding:12px}#art-full{height:58dvh}.gallery-toolbar{gap:10px}}@media(prefers-reduced-motion:reduce){.gallery-card img{transition:none}}
.art-gallery h2{font-family:Cinzel,serif;font-weight:500;line-height:1;letter-spacing:-.045em;margin:0}.art-gallery .section-head{margin-bottom:20px}#gallery-more{background:transparent} .art-links a{color:inherit;text-underline-offset:4px}
@media(max-width:800px){.nav nav{display:flex;position:absolute;top:82px;left:20px;right:20px;justify-content:center;gap:22px;padding:12px 8px;background:#08040bd9;border:1px solid #ffffff20;border-radius:3px}.nav nav a{font-size:10px;letter-spacing:.06em}.art-gallery h2{font-size:clamp(30px,8vw,52px)}}
.gallery-card span{font-size:14px}.art-links{font-size:14px}@media(max-width:800px){.nav nav{gap:16px}.nav nav a{font-size:12px}.gallery-card span{font-size:14px}}
.language-switch select{width:115px;min-height:44px;padding:8px;color:#fff;background:#21132f;border:1px solid #ac7fe4;border-radius:3px;font:14px Inter,Arial,sans-serif;cursor:pointer}.language-switch select:focus-visible{outline:2px solid #d9a5ff;outline-offset:3px}@media(max-width:800px){.language-switch select{width:100px}.nav .brand-image{max-width:calc(100vw - 156px)}}html[lang="de"] .hero h1,html[lang="es"] .hero h1,html[lang="pt"] .hero h1{font-size:clamp(38px,4.6vw,74px)}@media(max-width:800px){html[lang="de"] .hero h1,html[lang="es"] .hero h1,html[lang="pt"] .hero h1{font-size:clamp(30px,8.5vw,62px)}.nav nav{gap:12px}}
/* Keep mobile navigation in normal flow, above the portrait. */
@media(max-width:800px){
 .nav{position:relative;height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 20px 12px;background:#06020b}
 .nav .brand{grid-column:1;grid-row:1;justify-self:start;min-width:0}
 .nav .brand-image{width:100%;max-width:270px;height:66px}
 .nav .language-switch{grid-column:2;grid-row:1}
 .nav nav{position:static;grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:0 16px;justify-content:center;padding:0;background:transparent;border:0;border-radius:0}
 .nav nav a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px}
}
