:root{--color-primary: #2d1810;--color-secondary: #4a2c1a;--color-accent: #8b6f47;--color-background: #1a1410;--color-surface: #2a2218;--color-text: #e8dcc4;--color-text-secondary: #c4b5a0;--color-border: #4a3c2a;--color-hover: #5e4430;--color-teal: #6b8e4e;--color-teal-light: #7fa85f;--color-mustard: #d4a017;--color-mustard-light: #e6b830;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-background)}a{font-weight:500;color:var(--color-accent);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:Georgia,Garamond,serif;color:var(--color-text);font-weight:600;letter-spacing:.5px}h1{font-size:2.5em;line-height:1.2;margin-bottom:1rem}h2{font-size:2em;line-height:1.3;margin-bottom:.875rem}h3{font-size:1.5em;line-height:1.4;margin-bottom:.75rem}p{margin-bottom:1rem;color:var(--color-text-secondary)}button{border-radius:4px;border:1px solid var(--color-teal);padding:.5rem 1rem;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-teal);color:var(--color-text);cursor:pointer;transition:all .3s ease}button:hover{background-color:var(--color-teal-light);border-color:var(--color-teal-light)}button:focus,button:focus-visible{outline:2px solid var(--color-mustard);outline-offset:2px}#root{width:100%;min-height:100vh}.navigation{background-color:var(--color-primary);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.nav-brand{display:flex;flex-direction:column;text-decoration:none}.brand-name{font-size:1.25rem;font-weight:600;color:var(--color-text);letter-spacing:.5px;font-family:Georgia,Garamond,serif}.brand-tagline{font-size:.75rem;color:var(--color-mustard);letter-spacing:1px;text-transform:uppercase}.nav-links{display:flex;list-style:none;gap:.5rem;margin:0;padding:0}.nav-links li{margin:0}.nav-links a{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;color:var(--color-text-secondary);text-decoration:none;border-radius:4px;transition:all .3s ease;font-size:.9375rem}.nav-links a:hover{background-color:var(--color-secondary);color:var(--color-text)}.nav-links a.active{background-color:var(--color-teal);color:var(--color-text)}.nav-icon{width:1rem;height:1rem}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--color-text);cursor:pointer;padding:.5rem;margin:0;margin-right:-1rem}.mobile-menu-toggle:hover{background-color:var(--color-secondary);border-radius:4px}@media(max-width:768px){.nav-container{position:relative}.mobile-menu-toggle{display:block}.nav-links{position:absolute;top:100%;right:0;background-color:var(--color-primary);border:1px solid var(--color-border);border-radius:4px;margin-top:.5rem;flex-direction:column;gap:0;padding:.5rem;min-width:200px;box-shadow:0 4px 12px #0000004d;display:none}.nav-links.mobile-open{display:flex}.nav-links li{width:100%}.nav-links a{width:100%;justify-content:flex-start;padding:.75rem 1rem}.brand-name{font-size:1.125rem}.brand-tagline{font-size:.7rem}}.footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:#8a8272}.footer-left,.footer-right{line-height:1.5}@media(max-width:768px){.footer-container{flex-direction:column;gap:.5rem;text-align:center}}.home{width:100%}.hero{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;border-bottom:1px solid var(--color-border)}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-primary) 50%,var(--color-background) 100%);z-index:0}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#1a1410a6;z-index:1}.hero-content{position:relative;z-index:2;padding:4rem 2rem}.hero-content h1{font-size:3rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.7)}.tagline{font-size:1.25rem;color:var(--color-mustard);text-shadow:1px 1px 3px rgba(0,0,0,.7)}.artist-name{font-family:Georgia,Garamond,serif;font-size:1.375rem;color:var(--color-text);margin-top:1.5rem;font-style:italic;letter-spacing:1px}.image-placeholder{background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:4px;padding:3rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.image-placeholder .icon{width:5rem;height:5rem}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:4rem 2rem;max-width:1200px;margin:0 auto}.feature-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:2rem 1.5rem;text-align:center;transition:transform .3s ease,border-color .3s ease}.feature-card:hover{transform:translateY(-4px);border-color:var(--color-teal)}.feature-icon{width:2.5rem;height:2.5rem;color:var(--color-mustard);margin-bottom:1rem}.feature-card:nth-child(2) .feature-icon{color:var(--color-teal)}.feature-card:nth-child(3) .feature-icon{color:var(--color-mustard-light)}.feature-card h3{margin-bottom:.5rem}.showcase{padding:4rem 2rem;background-color:var(--color-surface);border-top:1px solid var(--color-border)}.showcase h2{text-align:center;margin-bottom:2rem}.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.showcase-item{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;transition:transform .3s ease}.showcase-item:hover{transform:scale(1.02)}.showcase-item .image-placeholder{min-height:250px;border-radius:0;border:none;border-bottom:1px solid var(--color-border)}.showcase-item h4{padding:1rem;text-align:center}.about{width:100%}.about-hero{padding:3rem 2rem;text-align:center;background:linear-gradient(to bottom,var(--color-secondary),var(--color-background));border-bottom:1px solid var(--color-border)}.about-hero h1{margin-bottom:.5rem}.subtitle{font-size:1.125rem;color:var(--color-mustard)}.about-content{max-width:1000px;margin:0 auto;padding:3rem 2rem;display:grid;grid-template-columns:1fr;gap:2rem}.about-image-placeholder{background-color:var(--color-surface);border:2px dashed var(--color-teal);border-radius:4px;padding:3rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);min-height:400px}.about-image-placeholder .icon{width:6rem;height:6rem;color:var(--color-teal)}.about-text h2{margin-top:2rem;margin-bottom:1rem;padding-left:1rem;border-left:4px solid var(--color-teal);color:var(--color-text)}.about-text h2:first-of-type{margin-top:0}.about-text p{line-height:1.8;margin-bottom:1rem}@media(min-width:768px){.about-content{grid-template-columns:1fr 1.5fr}.about-image-placeholder{position:sticky;top:2rem;height:fit-content}}.gallery{width:100%}.gallery-hero{padding:3rem 2rem;text-align:center;background:linear-gradient(to bottom,var(--color-secondary),var(--color-background));border-bottom:1px solid var(--color-border)}.gallery-hero h1{margin-bottom:.5rem}.gallery-content{max-width:1200px;margin:0 auto;padding:2rem}.gallery-section{margin-bottom:4rem}.gallery-section h2{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.section-icon{width:1.5rem;height:1.5rem;color:var(--color-teal)}.gallery-section:nth-child(2) .section-icon{color:var(--color-mustard)}.gallery-section:nth-child(3) .section-icon{color:var(--color-teal-light)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.gallery-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000004d}.gallery-item .image-placeholder{min-height:250px;border-radius:0;border:none;border-bottom:1px solid var(--color-border);background-color:var(--color-background);display:flex;align-items:center;justify-content:center}.gallery-item .icon{width:5rem;height:5rem;color:var(--color-text-secondary)}.item-info{padding:1rem}.item-info h4{margin-bottom:.25rem;font-size:1.125rem}.item-info p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.classes{width:100%}.classes-hero{padding:3rem 2rem;text-align:center;background:linear-gradient(to bottom,var(--color-secondary),var(--color-background));border-bottom:1px solid var(--color-border)}.classes-hero h1{margin-bottom:.5rem}.classes-content{max-width:1200px;margin:0 auto;padding:3rem 2rem}.workshop-overview{margin-bottom:4rem}.main-workshop{max-width:800px;margin:0 auto}.main-workshop h2{font-size:1.875rem;margin-bottom:.75rem}.skills-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.skills-section h3{margin-bottom:1rem;color:var(--color-teal);font-size:1.25rem}.skills-list{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem;padding:0;margin:0}.skills-list li{background-color:var(--color-background);color:var(--color-text);padding:.5rem 1rem;border-radius:4px;border:1px solid var(--color-teal);font-size:.9375rem;font-weight:500}.upcoming-sessions{margin-bottom:4rem}.upcoming-sessions h2{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border);color:var(--color-mustard)}.sessions-list{display:flex;flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto}.session-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1.5rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;transition:transform .3s ease,border-color .3s ease}.session-item:hover{transform:translate(4px);border-color:var(--color-teal)}.session-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-background);border:2px solid var(--color-teal);border-radius:4px;padding:.75rem 1rem;min-width:80px}.session-date .month{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-teal);font-weight:600}.session-date .day{font-size:2rem;font-weight:700;color:var(--color-text);line-height:1;font-family:Georgia,Garamond,serif}.session-info{flex:1}.session-info h3{margin-bottom:.5rem;font-size:1.375rem;color:var(--color-text)}.session-details{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.session-info p{margin:0;font-size:.9375rem;color:var(--color-text-secondary)}.session-item button{align-self:center;padding:.625rem 1.5rem;white-space:nowrap}@media(max-width:768px){.session-item{grid-template-columns:auto 1fr;gap:1rem}.session-item button{grid-column:1 / -1;width:100%}}.class-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1.5rem;display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease}.class-card:hover{transform:translateY(-4px);border-color:var(--color-teal)}.class-header{margin-bottom:1rem}.class-header h3{margin-bottom:.5rem;font-size:1.375rem}.class-level{display:inline-block;background-color:var(--color-background);color:var(--color-mustard);padding:.25rem .75rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.class-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.class-detail{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.detail-icon{width:1rem;height:1rem;color:var(--color-teal);flex-shrink:0}.class-card p{flex:1;margin-bottom:1.5rem;line-height:1.7}.class-card button{align-self:flex-start;padding:.625rem 1.25rem}.class-info-section{margin-bottom:3rem}.class-info-section h2{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border);color:var(--color-mustard)}.section-icon{width:1.5rem;height:1.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1.5rem}.info-card h4{margin-bottom:.5rem;color:var(--color-teal);font-size:1.125rem}.info-card p{margin:0;font-size:.9375rem;line-height:1.6}.registration-cta{background:linear-gradient(to bottom,var(--color-surface),var(--color-background));border:2px solid var(--color-border);border-radius:4px;padding:3rem 2rem;text-align:center}.registration-cta h3{margin-bottom:.75rem;font-size:1.75rem}.registration-cta p{margin-bottom:1.5rem;font-size:1.125rem;color:var(--color-text-secondary)}.registration-cta button{padding:.875rem 2rem;font-size:1.0625rem}.contact{width:100%}.contact-hero{padding:3rem 2rem;text-align:center;background:linear-gradient(to bottom,var(--color-secondary),var(--color-background));border-bottom:1px solid var(--color-border)}.contact-hero h1{margin-bottom:.5rem}.contact-content{max-width:1200px;margin:0 auto;padding:3rem 2rem;display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:768px){.contact-content{grid-template-columns:1fr 1.5fr}}.contact-info h2{margin-bottom:1.5rem;color:var(--color-accent)}.info-group{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.info-item{display:flex;gap:1rem;align-items:flex-start}.info-icon{width:1.25rem;height:1.25rem;color:var(--color-accent);flex-shrink:0;margin-top:.25rem}.info-item h4{margin-bottom:.25rem;font-size:1rem}.info-item p{margin:0;color:var(--color-text-secondary);font-size:.9375rem}.studio-hours{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1.5rem;margin-top:2rem}.studio-hours h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1.125rem}.studio-hours p{margin-bottom:.5rem}.hours-note{font-size:.875rem;color:var(--color-text-secondary)}.contact-form-section h2{margin-bottom:1rem;color:var(--color-accent)}.contact-form-section>p{margin-bottom:2rem}.form-icon{width:2rem;height:2rem;color:var(--color-accent);margin-bottom:1rem}.contact-form-placeholder{background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:4px;padding:2rem;text-align:center}.contact-form-placeholder h3{margin-bottom:.75rem}.contact-form-placeholder p{margin-bottom:1.5rem;color:var(--color-text-secondary)}.contact-form-placeholder button{padding:.75rem 2rem;font-size:1rem}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
