@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.simple-video-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}.simple-video-iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-25%);width:120vw;height:67.5vw;min-height:120%;min-width:213.33vh;border:none;transition:transform .1s ease-out}.simple-video-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0003;z-index:2}:root{--primary-color: #ffffff;--secondary-color: #333333;--accent-color: #970909;--text-color: #333333;--light-gray: #f5f5f5;--border-radius: 12px;--transition: all .3s ease;--font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max-width: 1400px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;width:100%}body{font-family:var(--font-family);line-height:1.6;color:var(--text-color);background-color:var(--primary-color);width:100%;margin:0;padding:0}#root{width:100%;margin:0;padding:0}.theater-title-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:transparent;text-align:center;color:#fff;font-family:var(--font-family);z-index:10002;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(-100%);transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.theater-title-overlay.title-fall{transform:translateY(0)}.theater-title-overlay.title-tilt{transform:translateY(0) rotate(5deg);transition:transform .5s cubic-bezier(.68,-.55,.265,1.55)}.theater-title-overlay.title-hole{transform:translateY(0) rotate(5deg) scale(0);opacity:0;transition:transform .3s cubic-bezier(.55,.085,.68,.53),opacity .3s ease-out}.theater-title-overlay.fade-out{opacity:0;pointer-events:none}.theater-title-overlay h1{font-size:4rem;font-weight:700;margin-bottom:1rem;letter-spacing:-.02em;color:#fff;text-shadow:3px 3px 6px rgba(0,0,0,.8),0 0 20px rgba(0,0,0,.5)}.theater-title-overlay p{font-size:1.5rem;font-weight:400;margin-bottom:.5rem;color:#fff;text-shadow:2px 2px 6px rgba(0,0,0,.8),0 0 15px rgba(0,0,0,.5)}.theater-title-overlay .since{font-size:1.2rem;font-weight:300;font-style:italic;color:#fff;text-shadow:2px 2px 6px rgba(0,0,0,.8),0 0 15px rgba(0,0,0,.5)}.theater-container{position:relative;z-index:10000;min-height:100vh}.theater-container .theater-background-content{opacity:0!important;visibility:hidden!important;transition:opacity .5s ease-out,visibility .5s ease-out}.theater-container .theater-background-content.visible{opacity:1;visibility:visible;pointer-events:all}.theater-container.fade-out{opacity:0;transition:opacity .8s ease-out}.main-content-fade-in{animation:mainContentFadeIn .8s ease-out}@keyframes mainContentFadeIn{0%{opacity:0}to{opacity:1}}.section,.hero,.current-plays,.troupe,.all-plays,.footer{opacity:1;visibility:visible}@keyframes headerSlideIn{0%{opacity:0;visibility:hidden;transform:translateY(-50px)}to{opacity:1;visibility:visible;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInCenter{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes titleFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes subtitleFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes sinceFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroSectionFadeIn{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}.theater-curtains{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10001;background-color:#fff}.curtain-left,.curtain-right{position:absolute;top:0;width:50%;height:100%;background:linear-gradient(90deg,#7a0808,#970909,#7a0808);transition:transform 1s cubic-bezier(.25,.46,.45,.94);box-shadow:inset -5px 0 10px #0000004d,0 0 20px #0000004d}.curtain-left{left:0;transform:translate(0);background:linear-gradient(90deg,#7a0808,#970909,#7a0808)}.curtain-right{right:0;transform:translate(0);background:linear-gradient(-90deg,#7a0808,#970909,#7a0808)}.theater-curtains.open .curtain-left{transform:translate(-100%)}.theater-curtains.open .curtain-right{transform:translate(100%)}.progress-bar{position:fixed;top:0;left:0;width:0%;height:4px;background-color:var(--accent-color);z-index:10004;transition:width .1s ease}.header{position:fixed;top:0;left:0;right:0;background-color:var(--primary-color);z-index:10003;transition:var(--transition);padding:5px 0 3px;box-shadow:0 2px 8px #00000014}.header.scrolled{padding:5px 0 3px}.header-content{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;box-sizing:border-box;gap:2rem}@media (min-width: 768px){.header-content{padding:0 2rem}}@media (min-width: 1200px){.header-content{padding:0 3rem}}.logo-link{display:block;transition:var(--transition)}.logo-link:hover{transform:scale(1.05)}.logo{justify-self:start;opacity:0;transform:translate(-50px);animation:slideInLeft .2s ease-out 0s both}.logo-img{height:100px;transition:var(--transition)}.header.scrolled .logo-img{height:65px}.social-links{display:flex;gap:1rem;justify-self:end;opacity:0;transform:translate(50px);animation:slideInRight .2s ease-out .1s both}.social-links a{color:var(--accent-color);transition:var(--transition)}.social-links a:hover{transform:scale(1.1);color:var(--secondary-color)}.nav{display:flex;gap:2rem;justify-self:center;margin:0 auto;opacity:0;transform:translateY(-30px);animation:slideInCenter .2s ease-out .05s both}.nav button{background:none;border:none;font-family:var(--font-family);font-size:1rem;font-weight:500;color:var(--text-color);cursor:pointer;transition:var(--transition);padding:.5rem 1rem;border-radius:var(--border-radius);position:relative}.nav button:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:3px;background-color:var(--accent-color);transition:all .3s ease;transform:translate(-50%)}.nav button:hover:after{width:80%}.nav button:hover{background-color:var(--light-gray);color:var(--accent-color)}.nav-link{background:none;border:none;font-family:var(--font-family);font-size:1rem;font-weight:500;color:var(--text-color);cursor:pointer;transition:var(--transition);padding:.5rem 1rem;border-radius:var(--border-radius);position:relative;text-decoration:none;display:inline-block}.nav-link:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:3px;background-color:var(--accent-color);transition:all .3s ease;transform:translate(-50%)}.nav-link:hover:after{width:80%}.nav-link:hover{background-color:var(--light-gray);color:var(--accent-color);text-decoration:none}.plays-menu-container{position:relative}.plays-menu-trigger{display:flex;align-items:center;gap:.5rem}.chevron{transition:transform .3s ease}.chevron.open{transform:rotate(180deg)}.plays-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background-color:var(--primary-color);border-radius:var(--border-radius);box-shadow:0 8px 25px #00000026;padding:1rem 0;min-width:250px;z-index:1000;border:1px solid rgba(0,0,0,.1)}.play-link{display:block;padding:.75rem 1.5rem;color:var(--text-color);text-decoration:none;font-size:.9rem;transition:var(--transition);border-bottom:1px solid rgba(0,0,0,.05)}.play-link:last-child{border-bottom:none}.play-link:hover{background-color:var(--light-gray);color:var(--accent-color);padding-left:2rem}.mobile-menu{display:none}.menu-toggle{background:none;border:none;color:var(--text-color);cursor:pointer;padding:.5rem}.mobile-menu-dropdown{position:absolute;top:100%;left:0;right:0;background-color:var(--primary-color);box-shadow:0 4px 10px #0000001a;padding:1rem 2rem}.mobile-nav{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.mobile-nav button{background:none;border:none;font-family:var(--font-family);font-size:1rem;color:var(--text-color);cursor:pointer;padding:.5rem 0;text-align:left}.mobile-social{display:flex;gap:1rem;justify-content:center}.mobile-social a{color:var(--accent-color)}.mobile-plays-section{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.mobile-plays-title{font-weight:600;color:var(--accent-color);margin-bottom:.5rem;font-size:1rem}.mobile-plays-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mobile-play-link{display:block;padding:.5rem;color:var(--text-color);text-decoration:none;font-size:.85rem;transition:var(--transition);border-radius:4px}.mobile-play-link:hover{background-color:var(--light-gray);color:var(--accent-color)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1rem;box-sizing:border-box}@media (min-width: 768px){.container{padding:0 2rem}}@media (min-width: 1200px){.container{padding:0 3rem}}.home-page{padding-top:10px;width:100%;margin:0}.hero-section{text-align:center;padding:3rem 0 1rem;display:flex;align-items:center;justify-content:center;position:relative;height:40vh;overflow:hidden}.hero-content{max-width:800px;margin:0 auto;position:relative;z-index:10}.main-title{font-size:3.5rem;font-weight:700;color:#fff;margin-bottom:1rem;letter-spacing:-.02em;opacity:0;transform:translateY(30px);animation:titleFadeIn .3s ease-out .15s both;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.subtitle{font-size:1.5rem;font-weight:400;color:#fff;margin-bottom:.5rem;opacity:0;transform:translateY(20px);animation:subtitleFadeIn .3s ease-out .2s both;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.since{font-size:1.2rem;font-weight:300;color:var(--accent-color);font-style:italic;opacity:0;transform:translateY(20px);animation:sinceFadeIn .3s ease-out .25s both;text-shadow:1px 1px 3px rgba(0,0,0,.7)}.section{padding:1rem 0;width:100%;margin:0}.section-title{font-size:2.5rem;font-weight:600;text-align:left;margin-bottom:3rem;color:var(--secondary-color);display:flex;align-items:center;gap:1rem}.section-title:before{content:"";width:6px;height:2.5rem;background-color:var(--accent-color);border-radius:3px;flex-shrink:0;display:block}.plays-grid{display:grid;gap:2rem}.current-plays{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:3rem;padding:0 0 1rem;background:transparent;border-radius:0;margin:.5rem 0;box-shadow:none}.all-plays{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.play-card{background-color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;color:inherit;border:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;margin:0;max-width:none;display:flex;flex-direction:column;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.current-plays .play-card{background-color:#fff;border-radius:20px;box-shadow:0 8px 30px #0000001f;transform:scale(1.02);overflow:hidden}.play-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-4px)}.play-card.large{grid-column:span 1}.play-image-container{position:relative;overflow:hidden;border-radius:16px 16px 0 0;flex-shrink:0}.play-image{width:100%;height:350px;object-fit:cover;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:16px 16px 0 0;background:transparent;display:block}.current-plays .play-image{height:400px;border-radius:20px 20px 0 0;object-fit:cover}.play-card:hover .play-image{transform:scale(1.05)}.current-plays .play-card:hover{transform:scale(1.05);box-shadow:0 25px 60px #00000040}.current-plays .play-card:hover .play-image{transform:scale(1.15)}.play-title-container{display:flex;flex-direction:column;gap:.2rem;padding-top:0}.current-plays .play-title-container{gap:.3rem;padding-top:0}.play-genre-tag{background:none;color:#666;padding:0;border-radius:0;font-size:.9rem;font-weight:400;display:block;margin-bottom:0;text-transform:uppercase;letter-spacing:.3px;width:auto;box-shadow:none;transition:none;line-height:1;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.play-info{padding:1.5rem;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;flex-grow:1;display:flex;flex-direction:column;gap:.5rem;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.play-title{font-size:1.4rem;font-weight:700;margin:0;color:#1a1a1a;line-height:1.2;text-transform:uppercase;letter-spacing:.5px;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;word-break:normal}.current-plays .play-title{font-size:1.6rem;font-weight:700;margin:0;color:#1a1a1a;line-height:1.2;text-transform:uppercase;letter-spacing:.5px;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;word-break:normal;text-align:left}.current-plays .play-genre-tag{background:none;color:#666;padding:0;border-radius:0;font-size:.9rem;font-weight:400;display:block;margin-bottom:0;text-transform:uppercase;letter-spacing:.3px;width:auto;box-shadow:none;transition:none;line-height:1;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.upcoming-dates{padding:0;background:transparent;border-radius:0;border:none;margin-top:auto;font-size:.85rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.current-plays .upcoming-dates{margin-top:0;padding:0;background:transparent;border:none;margin-top:.5rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.3rem}.current-plays .upcoming-dates .date-item{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease;width:fit-content;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.current-plays .upcoming-dates .date-scheduled{background:#1a1a1a;color:#fff}.current-plays .upcoming-dates .date-scheduled:hover{background:#333;transform:translateY(-1px)}.current-plays .upcoming-dates .date-scheduled:before{content:"📅";margin-right:.4rem;font-size:.7rem}.current-plays .upcoming-dates .date-coming-soon{background:#666;color:#fff}.current-plays .upcoming-dates .date-coming-soon:hover{background:#777;transform:translateY(-1px)}.play-image-placeholder{width:100%;height:280px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:center;border:2px dashed #dee2e6}.current-plays .play-image-placeholder{height:400px;border-radius:20px 20px 0 0}.placeholder-content{text-align:center;color:#6c757d}.placeholder-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.placeholder-text{font-size:1.2rem;font-weight:600;margin-bottom:.5rem;color:#495057;text-transform:uppercase;letter-spacing:.5px}.incomplete-page-notice{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:8px;padding:1rem 1.5rem;margin:1rem 0;text-align:center;box-shadow:0 4px 12px #ffc10733}.notice-icon{font-size:2rem;margin-bottom:.5rem}.incomplete-page-notice h5{color:#856404;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.incomplete-page-notice p{font-size:.9rem;margin-bottom:0}.poster-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;display:flex;align-items:center;justify-content:center;border:2px dashed #dee2e6;min-height:400px}.poster-placeholder-content{text-align:center;color:#6c757d}.poster-placeholder-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.7}.poster-placeholder-text{font-size:1.5rem;font-weight:700;margin-bottom:.8rem;color:#495057;text-transform:uppercase;letter-spacing:.5px}.poster-placeholder-genre{font-size:1.1rem;color:#6c757d;text-transform:uppercase;letter-spacing:.3px}.current-plays .upcoming-dates strong{display:block;margin-bottom:.6rem;color:#970909;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:1.2px;position:relative;padding-bottom:.3rem}.current-plays .upcoming-dates strong:after{content:"";position:absolute;bottom:0;left:0;width:20px;height:2px;background:linear-gradient(90deg,#970909,transparent)}.current-plays .date{font-size:.85rem;margin-bottom:.3rem;color:#666;font-weight:500;line-height:1.5;position:relative;padding-left:1.2rem;transition:color .2s ease}.current-plays .date:hover{color:#970909}.current-plays .date:before{content:"→";position:absolute;left:0;color:#970909;font-weight:700;font-size:.8rem;transition:transform .2s ease}.reservation-button{background:#970909;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;display:inline-block;text-align:center;margin-top:auto;position:relative;overflow:hidden}.reservation-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.reservation-button:hover{background:#b80a0a;transform:translateY(-3px);box-shadow:0 8px 25px #97090980;color:#fff}.reservation-button:hover:before{left:100%}.reservation-button:active{transform:translateY(-1px);box-shadow:0 4px 15px #97090966}.reservation-button:visited{color:#fff}.troupe-section{background-color:#fff}.troupe-content{width:100%;margin:0}.troupe-text{font-size:1.1rem;line-height:1.8;text-align:justify;color:var(--text-color)}.play-detail-page{padding-top:100px;display:flex;flex-direction:column;width:100%;margin:0;background-color:#fff}.play-poster-construction{display:flex;justify-content:center;margin:2rem 0}.play-poster-construction .poster-image{max-width:400px;width:100%;height:auto;border-radius:var(--border-radius);box-shadow:0 4px 20px #0000001a}.play-detail-page .container{padding-bottom:0;width:100%;max-width:var(--max-width);margin:0 auto;box-sizing:border-box;background-color:#fff;display:flex;flex-direction:column}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-color);text-decoration:none;font-weight:500;margin:6rem 0 2rem;transition:var(--transition)}.back-link:hover{color:var(--secondary-color)}.play-detail-title{font-size:3rem;font-weight:700;color:var(--secondary-color);margin-bottom:2rem;text-align:center}.play-detail-main{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-bottom:3rem;align-items:center}.poster-image{width:100%;max-width:400px;border-radius:var(--border-radius);box-shadow:0 4px 15px #0000001a}.play-info{display:flex;flex-direction:column;gap:1.5rem}.info-item{font-size:1.1rem;line-height:1.6}.info-item strong{color:var(--accent-color);display:inline;margin-right:.5rem}.actors-list{margin-top:.5rem}.actor-item{margin-bottom:.3rem;line-height:1.5}.actor-item em{font-style:italic}.character-name{color:var(--accent-color)}.performances-list{margin-top:.5rem}.performance-city-group{margin-bottom:1.5rem}.performance-city-name{font-size:1.1rem;color:var(--accent-color);margin-bottom:.5rem;padding-bottom:.3rem}.performance-city-name strong{font-style:italic}.city-link{color:var(--accent-color);text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:.4rem}.city-link svg{transition:transform .2s ease}.city-link:hover{text-decoration:underline;opacity:.8}.city-link:hover svg{transform:scale(1.2)}.performance-count{font-size:.9rem;color:#666;font-weight:400}.performance-total{font-size:1.1rem;color:var(--secondary-color);margin-bottom:2rem;padding-bottom:1rem}.performance-total-top{margin-bottom:.5rem;padding-bottom:.5rem}.performance-dates{padding-left:1rem;font-size:1rem;color:#333}.performance-total-top{color:#666}.play-performances h3{font-weight:500;margin-bottom:1rem}.performance-dates .upcoming,.performance-city-name{color:var(--accent-color);font-weight:500}.performance-city-name a{color:inherit;text-decoration:none}.performance-city-name .count-text{color:#666;font-weight:400}.performance-item{font-size:1rem;margin-bottom:.3rem;color:#666;font-weight:500;line-height:1.5;position:relative;padding-left:1.2rem;transition:color .2s ease}.performance-item:hover{color:#970909}.performance-item:before{content:"→";position:absolute;left:0;color:#970909;font-weight:700;font-size:.8rem;transition:transform .2s ease}.performance-item:hover:before{transform:translate(2px)}.play-description{margin-bottom:1rem;font-size:1.1rem;line-height:1.8;text-align:justify}.play-performances{margin-top:4rem;margin-bottom:3rem;font-size:1.1rem;line-height:1.8}.play-performances h3,.play-gallery h3{font-size:2rem;font-weight:600;margin-bottom:2rem;color:var(--secondary-color);text-align:left;display:flex;align-items:center;gap:1rem}.play-performances h3:before,.play-gallery h3:before{content:"";width:4px;height:2rem;background-color:var(--accent-color);border-radius:2px;flex-shrink:0;display:block}.description-text{color:#970909!important;font-style:italic!important;font-weight:500;margin-bottom:1rem}.synopsis-text{margin-top:1rem;color:#1a1a1a;font-style:normal;font-weight:400}.play-description h3,.play-synopsis h3{font-size:2rem;font-weight:600;margin-bottom:2rem;color:var(--secondary-color);text-align:left;display:flex;align-items:center;gap:1rem}.play-description h3:before{content:"";width:4px;height:2rem;background-color:var(--accent-color);border-radius:2px;flex-shrink:0;display:block}.play-gallery{margin-top:3rem;margin-bottom:3rem}.play-gallery h3{font-size:2rem;font-weight:600;margin-bottom:2rem;color:var(--secondary-color);text-align:left;display:flex;align-items:center;gap:1rem}.play-gallery h3:before{content:"";width:4px;height:2rem;background-color:var(--accent-color);border-radius:2px;flex-shrink:0;display:block}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.gallery-grid .gallery-item:only-child{max-width:400px;margin:0 auto}.gallery-item{cursor:pointer;border-radius:12px;overflow:hidden;transition:var(--transition);aspect-ratio:4/3;box-shadow:0 4px 15px #0000001a;background:#fff}.gallery-item:hover{transform:scale(1.05);box-shadow:0 8px 25px #0003}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.play-video{margin:2rem 0}.play-video-full{grid-column:1 / -1;width:100%;margin-bottom:2rem}.play-video h3{font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;color:#1a1a1a;position:relative;padding-left:1rem}.play-video h3:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:2rem;background:linear-gradient(135deg,#970909,#b80a0a);border-radius:2px}.video-container{position:relative;width:100%;height:0;padding-bottom:56.25%;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a;background:#f8f9fa}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.gallery-item:hover img{transform:scale(1.1)}.image-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.image-modal~.header,body:has(.image-modal) .header{display:none!important}body.modal-open .header{display:none!important}.modal-content{position:relative;max-width:90vw;max-height:90vh}.modal-close{position:fixed;top:2rem;right:2rem;background-color:#970909e6;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;font-weight:700;width:60px;height:60px;cursor:pointer;border-radius:50%;z-index:10003;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 25px #00000080;transition:all .3s ease}.modal-close:hover{background-color:#970909;transform:scale(1.1);box-shadow:0 12px 35px #0009;border-color:#fff9}.modal-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--border-radius)}.modal-navigation{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;pointer-events:none;z-index:10002}.nav-button{background-color:#970909e6;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;font-weight:700;width:70px;height:70px;cursor:pointer;border-radius:50%;pointer-events:all;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 25px #00000080}.nav-button:hover{background-color:#970909;transform:scale(1.15);box-shadow:0 12px 35px #0009;border-color:#fff9}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;background-color:var(--accent-color);color:var(--primary-color);border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;box-shadow:0 4px 15px #0003;transition:var(--transition);z-index:998;display:flex;align-items:center;justify-content:center}.scroll-to-top:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.footer{background-color:var(--secondary-color)!important;color:var(--primary-color);text-align:center;padding:2rem 0;width:100%;margin:0;box-sizing:border-box}.footer .container{width:100%;max-width:var(--max-width);margin:0 auto;box-sizing:border-box}.footer p{font-size:.9rem}.footer-text{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s ease-out;font-size:.9rem}.footer-modern{background:linear-gradient(180deg,#1a1a1a,#0d0d0d);color:#e8e8e8;padding:3.5rem 0 1.5rem;margin-top:8rem;position:relative;overflow:hidden;width:100vw;max-width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);box-sizing:border-box;border-top:2px solid rgba(255,255,255,.2)}.footer-modern:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:200px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.footer-container{max-width:var(--max-width);margin:0 auto;padding:0 2rem;position:relative;z-index:1}.footer-content-modern{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem;margin-bottom:3rem;position:relative}.footer-column-modern{display:flex;flex-direction:column;gap:1.75rem;min-width:0;align-items:flex-start;text-align:left}.footer-logo{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;position:relative;padding-bottom:1.5rem}.footer-logo:after{content:"";position:absolute;bottom:0;left:0;width:80px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.6),transparent)}.footer-logo-icon{color:#ffffffe6;background:transparent;padding:.5rem;border-radius:0;border:none;transition:all .3s ease}.footer-logo:hover .footer-logo-icon{color:#fff;transform:translateY(-2px)}.footer-title-modern{font-size:1.15rem;font-weight:600;color:#fff;margin:0 0 .5rem;letter-spacing:.05em;text-transform:uppercase;font-family:Georgia,serif;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:.5rem;width:100%}.footer-logo .footer-title-modern{font-size:2rem;font-weight:700;text-transform:none;letter-spacing:.02em;color:#fff;background:none;-webkit-text-fill-color:#ffffff;border:none;padding:0;margin:0;font-family:var(--font-family)}.footer-description-modern{font-size:.9rem;line-height:1.8;color:#e8e8e8b3;margin:0;font-weight:400;font-style:italic}.footer-description-modern strong{font-weight:600;color:#fffffff2}.footer-badge{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:none;border-left:2px solid rgba(255,255,255,.3);padding:.5rem 0 .5rem 1rem;font-size:.85rem;color:#e8e8e899;width:fit-content;font-style:italic;transition:all .3s ease}.footer-badge:hover{border-left-color:#fff9;color:#e8e8e8e6}.footer-nav-modern{display:flex;flex-direction:column;gap:.75rem;width:100%}.footer-link-modern{color:#e8e8e8b3;text-decoration:none;font-size:.9rem;font-weight:400;transition:all .3s ease;display:inline-flex;align-items:center;padding:.4rem 0;position:relative;width:fit-content;letter-spacing:.02em}.footer-link-modern:before{content:"▸";position:absolute;left:-1.25rem;opacity:0;transition:all .3s ease;color:#fffc;font-size:.75rem}.footer-link-modern:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:#fff9;transition:width .3s ease}.footer-link-modern:hover{color:#fff;padding-left:1.25rem}.footer-link-modern:hover:before{opacity:1;left:0}.footer-link-modern:hover:after{width:40px}.footer-contact-modern{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem;width:100%}.footer-social-inline{margin-top:1.5rem;padding-top:0;border-top:none}.footer-social-section{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.footer-social-title{margin-bottom:.5rem!important}.footer-contact-item-modern{display:flex;align-items:flex-start;gap:1rem;color:#e8e8e8b3;text-decoration:none;font-size:.9rem;line-height:1.7;transition:all .3s ease;padding:0;border:none;background:transparent}.footer-contact-item-modern:hover{color:#fff}.footer-contact-icon{flex-shrink:0;color:#ffffffb3;background:transparent;padding:0;border:none;display:flex;align-items:center;justify-content:center;transition:all .3s ease;margin-top:.25rem}.footer-contact-item-modern:hover .footer-contact-icon{color:#fff}.footer-social-intro{font-size:.85rem;color:#e8e8e880;margin:0 0 1rem;font-weight:400;font-style:italic}.footer-social-modern{display:flex;gap:1rem;flex-wrap:wrap}.footer-social-link-modern{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:0;color:#e8e8e8b3;text-decoration:none;transition:all .3s ease;position:relative}.footer-social-link-modern:hover{border-color:currentColor;color:#fff;transform:translateY(-3px)}.footer-social-facebook:hover{color:#1877f2;border-color:#1877f2}.footer-social-instagram:hover{color:#e4405f;border-color:#e4405f}.footer-social-youtube:hover{color:red;border-color:red}.footer-divider{height:1px;background:#ffffff1a;margin:3rem 0 .75rem;position:relative}.footer-bottom-modern{display:flex;justify-content:center;align-items:center;padding-top:.75rem;width:100%;box-sizing:border-box;position:relative}.footer-copyright-modern{text-align:center;padding:0}.footer-copyright-text{font-size:.85rem;color:#e8e8e880;margin:0;word-wrap:break-word;letter-spacing:.05em;font-style:italic}.footer-copyright-text strong{color:#e8e8e8cc;font-weight:600;font-style:normal}.footer-legal-modern{display:flex;gap:1.5rem;flex-wrap:wrap;flex-shrink:0}.footer-legal-link-modern{color:#ffffffb3;text-decoration:none;font-size:.9rem;transition:all .3s ease;position:relative;padding-bottom:.25rem}.footer-legal-link-modern:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:#fff9;transition:width .3s ease}.footer-legal-link-modern:hover{color:#fff}.footer-legal-link-modern:hover:after{width:100%}@media (max-width: 1200px){.footer-content-modern{grid-template-columns:repeat(2,1fr);gap:2.5rem}}@media (max-width: 992px){.footer-content-modern{grid-template-columns:1fr;gap:2rem}}@media (max-width: 768px){.footer-modern{padding:3rem 0 1.5rem;margin-top:4rem}.footer-container{padding:0 1.5rem}.footer-content-modern{grid-template-columns:1fr;gap:2.5rem}.footer-column-modern{gap:1.25rem}.footer-bottom-modern{flex-direction:column;text-align:center;align-items:center;gap:1rem}.footer-legal-modern{margin-left:0}.footer-social-modern,.footer-logo{justify-content:center}}@media (max-width: 480px){.footer-modern{padding:2.5rem 0 1.5rem}.footer-container{padding:0 1rem}.footer-title-modern{font-size:1.1rem}.footer-logo .footer-title-modern{font-size:1.3rem}}.contact-page{padding-top:120px;min-height:100vh;background:#fff;position:relative}.contact-page .container{max-width:900px;margin:0 auto;padding:2rem}.contact-page .page-title{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:2rem;text-align:left}.contact-intro{margin-bottom:2.5rem}.contact-intro p{font-size:1rem;line-height:1.7;color:#1a1a1a;margin:0}.contact-content{display:block}.contact-form-wrapper{background:#fff;padding:0;margin-bottom:3rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.form-group .required{color:#f44;margin-left:.25rem}.form-group input,.form-group textarea{padding:.875rem 1rem;border:1px solid #d0d0d0;border-radius:4px;font-size:1rem;font-family:var(--font-family);color:#1a1a1a;background:#fff;transition:all .2s ease;width:100%;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1a1a1a1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.form-group textarea{resize:vertical;min-height:150px;font-family:var(--font-family)}.form-status{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:8px;font-size:.95rem;animation:slideIn .3s ease}.form-status.success{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.form-status.error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:#970909;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.submit-button:hover:not(:disabled){background:#7a0808}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.contact-info{margin-top:3rem;padding-top:2rem;border-top:1px solid #e0e0e0}.contact-info h2{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:1.5rem}.contact-info-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.contact-info-item:last-child{margin-bottom:0}.contact-info-item svg{color:#1a1a1a;flex-shrink:0;margin-top:.25rem}.contact-info-item strong{display:block;font-size:.95rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.contact-info-item a,.contact-info-item p{font-size:.95rem;color:#1a1a1a;text-decoration:none;margin:0}.contact-info-item a:hover{color:#970909;text-decoration:underline}.contact-social-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.contact-social-section h3{font-size:1.1rem;font-weight:600;color:#1a1a1a;margin-bottom:1rem}.contact-social-links{display:flex;gap:1rem;flex-wrap:wrap}.contact-social-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border:2px solid #d0d0d0;border-radius:4px;text-decoration:none;color:#1a1a1a;font-size:.95rem;font-weight:500;transition:all .3s ease;background:#fff}.contact-social-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.contact-social-facebook:hover{border-color:#1877f2;color:#1877f2}.contact-social-instagram:hover{border-color:#e4405f;color:#e4405f}.contact-social-youtube:hover{border-color:red;color:red}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mentions-legales-page{padding-top:120px;min-height:100vh;background:#fff;position:relative}.mentions-legales-page .container{max-width:900px;margin:0 auto;padding:2rem}.mentions-legales-page .page-title{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:2.5rem;text-align:left;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.legal-section{margin-bottom:2.5rem;padding:0}.legal-section h2{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:1rem;margin-top:0}.legal-section p{font-size:1rem;line-height:1.7;color:#1a1a1a;margin-bottom:1rem;text-align:justify}.legal-section ul{margin:1rem 0 1rem 2rem;padding-left:0;list-style-type:disc}.legal-section li{font-size:1rem;line-height:1.7;color:#1a1a1a;margin-bottom:.5rem}.legal-section a{color:#1a1a1a;text-decoration:underline}.legal-section a:hover{color:#333}.legal-section strong{font-weight:600;color:#1a1a1a}@media (max-width: 768px){.contact-page,.mentions-legales-page{padding-top:100px}.contact-page .container,.mentions-legales-page .container{padding:1.5rem}.contact-page .page-title,.mentions-legales-page .page-title{font-size:1.75rem}.legal-section h2{font-size:1.1rem}}@media (max-width: 480px){.contact-page .container,.mentions-legales-page .container{padding:1rem}.contact-page .page-title,.mentions-legales-page .page-title{font-size:1.5rem}}@media (max-width: 768px){.desktop-only{display:none}.mobile-menu{display:block}.header-content{padding:0 1rem;grid-template-columns:1fr auto}.container{padding:0 1rem}.main-title{font-size:2.5rem}.subtitle{font-size:1.2rem}.section-title{font-size:2rem;gap:.75rem}.section-title:before{width:4px;height:2rem}.current-plays{grid-template-columns:1fr}.all-plays{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.play-genre-tag{font-size:.7rem;padding:.25rem .5rem;margin-bottom:0}.play-detail-main{grid-template-columns:1fr;gap:2rem}.play-detail-title{font-size:2rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.play-gallery h3{font-size:1.5rem;gap:.75rem}.play-gallery h3:before{width:3px;height:1.5rem}.scroll-to-top{bottom:1rem;right:1rem;width:45px;height:45px}}@media (max-width: 480px){.main-title{font-size:2rem}.section-title{font-size:1.5rem}.all-plays{grid-template-columns:1fr}.play-detail-title{font-size:1.5rem}}@keyframes progress{0%{width:0%}to{width:100%}}@keyframes fadeInUp{0%{opacity:0;visibility:hidden;transform:translateY(30px)}to{opacity:1;visibility:visible;transform:translateY(0)}}.scroll-animation{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-animation.visible{opacity:1;transform:translateY(0)}.plays-grid-animation{width:100%}.plays-row{display:flex;justify-content:center;margin-bottom:3rem}.plays-row .plays-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;width:100%;max-width:none;justify-content:center;align-items:start}.play-card-empty{visibility:hidden}.play-card-wrapper{opacity:0;transition:opacity .6s ease-out,transform .6s cubic-bezier(.25,.46,.45,.94)}.play-card-wrapper.from-left{transform:translate(-50px)}.play-card-wrapper.from-right{transform:translate(50px)}.play-card-wrapper.visible{opacity:1;transform:translate(0)}.play-card-wrapper.from-left.visible{transition-delay:.1s}.play-card-wrapper.from-right.visible{transition-delay:.2s}@media (max-width: 1000px){.plays-row .plays-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem}.plays-row{margin-bottom:2.5rem}}@media (max-width: 768px){.plays-row .plays-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}.plays-row{margin-bottom:1.5rem}.play-image{height:250px}.current-plays .play-image{height:300px}.play-title{font-size:1.2rem}.current-plays .play-title{font-size:1.4rem}}.section{animation:fadeInUp .6s ease-out}.error-message{text-align:center;padding:4rem 0}.error-message h2{font-size:2rem;color:var(--accent-color);margin-bottom:2rem}.construction-icon{position:absolute;top:.75rem;right:.75rem;font-size:1.2rem;background:#fffffff2;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;z-index:10}@media (max-width: 768px){.construction-icon{top:.5rem;right:.5rem;width:28px;height:28px;font-size:1rem}}#actuellement,#troupe,#pieces,#reservation{scroll-margin-top:100px}.reservation-group{margin-bottom:.5rem;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.date-item{-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.reservation-link-card{display:inline-block;background:#970909;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;text-decoration:none;margin-top:.5rem;transition:all .3s ease;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.reservation-link-card:hover{background:#b80a0a;transform:translateY(-2px);box-shadow:0 4px 15px #97090966;color:#fff}.reservation-link-detail{display:inline-block;background:#970909;color:#fff;padding:.4rem .8rem;border-radius:4px;font-size:.9rem;font-weight:600;text-decoration:none;margin-left:1rem;transition:all .3s ease;-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}.reservation-link-detail:hover{background:#b80a0a;transform:translateY(-2px);box-shadow:0 4px 15px #97090966;color:#fff}.reservation-banner{background:linear-gradient(135deg,#970909,#b80a0a);border-radius:16px;padding:0;margin:.5rem 0 3.5rem;box-shadow:0 8px 30px #9709094d;overflow:hidden}@media (max-width: 768px){.reservation-banner{margin:.5rem 0 2rem;border-radius:12px}}.reservation-banner-content{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#ffffff1a,#ffffff0d)}@media (max-width: 768px){.reservation-banner-content{flex-direction:column;align-items:stretch;gap:1rem;padding:1.5rem}}.reservation-banner-icon{font-size:3rem;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@media (max-width: 768px){.reservation-banner-icon{font-size:2.5rem;align-self:center}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.reservation-banner-text{flex:1;color:#fff}.reservation-banner-text h4{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1px}@media (max-width: 768px){.reservation-banner-text h4{font-size:1.1rem;text-align:center}.reservation-banner-text{text-align:center}}.reservation-banner-text p{margin:0;font-size:1.1rem;color:#fffffff2;font-weight:500}.reservation-details{display:flex;flex-direction:column;gap:.5rem}.reservation-date{font-size:1.2rem!important;font-weight:600!important;padding-left:2rem}@media (max-width: 768px){.reservation-date{font-size:1rem!important;padding-left:0!important;text-align:center}.reservation-location{text-align:center}.reservation-details{align-items:center}}.reservation-location{margin-top:.5rem}.location-link{display:inline-flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;transition:all .3s ease;padding:.4rem .8rem;background:#fff3;border-radius:6px;font-size:1rem;font-weight:500;border:1px solid rgba(255,255,255,.3)}.location-link:hover{background:#ffffff59;transform:translate(3px);border-color:#fff9;box-shadow:0 2px 8px #0003;color:#fff}.location-link svg{transition:transform .3s ease}.location-link:hover svg{transform:scale(1.2)}.reservation-banner-button{background:#fff;color:#970909;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;white-space:nowrap;box-shadow:0 4px 15px #0003;flex-shrink:0}.reservation-banner-button:hover{background:#f8f9fa;transform:translateY(-3px);box-shadow:0 6px 25px #0000004d;color:#970909}@media (max-width: 768px){.reservation-banner-button{width:100%;text-align:center;padding:1rem;font-size:1rem;margin-top:1rem;display:block}}
