:root{--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--spacing-32: 128px;--color-black: #000000;--color-white: #FFFFFF;--color-gray-100: #F7F7F7;--color-gray-200: #E5E5E5;--color-gray-300: #CFCFCF;--color-gray-400: #A0A0A0;--color-gray-500: #737373;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #171717;--bg-primary: var(--color-white);--bg-secondary: var(--color-gray-100);--bg-tertiary: var(--color-gray-200);--text-primary: var(--color-black);--text-secondary: var(--color-gray-600);--text-tertiary: var(--color-gray-500);--border-primary: var(--color-gray-200);--border-secondary: var(--color-gray-300);--accent-primary: var(--color-black);--accent-secondary: var(--color-gray-700);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--logo-url: url(/logos/nonclub-house-bk.png);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-primary)}[data-theme=dark]{--bg-primary: var(--color-gray-900);--bg-secondary: var(--color-gray-800);--bg-tertiary: var(--color-gray-700);--text-primary: var(--color-white);--text-secondary: var(--color-gray-400);--text-tertiary: var(--color-gray-500);--border-primary: var(--color-gray-700);--border-secondary: var(--color-gray-600);--accent-primary: var(--color-white);--accent-secondary: var(--color-gray-300);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--logo-url: url(/nonclub-house-bk.png)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{width:100%}a{color:inherit;text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.7}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}button{font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;border:none;background:none;transition:all .3s ease}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-8)}@media(max-width:768px){.container{padding:0 var(--spacing-6)}}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:all .3s ease;background-color:transparent}.header.scrolled{background-color:var(--bg-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md)}[data-theme=dark] .header.scrolled{background-color:#171717f2}.header-container{max-width:1400px;margin:0 auto;padding:var(--spacing-4) var(--spacing-8);display:flex;justify-content:space-between;align-items:center}.logo{cursor:pointer;transition:opacity .3s ease}.logo:hover{opacity:.7}.logo-image{height:32px;width:auto;display:block;object-fit:contain}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:.05em;color:var(--text-primary)}.header-right{display:flex;align-items:center;gap:var(--spacing-8)}.nav{display:flex;gap:var(--spacing-10);align-items:center}.nav a{position:relative;font-size:.95rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:opacity .3s ease}.nav a:hover{opacity:.6}.nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--accent-primary);transition:width .3s ease}.nav a:hover:after{width:100%}.nav-cta{padding:var(--spacing-2) var(--spacing-6);background-color:var(--accent-primary);color:var(--bg-primary)!important;border-radius:2px;transition:all .3s ease}.nav-cta:after{display:none}.nav-cta:hover{background-color:var(--accent-secondary);opacity:1}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:none;border:none;color:var(--text-primary);cursor:pointer;border-radius:50%;transition:all .3s ease}.theme-toggle:hover{background-color:var(--bg-secondary)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(15deg)}.mobile-menu-btn{display:none;flex-direction:column;gap:var(--spacing-1);width:30px;height:24px;background:none;border:none;cursor:pointer;padding:0}.mobile-menu-btn span{width:100%;height:2px;background-color:var(--text-primary);transition:all .3s ease;transform-origin:center}.mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-btn.open span:nth-child(2){opacity:0}.mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.header-container{padding:var(--spacing-3) var(--spacing-6)}.logo-image{height:28px}.logo-text{font-size:1.1rem}.header-right{gap:var(--spacing-4)}.mobile-menu-btn{display:flex}.nav{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background-color:var(--bg-primary);flex-direction:column;justify-content:center;gap:var(--spacing-8);padding:var(--spacing-8);box-shadow:var(--shadow-lg);transition:right .3s ease}.nav.mobile-open{right:0}.nav a{font-size:1.25rem}.nav a:after{display:none}}.footer{background-color:var(--accent-primary);color:var(--bg-primary);padding:var(--spacing-20) 0 var(--spacing-8)}[data-theme=light] .footer{background-color:var(--color-black);color:var(--color-white)}[data-theme=dark] .footer{background-color:var(--color-gray-800);color:var(--color-white)}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:var(--spacing-16);margin-bottom:var(--spacing-16);padding-bottom:var(--spacing-12);border-bottom:1px solid var(--border-primary)}[data-theme=light] .footer-content{border-bottom-color:#ffffff1a}.footer-section{display:flex;flex-direction:column}.footer-logo{font-size:1.5rem;font-weight:700;letter-spacing:.05em;margin-bottom:var(--spacing-4)}[data-theme=light] .footer-logo,[data-theme=dark] .footer-logo{color:var(--color-white)}.footer-tagline{font-size:.95rem;line-height:1.7;opacity:.7}.footer-title{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-6)}.footer-nav{display:flex;flex-direction:column;gap:.875rem}.footer-nav a{font-size:.95rem;opacity:.7;cursor:pointer;transition:opacity .3s ease}.footer-nav a:hover{opacity:1}.footer-contact{display:flex;flex-direction:column;gap:var(--spacing-3);font-size:.95rem;opacity:.7}.footer-social{display:flex;gap:var(--spacing-6);margin-top:var(--spacing-4)}.footer-social a{font-size:.95rem;font-weight:500;transition:opacity .3s ease}.footer-social a:hover{opacity:.7}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-8);font-size:.875rem}.footer-copyright{opacity:.7}.footer-legal{display:flex;gap:var(--spacing-4);align-items:center;opacity:.7}.footer-legal a{transition:opacity .3s ease}.footer-legal a:hover{opacity:1}.footer-legal span{opacity:.5}@media(max-width:968px){.footer{padding:var(--spacing-16) 0 var(--spacing-8)}.footer-content{grid-template-columns:1fr 1fr;gap:var(--spacing-12);margin-bottom:var(--spacing-12)}.footer-section:first-child{grid-column:1 / -1}}@media(max-width:768px){.footer{padding:var(--spacing-12) 0 var(--spacing-8)}.footer-content{grid-template-columns:1fr;gap:var(--spacing-10);margin-bottom:var(--spacing-10);padding-bottom:var(--spacing-8)}.footer-section:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:var(--spacing-4);text-align:center}.footer-legal{justify-content:center}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-24) var(--spacing-8) var(--spacing-16);background-color:var(--bg-primary);overflow:hidden}.hero-content{max-width:1400px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-16);align-items:center}.hero-text{z-index:2}.hero-title{font-size:clamp(2.5rem,6vw,5rem);font-weight:700;line-height:1.1;margin-bottom:var(--spacing-8);color:var(--text-primary)}.hero-highlight{position:relative;display:inline-block}.hero-description{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:var(--spacing-12);max-width:500px}.hero-cta{display:flex;gap:var(--spacing-4);flex-wrap:wrap}.btn-primary{padding:var(--spacing-4) var(--spacing-10);background-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;border-radius:2px;transition:all .3s ease}.btn-primary:hover{background-color:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{padding:var(--spacing-4) var(--spacing-10);background-color:transparent;color:var(--text-primary);font-weight:600;border:2px solid var(--border-secondary);border-radius:2px;transition:all .3s ease}.btn-secondary:hover{background-color:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary);transform:translateY(-2px)}.hero-visual{position:relative;height:500px;display:flex;align-items:center;justify-content:center}.visual-box{position:absolute;background-color:var(--accent-primary);transition:all .3s ease}.visual-1{width:250px;height:250px;top:50%;left:50%;transform:translate(-50%,-50%);animation:float 6s ease-in-out infinite}.visual-2{width:180px;height:180px;top:20%;left:20%;background-color:var(--bg-secondary);border:2px solid var(--border-primary);animation:float 8s ease-in-out infinite;animation-delay:-2s}.visual-3{width:120px;height:120px;bottom:15%;right:15%;background-color:var(--accent-secondary);animation:float 7s ease-in-out infinite;animation-delay:-4s}@keyframes float{0%,to{transform:translate(0)}25%{transform:translate(10px,-10px)}50%{transform:translate(-5px,10px)}75%{transform:translate(5px,5px)}}.scroll-indicator{position:absolute;bottom:var(--spacing-12);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--text-tertiary);font-size:.875rem;font-weight:500;letter-spacing:.1em}.scroll-line{width:1px;height:40px;background-color:var(--text-tertiary);animation:scrollDown 2s ease-in-out infinite}@keyframes scrollDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@media(max-width:968px){.hero-content{grid-template-columns:1fr;gap:var(--spacing-12)}.hero-visual{height:400px}.visual-1{width:200px;height:200px}.visual-2{width:140px;height:140px}.visual-3{width:100px;height:100px}}@media(max-width:768px){.hero{padding:var(--spacing-20) var(--spacing-6) var(--spacing-12)}.hero-title{font-size:2.5rem;margin-bottom:var(--spacing-6)}.hero-description{font-size:1rem;margin-bottom:var(--spacing-8)}.hero-cta{flex-direction:column}.btn-primary,.btn-secondary{width:100%;text-align:center}.hero-visual{height:300px}.visual-1{width:150px;height:150px}.visual-2{width:100px;height:100px}.visual-3{width:70px;height:70px}}.services{padding:var(--spacing-32) 0;background-color:var(--bg-primary)}.section-header{text-align:center;margin-bottom:var(--spacing-20)}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;margin-bottom:var(--spacing-6);color:var(--text-primary)}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-10)}.service-card{padding:var(--spacing-10);background-color:var(--bg-secondary);border:1px solid var(--border-primary);transition:all .3s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background-color:var(--accent-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.service-number{font-size:3rem;font-weight:700;color:var(--border-secondary);margin-bottom:var(--spacing-4);line-height:1}.service-title{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-4);color:var(--text-primary)}.service-description{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin-bottom:var(--spacing-6)}.service-features{list-style:none;padding:0}.service-features li{font-size:.95rem;color:var(--text-tertiary);margin-bottom:var(--spacing-3);padding-left:var(--spacing-6);position:relative}.service-features li:before{content:"→";position:absolute;left:0;color:var(--accent-primary);font-weight:700}@media(max-width:968px){.services{padding:var(--spacing-24) 0}.section-header{margin-bottom:var(--spacing-12)}.services-grid{gap:var(--spacing-8)}}@media(max-width:768px){.services{padding:var(--spacing-16) 0}.section-header{margin-bottom:var(--spacing-10)}.services-grid{grid-template-columns:1fr;gap:var(--spacing-6)}.service-card{padding:var(--spacing-8)}.service-number{font-size:2.5rem}.service-title{font-size:1.5rem}}.video-section{padding:120px 0;background:var(--bg-secondary)}.video-container{max-width:1000px;margin:0 auto}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;background:var(--bg-primary);box-shadow:0 20px 60px #0000004d}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:16px}.video-cta{margin-top:48px;text-align:center}.video-cta p{font-size:18px;color:var(--text-secondary);margin-bottom:24px;font-weight:500}.youtube-link{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;background:red;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:16px;transition:all .3s ease;box-shadow:0 4px 12px #ff00004d}.youtube-link:hover{background:#c00;transform:translateY(-2px);box-shadow:0 6px 20px #f006}.youtube-link svg{width:24px;height:24px}@media(max-width:768px){.video-section{padding:80px 0}.video-wrapper{border-radius:12px}.video-cta{margin-top:32px}.video-cta p{font-size:16px;margin-bottom:20px}.youtube-link{padding:14px 28px;font-size:15px}}@media(max-width:480px){.video-section{padding:60px 0}.video-wrapper{border-radius:8px}.video-cta p{font-size:14px;margin-bottom:16px}.youtube-link{padding:12px 24px;font-size:14px;gap:8px}.youtube-link svg{width:20px;height:20px}}.portfolio{padding:var(--spacing-32) 0;background-color:var(--bg-secondary)}.category-filters{display:flex;justify-content:center;gap:var(--spacing-3);margin-top:var(--spacing-8);flex-wrap:wrap;overflow-x:auto;padding:var(--spacing-2) 0}.category-filter{padding:var(--spacing-3) var(--spacing-6);background-color:transparent;color:var(--text-secondary);font-weight:500;font-size:.9375rem;border:1px solid var(--border-secondary);border-radius:24px;transition:all .3s ease;cursor:pointer;white-space:nowrap}.category-filter:hover{background-color:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary)}.category-filter.active{background-color:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.category-badge{position:absolute;top:var(--spacing-4);left:0;padding:.375rem .75rem;background-color:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.875rem;font-weight:600;border-radius:0 4px 4px 0;z-index:2;letter-spacing:.025em;border:1px solid rgba(255,255,255,.2);border-left:none}.portfolio-filters{display:flex;justify-content:center;gap:var(--spacing-4);margin-bottom:var(--spacing-16);flex-wrap:wrap}.filter-btn{padding:var(--spacing-3) var(--spacing-8);background-color:transparent;color:var(--text-primary);font-weight:500;border:1px solid var(--border-secondary);border-radius:2px;transition:all .3s ease}.filter-btn:hover{background-color:var(--bg-tertiary);border-color:var(--border-secondary)}.filter-btn.active{background-color:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-10)}.portfolio-item{background-color:var(--bg-primary);overflow:hidden;transition:all .3s ease}.portfolio-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.portfolio-item:hover{transform:translateY(-5px);box-shadow:0 15px 35px var(--border-primary)}.portfolio-image{position:relative;width:100%;height:280px;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);overflow:hidden}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.portfolio-item:hover .portfolio-image img{transform:scale(1.05)}.portfolio-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.portfolio-item:hover .portfolio-overlay{opacity:1}.view-project{color:var(--bg-primary);font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.portfolio-content{padding:var(--spacing-8)}.portfolio-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);gap:var(--spacing-4);flex-wrap:wrap}.portfolio-date{font-size:.875rem;font-weight:600;color:var(--accent-primary);letter-spacing:.025em}.portfolio-location{font-size:.875rem;color:var(--text-secondary);font-weight:500}.portfolio-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-3);color:var(--text-primary)}.portfolio-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--spacing-6)}.portfolio-tags{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.tag{padding:var(--spacing-1) .875rem;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;border-radius:2px;font-weight:500}@media(max-width:968px){.portfolio{padding:var(--spacing-24) 0}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-8)}.portfolio-filters{margin-bottom:var(--spacing-12)}}@media(max-width:768px){.portfolio{padding:var(--spacing-16) 0}.portfolio-grid{grid-template-columns:1fr;gap:var(--spacing-6)}.portfolio-filters{margin-bottom:var(--spacing-10);gap:var(--spacing-3)}.filter-btn{padding:.625rem var(--spacing-6);font-size:.875rem}.category-filters{justify-content:flex-start;gap:var(--spacing-2);margin-top:var(--spacing-6)}.category-filter{padding:var(--spacing-2) var(--spacing-5);font-size:.875rem}.category-badge{top:var(--spacing-3);left:0;padding:.25rem .625rem;font-size:.8125rem;border-radius:0 3px 3px 0}.portfolio-image{height:220px}.portfolio-content{padding:var(--spacing-6)}.portfolio-title{font-size:1.25rem}}.partners{padding:var(--spacing-32) 0;background-color:var(--bg-primary)}.partners-scroll-container{overflow:hidden;margin-bottom:var(--spacing-24);position:relative}.partners-scroll-track{display:flex;gap:var(--spacing-8);width:fit-content;animation:scroll-left 30s linear infinite;will-change:transform}.partners-scroll-track:hover{animation-play-state:paused}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.partner-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-10);background-color:var(--bg-secondary);transition:all .3s ease;cursor:pointer;border:1px solid var(--border-primary);min-width:280px;flex-shrink:0;gap:var(--spacing-4);text-decoration:none;color:inherit}.partner-card:hover{background-color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-5px);box-shadow:var(--shadow-lg)}.partner-card:hover .partner-name{color:var(--bg-primary)}.partner-card:hover .partner-category{color:var(--bg-primary);opacity:.8}.partner-card:hover .partner-logo-fallback{color:var(--bg-primary)}.partner-logo{width:100%;height:140px;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4)}.partner-logo-image{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.partner-card:hover .partner-logo-image{transform:scale(1.05)}.partner-logo-fallback{font-size:1.5rem;font-weight:700;color:var(--text-primary);transition:color .3s ease;text-align:center}.partner-info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);width:100%;text-align:center}.partner-name{font-size:1.125rem;font-weight:700;color:var(--text-primary);transition:color .3s ease;margin:0}.partner-description{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4;transition:color .3s ease}.partner-card:hover .partner-description{color:var(--bg-primary);opacity:.9}.partner-category{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease}.stats-section{padding:var(--spacing-16) 0;border-top:1px solid var(--border-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-12);text-align:center}.stat-item{padding:var(--spacing-8)}.stat-number{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-2);line-height:1}.stat-label{font-size:1rem;color:var(--text-secondary);font-weight:500}@media(max-width:968px){.partners{padding:var(--spacing-24) 0}.partners-scroll-container{margin-bottom:var(--spacing-16)}.partners-scroll-track{gap:var(--spacing-6)}.stats-grid{gap:var(--spacing-8)}}@media(max-width:768px){.partners{padding:var(--spacing-16) 0}.partners-scroll-container{margin-bottom:var(--spacing-12)}.partners-scroll-track{gap:var(--spacing-2)}.partner-card{padding:var(--spacing-5);min-width:180px}.partner-logo{height:90px}.partner-logo-fallback{font-size:1rem}.partner-name{font-size:.9375rem}.partner-description{font-size:.75rem}.partner-category{font-size:.625rem}.stats-section{padding:var(--spacing-12) 0}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-8)}.stat-item{padding:var(--spacing-4)}.stat-number{font-size:2rem}}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:16px 32px;border-radius:12px;box-shadow:0 8px 24px #0000004d;z-index:9999;max-width:90%;width:auto}.toast-message{margin:0;font-size:16px;line-height:1.5;text-align:center;white-space:nowrap}@media(max-width:768px){.toast{bottom:24px;padding:12px 24px;max-width:85%}.toast-message{font-size:14px;white-space:normal}}.contact{padding:var(--spacing-32) 0;background-color:var(--bg-secondary)}.contact-wrapper{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-20);align-items:start}.contact-info{position:sticky;top:120px}.contact-description{font-size:1.125rem;line-height:1.8;color:var(--text-secondary);margin-bottom:var(--spacing-12)}.contact-details{display:flex;flex-direction:column;gap:var(--spacing-8)}.contact-item{padding-bottom:var(--spacing-8);border-bottom:1px solid var(--border-primary)}.contact-item:last-child{border-bottom:none;padding-bottom:0}.contact-label{font-size:.875rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-2)}.contact-value{font-size:1.125rem;font-weight:500;color:var(--text-primary)}.contact-form{background-color:var(--bg-primary);padding:var(--spacing-12);border:1px solid var(--border-primary);box-shadow:var(--shadow-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.form-group{display:flex;flex-direction:column}.form-group label{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-2)}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-4);font-size:1rem;font-family:inherit;border:1px solid var(--border-primary);background-color:var(--bg-primary);color:var(--text-primary);transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 3px var(--shadow-sm)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-4) center;background-size:1.25rem;padding-right:var(--spacing-12)}.submit-btn{width:100%;padding:var(--spacing-5) var(--spacing-8);background-color:var(--accent-primary);color:var(--bg-primary);font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:all .3s ease;margin-top:var(--spacing-4)}.submit-btn:hover{background-color:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media(max-width:968px){.contact{padding:var(--spacing-24) 0}.contact-wrapper{grid-template-columns:1fr;gap:var(--spacing-12)}.contact-info{position:static}.contact-form{padding:var(--spacing-10)}}@media(max-width:768px){.contact{padding:var(--spacing-16) 0}.contact-wrapper{gap:var(--spacing-10)}.contact-form{padding:var(--spacing-8)}.form-row{grid-template-columns:1fr;gap:var(--spacing-6)}.contact-description{font-size:1rem;margin-bottom:var(--spacing-8)}.contact-details{gap:var(--spacing-6)}.contact-item{padding-bottom:var(--spacing-6)}}.faq{padding:80px 0;background:linear-gradient(135deg,#f8f9fa,#fff)}.faq .section-header{text-align:center;margin-bottom:48px}.faq .section-title{font-size:2.5rem;font-weight:700;margin-bottom:16px;color:#1a1a1a}.faq .section-subtitle{font-size:1.125rem;color:#6b7280;max-width:600px;margin:0 auto}.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d;transition:box-shadow .3s ease}.faq-item:hover,.faq-item.open{box-shadow:0 4px 16px #0000001a}.faq-question{width:100%;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.faq-question:hover,.faq-item.open .faq-question{background-color:#f9fafb}.question-text{flex:1;font-size:1.125rem;font-weight:600;color:#1a1a1a;line-height:1.5}.faq-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:300;color:#6b7280;background-color:#f3f4f6;border-radius:50%;transition:all .3s ease}.faq-item.open .faq-icon{background-color:#1a1a1a;color:#fff;transform:rotate(180deg)}.faq-answer{overflow:hidden}.answer-content{padding:0 24px 24px}.answer-content p{font-size:1rem;line-height:1.7;color:#4b5563;margin:0}.faq-contact{text-align:center;margin-top:64px;padding:40px;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:16px;box-shadow:0 8px 32px #0000001a}.faq-contact-text{font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:24px}.faq-contact-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.faq-contact-buttons .btn-primary,.faq-contact-buttons .btn-secondary{padding:14px 32px;font-size:1rem;font-weight:600;border-radius:8px;text-decoration:none;transition:all .3s ease;display:inline-block}.faq-contact-buttons .btn-primary{background-color:#fff;color:#1a1a1a;border:2px solid #ffffff}.faq-contact-buttons .btn-primary:hover{background-color:transparent;color:#fff;transform:translateY(-2px)}.faq-contact-buttons .btn-secondary{background-color:transparent;color:#fff;border:2px solid #ffffff}.faq-contact-buttons .btn-secondary:hover{background-color:#fff;color:#1a1a1a;transform:translateY(-2px)}@media(max-width:768px){.faq{padding:60px 0}.faq .section-title{font-size:2rem}.faq .section-subtitle{font-size:1rem}.faq-question{padding:20px}.question-text{font-size:1rem}.faq-icon{width:28px;height:28px;font-size:20px}.answer-content{padding:0 20px 20px}.answer-content p{font-size:.9375rem}.faq-contact{margin-top:48px;padding:32px 24px}.faq-contact-text{font-size:1.125rem}.faq-contact-buttons{flex-direction:column;align-items:stretch}.faq-contact-buttons .btn-primary,.faq-contact-buttons .btn-secondary{width:100%;text-align:center}}@media(max-width:480px){.faq .section-title{font-size:1.75rem}.question-text{font-size:.9375rem}}.membership-page{padding-top:var(--spacing-16)}.membership-hero{padding:var(--spacing-24) 0 var(--spacing-16);text-align:center;background-color:var(--bg-primary)}.membership-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:var(--spacing-6);color:var(--text-primary)}.membership-subtitle{font-size:1.25rem;line-height:1.8;color:var(--text-secondary);max-width:600px;margin:0 auto}.membership-benefits{padding:var(--spacing-24) 0;background-color:var(--bg-secondary)}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-8);margin-top:var(--spacing-12)}.benefit-card{padding:var(--spacing-10);background-color:var(--bg-primary);border:1px solid var(--border-primary);transition:all .3s ease}.benefit-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.benefit-number{font-size:2.5rem;font-weight:700;color:var(--border-secondary);margin-bottom:var(--spacing-4);line-height:1}.benefit-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-3);color:var(--text-primary)}.benefit-description{font-size:1rem;line-height:1.7;color:var(--text-secondary)}.membership-tiers{padding:var(--spacing-24) 0;background-color:var(--bg-primary)}.tiers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-8);margin-top:var(--spacing-12)}.tier-card{position:relative;padding:var(--spacing-10);background-color:var(--bg-secondary);border:2px solid var(--border-primary);transition:all .3s ease;text-align:center}.tier-card.featured{border-color:var(--accent-primary)}.tier-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.tier-card.featured:hover{transform:translateY(-8px) scale(1.05)}.tier-name{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-6);color:var(--text-primary)}.tier-price{margin-bottom:var(--spacing-8);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.original-price{font-size:1.125rem;font-weight:500;color:var(--text-tertiary);text-decoration:line-through;opacity:.6}.tier-price .price{font-size:2.5rem;font-weight:700;color:var(--text-primary)}.tier-price .period{font-size:1rem;color:var(--text-secondary);margin-left:var(--spacing-2)}.tier-features{list-style:none;margin-bottom:var(--spacing-8);text-align:left}.tier-features li{padding:var(--spacing-3) 0;border-bottom:1px solid var(--border-primary);color:var(--text-secondary);font-size:.95rem}.tier-features li:first-child{border-top:1px solid var(--border-primary)}.tier-btn{width:100%;padding:var(--spacing-4) var(--spacing-8);background-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;border-radius:2px;transition:all .3s ease}.tier-btn:hover{background-color:var(--accent-secondary);transform:translateY(-2px)}.tier-card.featured .tier-btn{background-color:var(--text-primary)}.membership-cta{padding:var(--spacing-24) 0;background-color:var(--accent-primary);text-align:center;color:var(--bg-primary)}.cta-description{font-size:1.125rem;margin-bottom:var(--spacing-8);opacity:.9}.cta-button{padding:var(--spacing-4) var(--spacing-12);background-color:var(--bg-primary);color:var(--text-primary);font-weight:600;border-radius:2px;transition:all .3s ease}@media(max-width:968px){.membership-hero{padding:var(--spacing-20) 0 var(--spacing-12)}.membership-benefits,.membership-tiers,.membership-cta{padding:var(--spacing-20) 0}.benefits-grid,.tiers-grid{gap:var(--spacing-6)}.tier-card.featured:hover{transform:translateY(-8px) scale(1.05)}}@media(max-width:768px){.membership-hero{padding:var(--spacing-16) 0 var(--spacing-10)}.membership-benefits,.membership-tiers,.membership-cta{padding:var(--spacing-16) 0}.benefits-grid,.tiers-grid{grid-template-columns:1fr;gap:var(--spacing-5)}.benefit-card,.tier-card{padding:var(--spacing-6)}}.studio-page{padding-top:var(--spacing-16)}.studio-hero{padding:var(--spacing-24) 0 var(--spacing-16);text-align:center;background-color:var(--bg-primary)}.studio-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;margin-bottom:var(--spacing-6);color:var(--text-primary)}.studio-subtitle{font-size:1.25rem;line-height:1.8;color:var(--text-secondary);max-width:600px;margin:0 auto}.studio-lessons{padding:var(--spacing-24) 0;background-color:var(--bg-secondary)}.section-description{text-align:center;font-size:1.125rem;line-height:1.8;color:var(--text-secondary);max-width:700px;margin:var(--spacing-6) auto var(--spacing-12)}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-8);margin-bottom:var(--spacing-12)}.lesson-card{position:relative;padding:var(--spacing-10);background-color:var(--bg-primary);border:2px solid var(--border-primary);transition:all .3s ease}.lesson-card.featured{border-color:var(--accent-primary)}.lesson-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.lesson-card.featured:hover{transform:translateY(-8px) scale(1.05)}.lesson-level{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background-color:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--spacing-4)}.lesson-title{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-6);color:var(--text-primary)}.lesson-price{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.price-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.original-price{font-size:1rem;font-weight:500;color:var(--text-tertiary);text-decoration:line-through;opacity:.6}.lesson-price .price{font-size:2rem;font-weight:700;color:var(--text-primary)}.lesson-price .period{font-size:1rem;color:var(--text-secondary);margin-left:var(--spacing-2)}.discount-badge{position:absolute;top:var(--spacing-16);left:50%;transform:translate(-50%);padding:var(--spacing-2) var(--spacing-4);background-color:var(--accent-secondary);color:var(--bg-primary);font-size:.875rem;font-weight:700;border-radius:20px;box-shadow:0 4px 12px #00000026;z-index:10}.featured-badge{position:absolute;top:var(--spacing-4);right:var(--spacing-4);padding:var(--spacing-1) var(--spacing-3);background-color:var(--accent-primary);color:var(--bg-primary);font-size:.75rem;font-weight:700;letter-spacing:.05em}.lesson-features{list-style:none;margin-bottom:var(--spacing-8)}.lesson-features li{padding:var(--spacing-3) 0;padding-left:var(--spacing-6);color:var(--text-secondary);font-size:.95rem;position:relative}.lesson-features li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.lesson-btn{width:100%;padding:var(--spacing-4) var(--spacing-8);background-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;border-radius:2px;transition:all .3s ease}.lesson-btn:hover{background-color:var(--accent-secondary);transform:translateY(-2px)}.lesson-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-8);padding:var(--spacing-10);background-color:var(--bg-primary);border:1px solid var(--border-primary)}.info-item h4{font-size:1.125rem;font-weight:700;margin-bottom:var(--spacing-2);color:var(--text-primary)}.info-item p{color:var(--text-secondary);font-size:.95rem}.studio-rental{padding:var(--spacing-24) 0;background-color:var(--bg-primary)}.rental-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-8);margin-bottom:var(--spacing-12)}.rental-card{position:relative;padding:var(--spacing-8);background-color:var(--bg-secondary);border:1px solid var(--border-primary);transition:all .3s ease}.rental-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.rental-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-6);color:var(--text-primary)}.rental-image-placeholder{height:200px;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-6);font-size:1.5rem;font-weight:700;color:var(--text-tertiary)}.rental-specs{list-style:none;margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--border-primary)}.rental-specs li{padding:var(--spacing-2) 0;color:var(--text-secondary);font-size:.95rem;padding-left:var(--spacing-5);position:relative}.rental-specs li:before{content:"•";position:absolute;left:0;color:var(--text-tertiary)}.rental-price{margin-bottom:var(--spacing-6);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.rental-price .price{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.rental-price .period{font-size:.95rem;color:var(--text-secondary);margin-left:var(--spacing-2)}.rental-btn{width:100%;padding:var(--spacing-3) var(--spacing-6);background-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;border-radius:2px;transition:all .3s ease}.rental-btn:hover{background-color:var(--accent-secondary);transform:translateY(-2px)}.rental-info{padding:var(--spacing-10);background-color:var(--bg-secondary);border:1px solid var(--border-primary)}.rental-info h3{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-6);color:var(--text-primary)}.rental-info ul{list-style:none}.rental-info ul li{padding:var(--spacing-3) 0;padding-left:var(--spacing-6);color:var(--text-secondary);position:relative}.rental-info ul li:before{content:"✓";position:absolute;left:0;color:var(--accent-primary);font-weight:700}.studio-facility{padding:var(--spacing-24) 0;background-color:var(--bg-secondary)}.facility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-8);margin-top:var(--spacing-12)}.facility-card{padding:var(--spacing-8);background-color:var(--bg-primary);border:1px solid var(--border-primary);text-align:center;transition:all .3s ease}.facility-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.facility-card h3{font-size:1.25rem;font-weight:700;margin-bottom:var(--spacing-4);color:var(--text-primary)}.facility-card p{color:var(--text-secondary);font-size:.95rem;margin-bottom:var(--spacing-2)}.facility-price{font-size:1.25rem;font-weight:700;color:var(--accent-primary);margin-top:var(--spacing-4)}.studio-cta{padding:var(--spacing-24) 0;background-color:var(--accent-primary);text-align:center;color:var(--bg-primary)}.cta-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:var(--spacing-4);color:var(--bg-primary)}.cta-description{font-size:1.125rem;margin-bottom:var(--spacing-8);opacity:.9;line-height:1.8}.cta-buttons{display:flex;gap:var(--spacing-4);justify-content:center;flex-wrap:wrap}.cta-button{padding:var(--spacing-4) var(--spacing-10);font-weight:600;border-radius:2px;transition:all .3s ease}.cta-button.primary{background-color:var(--bg-primary);color:var(--text-primary)}.cta-button.secondary{background-color:transparent;color:var(--bg-primary);border:2px solid var(--bg-primary)}.cta-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media(max-width:968px){.studio-hero{padding:var(--spacing-20) 0 var(--spacing-12)}.studio-lessons,.studio-rental,.studio-facility,.studio-cta{padding:var(--spacing-20) 0}.lessons-grid,.rental-grid,.facility-grid{gap:var(--spacing-6)}.lesson-card.featured:hover{transform:translateY(-8px) scale(1.05)}}@media(max-width:768px){.studio-hero{padding:var(--spacing-16) 0 var(--spacing-10)}.studio-lessons,.studio-rental,.studio-facility,.studio-cta{padding:var(--spacing-16) 0}.lessons-grid,.rental-grid,.facility-grid,.lesson-info{grid-template-columns:1fr;gap:var(--spacing-5)}.lesson-card,.rental-card,.facility-card{padding:var(--spacing-6)}.cta-buttons{flex-direction:column}.cta-button{width:100%}}.dining-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:box-shadow .3s ease}.dining-card:hover{box-shadow:0 8px 24px #0000001f}.dining-card-image-wrapper{position:relative;width:100%;padding-bottom:66.67%;overflow:hidden}.dining-card-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.dining-card:hover .dining-card-image{transform:scale(1.05)}.dining-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.dining-card:hover .dining-card-overlay{opacity:1}.dining-card-view-more{color:#fff;font-size:1rem;font-weight:600;letter-spacing:.05em}.dining-card-content{padding:24px}.dining-card-title{font-size:1.5rem;font-weight:700;margin-bottom:8px;color:#000}.dining-card-date{font-size:.875rem;color:#999;margin-bottom:12px}.dining-card-description{font-size:1rem;line-height:1.6;color:#666}@media(max-width:768px){.dining-card-title{font-size:1.25rem}.dining-card-content{padding:20px}}.dining-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.dining-modal-content{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;margin:auto}.dining-modal-close{position:absolute;top:24px;right:24px;background:#00000080;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s ease;z-index:10}.dining-modal-close:hover{background:#000000b3}.dining-modal-header{padding:40px 40px 24px;border-bottom:1px solid #eeeeee}.dining-modal-title{font-size:2rem;font-weight:700;margin-bottom:8px;color:#000}.dining-modal-date{font-size:1rem;color:#999}.dining-modal-body{padding:32px 40px 40px}.dining-modal-storytelling{margin-top:32px}.dining-modal-storytelling h3{font-size:1.25rem;font-weight:600;margin-bottom:12px;color:#000}.dining-modal-storytelling p{font-size:1rem;line-height:1.8;color:#333}.dining-modal-menu-image{width:100%;border-radius:8px;box-shadow:0 4px 12px #0000001a}@media(max-width:768px){.dining-modal-backdrop{padding:0;align-items:flex-end}.dining-modal-content{max-height:95vh;border-radius:16px 16px 0 0;margin:0}.dining-modal-close{top:16px;right:16px;width:36px;height:36px}.dining-modal-header{padding:32px 24px 20px}.dining-modal-title{font-size:1.5rem}.dining-modal-body{padding:24px}.dining-modal-storytelling h3{font-size:1.125rem}}.dining-archive{min-height:100vh;background:#fff}.dining-hero{min-height:100vh;padding:140px 0 100px;background:#000;color:#fff;text-align:center;display:flex;align-items:center}.dining-hero-content{display:flex;flex-direction:column;align-items:center;gap:16px}.dining-logo{width:400px;height:auto;margin:0 0 32px}.dining-title{font-size:3rem;font-weight:700;margin-bottom:16px;letter-spacing:.1em;color:#fff}.dining-brand-statement{font-size:1.375rem;line-height:1.8;margin-bottom:24px;color:#fff;font-weight:500;white-space:nowrap}.dining-subtitle{font-size:1.25rem;margin-bottom:8px;color:#cfcfcf}.dining-period{font-size:1rem;color:#999;letter-spacing:.05em}.dining-content{padding:80px 0}.dining-intro{text-align:center;max-width:800px;margin:0 auto 80px}.dining-intro h2{font-size:2rem;font-weight:700;margin-bottom:1.5rem;color:#000}.dining-intro p{font-size:1.125rem;line-height:1.8;color:#666}.dining-events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;margin-top:48px}@media(max-width:768px){.dining-hero{padding:100px 0 60px}.dining-logo{width:240px;margin:0 0 24px}.dining-title{font-size:2rem}.dining-brand-statement{font-size:1.125rem;padding:0 20px}.dining-subtitle{font-size:1rem}.dining-period{font-size:.875rem}.dining-events-grid{grid-template-columns:1fr;gap:24px}.dining-intro h2{font-size:1.5rem}.dining-intro p{font-size:1rem}}.image-gallery{position:relative;width:100%}.image-gallery-container{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.image-gallery-container::-webkit-scrollbar{display:none}.image-gallery-track{display:flex;gap:var(--spacing-6);padding:var(--spacing-2) 0}.image-gallery-item{flex:0 0 auto;width:400px;height:300px;border-radius:2px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:var(--bg-tertiary);box-shadow:var(--shadow-md)}.image-gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.image-gallery-item:focus{outline:2px solid var(--accent-primary);outline-offset:4px}.image-gallery-image{width:100%;height:100%;object-fit:cover}.image-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:var(--bg-primary);border:2px solid var(--border-secondary);border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s ease;box-shadow:var(--shadow-md)}.image-gallery-nav:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-50%) scale(1.05);box-shadow:var(--shadow-lg)}.image-gallery-nav:hover svg{color:var(--bg-primary)}.image-gallery-nav:active{transform:translateY(-50%) scale(.95)}.image-gallery-nav svg{color:var(--text-primary);transition:color .3s ease}.image-gallery-nav-left{left:calc(-1 * var(--spacing-6))}.image-gallery-nav-right{right:calc(-1 * var(--spacing-6))}@media(max-width:1024px){.image-gallery-nav-left{left:var(--spacing-2)}.image-gallery-nav-right{right:var(--spacing-2)}}@media(max-width:768px){.image-gallery-item{width:300px;height:225px}.image-gallery-track{gap:var(--spacing-4)}.image-gallery-nav{width:40px;height:40px}.image-gallery-nav svg{width:20px;height:20px}}@media(max-width:480px){.image-gallery-item{width:260px;height:195px}.image-gallery-track{gap:var(--spacing-3)}.image-gallery-nav{width:36px;height:36px}}.image-lightbox-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center}.image-lightbox-close{position:absolute;top:var(--spacing-6);right:var(--spacing-6);width:48px;height:48px;background:var(--bg-primary);border:2px solid var(--border-secondary);border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001}.image-lightbox-close:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.05)}.image-lightbox-close:hover svg{color:var(--bg-primary)}.image-lightbox-close svg{color:var(--text-primary);transition:color .3s ease}.image-lightbox-content{position:relative;width:90%;height:90%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-10)}.image-lightbox-image-wrapper{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.image-lightbox-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:2px;box-shadow:var(--shadow-lg)}.image-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;background:var(--bg-primary);border:2px solid var(--border-secondary);border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10001}.image-lightbox-nav:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-50%) scale(1.05)}.image-lightbox-nav:hover svg{color:var(--bg-primary)}.image-lightbox-nav:active{transform:translateY(-50%) scale(.95)}.image-lightbox-nav svg{color:var(--text-primary);transition:color .3s ease}.image-lightbox-nav-prev{left:var(--spacing-10)}.image-lightbox-nav-next{right:var(--spacing-10)}.image-lightbox-counter{position:absolute;bottom:var(--spacing-8);left:50%;transform:translate(-50%);padding:var(--spacing-3) var(--spacing-6);background:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-weight:600;border-radius:2px;z-index:10001;border:2px solid var(--border-secondary)}@media(max-width:768px){.image-lightbox-close{top:var(--spacing-4);right:var(--spacing-4);width:40px;height:40px}.image-lightbox-close svg{width:24px;height:24px}.image-lightbox-content{width:95%;height:95%;gap:var(--spacing-5)}.image-lightbox-nav{width:44px;height:44px}.image-lightbox-nav svg{width:24px;height:24px}.image-lightbox-nav-prev{left:var(--spacing-4)}.image-lightbox-nav-next{right:var(--spacing-4)}.image-lightbox-counter{bottom:var(--spacing-6);padding:var(--spacing-2) var(--spacing-5);font-size:.875rem}}@media(max-width:480px){.image-lightbox-nav{width:36px;height:36px}.image-lightbox-nav svg{width:20px;height:20px}.image-lightbox-nav-prev{left:var(--spacing-2)}.image-lightbox-nav-next{right:var(--spacing-2)}}.portfolio-detail{min-height:100vh;background:var(--bg-primary);padding-top:80px}.portfolio-detail-hero{padding:var(--spacing-16) 0}.portfolio-detail-header{margin-bottom:var(--spacing-8)}.portfolio-detail-category{display:inline-block;padding:var(--spacing-2) var(--spacing-4);background:var(--accent-primary);color:var(--bg-primary);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:2px;margin-bottom:var(--spacing-6)}.portfolio-detail-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2;color:var(--text-primary);margin-bottom:var(--spacing-4)}.portfolio-detail-meta{display:flex;align-items:center;gap:var(--spacing-3);font-size:1rem;color:var(--text-secondary);font-weight:500}.portfolio-detail-date{color:var(--accent-primary);font-weight:600;letter-spacing:.025em}.portfolio-detail-location{color:var(--text-secondary)}.portfolio-detail-separator{color:var(--border-secondary)}.portfolio-detail-description-wrapper{margin-bottom:var(--spacing-8);max-width:800px}.portfolio-detail-description{font-size:1.125rem;line-height:1.7;color:var(--text-secondary)}.portfolio-detail-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.portfolio-detail-tag{padding:var(--spacing-1) .875rem;background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;font-weight:500;border-radius:2px;transition:all .3s ease}.portfolio-detail-tag:hover{background:var(--border-secondary)}.portfolio-detail-video{padding:var(--spacing-16) 0;background:var(--bg-secondary)}.portfolio-detail-video-wrapper{position:relative;width:100%;padding-bottom:56.25%;border-radius:2px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--bg-tertiary)}.portfolio-detail-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.portfolio-detail-gallery-section{padding:var(--spacing-16) 0;background:var(--bg-secondary)}.portfolio-detail-gallery-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-8)}@media(max-width:968px){.portfolio-detail{padding-top:70px}.portfolio-detail-hero,.portfolio-detail-video,.portfolio-detail-gallery-section{padding:var(--spacing-12) 0}}@media(max-width:768px){.portfolio-detail{padding-top:60px}.portfolio-detail-hero{padding:var(--spacing-10) 0}.portfolio-detail-title{font-size:2rem}.portfolio-detail-description{font-size:1rem}.portfolio-detail-video,.portfolio-detail-gallery-section{padding:var(--spacing-10) 0}.portfolio-detail-gallery-title{font-size:1.5rem}}.app{width:100%;min-height:100vh;display:flex;flex-direction:column}main{flex:1}
