:root{--color-terracotta:#c86b4d;--color-terracotta-dark:#b0573e;--color-clay:#f4ece4;--color-clay-dark:#e8dbcc;--color-charcoal:#2c2c2c;--color-charcoal-light:#4a4a4a;--color-sage:#8a9a86;--color-sage-light:#a3b2a0;--color-white:#fff;--color-glass:#ffffffa6;--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--font-primary:"";--border-radius:12px;--border-radius-lg:24px;--shadow-sm:0 4px 6px #0000000d;--shadow-md:0 10px 25px #00000014;--shadow-glass:0 8px 32px 0 #1f268712;--transition:all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary,var(--font-body));color:var(--color-charcoal);background-color:var(--color-white);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary,var(--font-heading));color:var(--color-charcoal);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 2rem}@media (width<=768px){.container{padding:0 1rem}}.glass-panel{background:var(--color-glass);-webkit-backdrop-filter:blur(16px);border-radius:var(--border-radius);box-shadow:var(--shadow-glass);will-change:transform;border:1px solid #ffffff2e;transform:translateZ(0)}.btn{font-family:var(--font-heading);cursor:pointer;transition:var(--transition);text-align:center;border:none;border-radius:50px;padding:.8rem 1.8rem;font-size:1rem;font-weight:500;display:inline-block}.btn-primary{background-color:var(--color-terracotta);color:var(--color-white);box-shadow:0 4px 15px var(--brand-color-glow,#c86b4d4d)}.btn-primary:hover{background-color:var(--color-terracotta-dark);box-shadow:0 6px 20px var(--brand-color-glow,#c86b4d66);transform:translateY(-2px)}.btn-secondary{color:var(--color-terracotta);border:2px solid var(--color-terracotta);background-color:#0000}.btn-secondary:hover{background-color:var(--color-terracotta);color:var(--color-white)}.section-padding{padding:6rem 0}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.fade-in-up{opacity:1;animation:.8s ease-out forwards fadeInUp;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.zoom-hover{transition:transform .5s}.zoom-hover:hover{transform:scale(1.03)}.parallax-page{background-position:50%;background-size:cover;background-attachment:fixed;min-height:100vh;position:relative}.parallax-overlay{z-index:1;pointer-events:none;background:#00000040;position:absolute;inset:0}.home-parallax-bg{background-position:50%;background-size:cover;background-attachment:fixed}.home-sections-wrapper{background-color:var(--color-white);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;z-index:2;width:90%;max-width:1200px;margin:0 auto;position:relative;box-shadow:0 -8px 40px #0003}.fixed-background{z-index:-1;will-change:transform;background-position:50%;background-size:cover;width:100vw;height:100vh;position:fixed;top:0;left:0;transform:translateZ(0)}.global-loader{background-color:var(--color-bg,#fff);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner{border:3px solid #0000001a;border-top-color:var(--color-clay,#f4ece4);border-radius:50%;width:50px;height:50px;animation:1s linear infinite spinner}@keyframes spinner{to{transform:rotate(360deg)}}.navbar{z-index:1001;width:90%;max-width:1200px;padding:1rem 0;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.navbar-container{justify-content:space-between;align-items:center;display:flex}.navbar-logo{font-family:var(--font-heading);color:var(--color-charcoal);letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.navbar-logo span{color:var(--color-terracotta);font-weight:400}.navbar-links{gap:2rem;font-weight:500;list-style:none;display:flex}.navbar-links a{transition:color .3s}.navbar-links a:hover{color:var(--color-terracotta)}.navbar-hamburger{cursor:pointer;z-index:1002;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:4px;transition:background .2s;display:none}.navbar-hamburger:hover{background:#0000000f}.navbar-hamburger span{background:var(--color-charcoal);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:transform .35s cubic-bezier(.23,1,.32,1),opacity .25s,width .3s;display:block}.navbar-hamburger.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-hamburger.is-open span:nth-child(2){opacity:0;width:0}.navbar-hamburger.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu-overlay{z-index:1000;-webkit-backdrop-filter:blur(24px);opacity:0;pointer-events:none;background:#ffffffeb;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s cubic-bezier(.25,.8,.25,1),transform .3s cubic-bezier(.25,.8,.25,1);display:flex;position:fixed;inset:0;transform:scale(1.03)}.mobile-menu-overlay.is-open{opacity:1;pointer-events:all;transform:scale(1)}.mobile-menu-nav{flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:2rem;display:flex}.mobile-menu-link{font-family:var(--font-heading);color:var(--color-charcoal);letter-spacing:-.3px;border-radius:var(--border-radius);text-align:center;width:100%;padding:.6rem 1.5rem;font-size:1.8rem;font-weight:600;transition:color .2s,background .2s}.mobile-menu-link:hover{color:var(--color-terracotta);background:#0000000a}.mobile-menu-book{margin-top:1.5rem;padding:.9rem 2.5rem;font-size:1rem}@media (width<=768px){.navbar-links,.navbar-book-btn{display:none}.navbar-hamburger{display:flex}}.hero{background-position:50%;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero-content{z-index:2;text-align:center;max-width:800px;color:var(--color-white);padding-top:5rem;position:relative}.hero-content h1{color:var(--color-white);margin-bottom:1.5rem;font-size:4rem}.hero-content p{opacity:.9;margin-bottom:2.5rem;font-size:1.25rem}.hero-buttons{justify-content:center;gap:1rem;display:flex}@media (width<=768px){.hero-content h1{font-size:2.5rem}}.about-container{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about-text h2{text-align:center;color:var(--color-charcoal);font-size:1.5rem}.about-text p{color:var(--color-charcoal-light);font-size:1.1rem}.about-features{flex-direction:column;gap:1rem;display:flex}.about-features li{font-family:var(--font-heading);align-items:center;font-size:1.1rem;font-weight:500;display:flex}.bullet{background-color:var(--color-terracotta);border-radius:50%;width:12px;height:12px;margin-right:1rem}.about-images{height:600px;position:relative}.img-wrapper{border-radius:var(--border-radius);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s,border .35s,z-index;position:absolute;overflow:hidden}.img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.main-img{z-index:2;border:8px solid var(--color-white);width:70%;height:70%;top:0;left:0}.offset-img{z-index:1;width:60%;height:60%;bottom:0;right:0}.offset-img:hover{z-index:3;border:8px solid var(--color-white);transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .45s,border .45s,z-index;transform:translate(-8px,-12px)scale(1.04);box-shadow:0 30px 60px #00000040}.main-img:hover{transition:transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .45s;transform:translate(6px,-8px)scale(1.03);box-shadow:0 30px 60px #0003}@media (width<=992px){.about-container{grid-template-columns:1fr}.about-images{height:500px;margin-top:3rem}}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;min-height:600px;margin-top:3rem;display:grid}.class-card{background-color:var(--color-white);box-shadow:var(--shadow-sm);border:none;flex-direction:column;padding:2.5rem;display:flex;position:relative}.class-badge{background-color:var(--color-sage);color:var(--color-white);text-transform:uppercase;letter-spacing:1px;border-radius:50px;padding:.3rem .8rem;font-size:.8rem;font-weight:600;position:absolute;top:1rem;right:1rem}.class-card h3{margin-bottom:.5rem;font-size:1.4rem}.class-price{font-family:var(--font-heading);color:var(--color-terracotta);margin-bottom:1.5rem;font-size:1.8rem;font-weight:700}.class-schedule{color:var(--color-charcoal);margin-bottom:1rem;font-size:.95rem}.class-desc{color:var(--color-charcoal-light);flex-grow:1;font-size:.95rem}.class-card .btn{width:100%}@media (width<=768px){.classes-grid{min-height:unset;grid-template-columns:1fr}.class-card{box-sizing:border-box;width:100%}}.gallery-grid{columns:3 250px;gap:1.25rem}.gallery-item{break-inside:avoid;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:1rem;display:block;position:relative;overflow:hidden}.gallery-item img{break-inside:avoid;object-fit:cover;width:100%;height:auto;transition:transform .6s;display:block}.gallery-overlay{opacity:0;background:#2c2c2c6b;justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:absolute;inset:0}.gallery-overlay span{color:var(--color-white);font-family:var(--font-heading);text-align:center;padding:0 1rem;font-size:1.25rem;font-weight:600;transition:transform .35s;transform:translateY(14px)}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item:hover .gallery-overlay span{transform:translateY(0)}@media (width<=900px){.gallery-grid{columns:2 200px}}@media (width<=540px){.gallery-grid{columns:1}}.findus-grid{grid-template-columns:1fr 1.5fr;align-items:center;gap:4rem;display:grid}.findus-text h2{color:var(--color-charcoal);margin-bottom:1.5rem}.findus-text p.text-lg{color:var(--color-charcoal-light);font-size:1.1rem;line-height:1.7}.address-block{background:var(--color-white);border-radius:var(--border-radius);border-left:4px solid var(--color-terracotta);box-shadow:var(--shadow-sm);padding:1.5rem}.address-block p{color:var(--color-charcoal);margin:0;font-weight:500;line-height:1.6}.findus-map{height:100%;overflow:hidden}@media (width<=992px){.findus-grid{grid-template-columns:1fr;gap:3rem}}.footer{background-color:var(--color-charcoal);color:var(--color-white);padding-top:5rem}.footer-container{grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:4rem;display:grid}.footer-brand h3{color:var(--color-white);margin-bottom:1rem;font-size:1.8rem}.footer-brand span{color:var(--color-terracotta);font-weight:400}.footer-brand p{color:#a0a0a0;max-width:300px}.footer-links h4,.footer-contact h4{font-family:var(--font-heading);color:var(--color-white);margin-bottom:1.5rem;font-size:1.2rem}.footer-links ul{flex-direction:column;gap:.8rem;display:flex}.footer-links a,.footer-contact p,.social-links a{color:#a0a0a0;transition:color .3s}.footer-links a:hover,.social-links a:hover{color:var(--color-terracotta)}.footer-bottom{color:#777;background-color:#222;border-top:1px solid #ffffff1a;padding:1.5rem 0;font-size:.9rem}@media (width<=768px){.footer-container{text-align:center;grid-template-columns:1fr}.footer-brand p{margin:0 auto}}.class-details-page{background-position:50%;background-size:cover;background-attachment:fixed;min-height:100vh;position:relative}.page-overlay{z-index:1;pointer-events:none;background:#1e1e1e66;position:absolute;inset:0}.class-details-hero{z-index:5;align-items:flex-end;height:60vh;min-height:400px;padding-bottom:5rem;display:flex;position:relative}.class-details-hero h1{color:var(--color-white);text-shadow:0 4px 20px #00000080;max-width:900px;font-size:4.5rem}.relative{position:relative}.z-10{z-index:10}.class-details-wrapper{z-index:5;margin-top:-3rem;position:relative}.class-details-content{grid-template-columns:1.5fr 1fr;align-items:stretch;gap:3rem;display:grid}.class-main-info,.booking-panel{border-radius:var(--border-radius-lg);border:1px solid #fff9;flex-direction:column;height:100%;padding:3rem;display:flex;box-shadow:0 15px 35px #00000026}.back-link{color:var(--color-terracotta);text-transform:uppercase;letter-spacing:1px;margin-bottom:2rem;font-size:.85rem;font-weight:600;transition:color .3s;display:inline-block}.back-link:hover{color:var(--color-terracotta-dark)}.ethos-badge{font-family:var(--font-heading);color:var(--color-sage);margin-bottom:1rem;font-size:1.2rem;font-weight:500;display:block}.class-meta{border-top:1px solid #0000000d;border-bottom:1px solid #0000000d;gap:4rem;margin-bottom:2rem;padding:2rem 0;display:flex}.meta-item{flex-direction:column;display:flex}.meta-label{color:var(--color-charcoal-light);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.meta-value{font-family:var(--font-heading);color:var(--color-charcoal);white-space:pre-line;font-size:1.25rem;font-weight:600;line-height:1.4}.class-description h3{color:var(--color-charcoal);margin-bottom:1.5rem;font-size:2rem}.class-description p{color:var(--color-charcoal-light);flex-grow:1;font-size:1.1rem;line-height:1.8}.booking-panel{padding:3rem;position:static}.reviews-widget-container{background:#ffffffd9;box-shadow:0 10px 40px #0003}.reviews-section-header h2{color:var(--color-white);text-shadow:0 2px 10px #0006}.reviews-section-header p{text-shadow:0 2px 8px #0006;color:#ffffffe6!important}.text-sm{font-size:.9rem}@media (width<=900px){.class-details-content{grid-template-columns:1fr;gap:3rem}}@media (width<=768px){.class-details-hero{align-items:flex-end;height:auto;min-height:0;padding-top:9.5rem;padding-bottom:3rem}.class-details-hero h1{max-width:100%;font-size:2.4rem;line-height:1.25}.class-main-info,.booking-panel{padding:1.75rem}.class-meta{flex-wrap:wrap;gap:2rem}}.sticky-booking-bar{z-index:50;background:var(--color-glass,#ffffffd9);-webkit-backdrop-filter:blur(10px);text-align:center;width:100%;padding:1rem;display:none;position:fixed;bottom:0;left:0;box-shadow:0 -4px 10px #0000000d}@media (width<=768px){.sticky-booking-bar{display:block}}.artist-page{background-position:50%;background-size:cover;background-attachment:fixed;min-height:100vh;position:relative}.artist-hero{z-index:5;justify-content:center;align-items:flex-end;height:60vh;min-height:400px;padding-bottom:5rem;display:flex;position:relative}.artist-hero h1{color:var(--color-white);text-shadow:0 4px 20px #00000080;letter-spacing:-1px;font-size:5rem;font-weight:700}.artist-content-wrapper{z-index:5;margin-top:-3rem;position:relative}.artist-bio-panel{-webkit-backdrop-filter:blur(20px);border-radius:var(--border-radius-lg);background:#ffffffd9;border:1px solid #fff9;grid-template-columns:1.5fr 1fr;align-items:center;gap:4rem;padding:4rem;display:grid;box-shadow:0 15px 35px #00000026}.artist-bio-text h3{color:var(--color-charcoal);font-size:2.5rem;font-family:var(--font-heading);margin-bottom:1.5rem}.artist-bio-text p{color:var(--color-charcoal-light);border-left:3px solid var(--color-terracotta);margin-bottom:1.5rem;padding-left:1.5rem;font-size:1.1rem;font-style:italic;line-height:1.8}.artist-bio-image{border-radius:var(--border-radius);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.artist-bio-image:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 40px #0000001a}.artist-bio-image img{width:100%;height:auto;display:block}.gallery-masonry{column-count:3;column-width:300px;column-gap:1.5rem;width:100%}.saatchi-item{border-radius:var(--border-radius);box-shadow:var(--shadow-sm);background-color:var(--color-white);break-inside:avoid;-webkit-column-break-inside:avoid;flex-direction:column;margin-bottom:1.5rem;text-decoration:none;transition:transform .4s,box-shadow .4s,border .4s;display:flex;position:relative;overflow:hidden}a.saatchi-item:hover{border-color:var(--color-terracotta);transform:translateY(-8px);box-shadow:0 15px 30px #00000026}.item-sold{opacity:.8;filter:grayscale(15%)}.saatchi-img-wrapper{background-color:#f5f5f5;display:block;position:relative;overflow:hidden}.saatchi-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .6s,filter .6s}a.saatchi-item:hover .saatchi-img-wrapper img{transform:scale(1.05)}.item-sold .saatchi-img-wrapper img{filter:sepia(30%)}.saatchi-overlay{opacity:0;background:#c86b4dd9;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.sold-overlay{background:#2c2c2cd9}.saatchi-overlay span{color:var(--color-white);font-family:var(--font-heading);border:1px solid var(--color-white);border-radius:50px;padding:.5rem 1rem;font-size:1.1rem;font-weight:600}a.saatchi-item:hover .saatchi-overlay{opacity:1}.saatchi-info{text-align:center;background:var(--color-white);padding:1.5rem}.info-sold{background:#fdfdfd}.saatchi-info h4{color:var(--color-charcoal);margin-bottom:0;font-size:1.2rem;line-height:1.3}.saatchi-badge{background-color:var(--color-terracotta);color:#fff;text-transform:uppercase;letter-spacing:1px;border-radius:50px;padding:.3rem .8rem;font-size:.75rem;font-weight:600;display:inline-block}.sold-badge{background-color:var(--color-charcoal-light)}@media (width<=900px){.artist-bio-panel{grid-template-columns:1fr;padding:2rem}}.admin-dashboard-page{background-color:var(--color-stone-light);min-height:100vh;padding-top:100px;padding-bottom:4rem}.admin-header{border-bottom:1px solid #0000001a;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-tabs{gap:1rem;margin-top:1.5rem;display:flex}.admin-tab{border-radius:var(--border-radius-md);cursor:pointer;color:var(--color-charcoal-light);transition:var(--transition);background:#fff;border:1px solid #0000001a;padding:.8rem 1.5rem;font-weight:600}.admin-tab.active{background:var(--color-terracotta);color:#fff;border-color:var(--color-terracotta);box-shadow:0 4px 10px #c86b4d33}.admin-section-title{border-bottom:2px solid var(--color-clay);margin-top:3rem;margin-bottom:1.5rem;padding-bottom:.5rem}.admin-login-box{border-radius:var(--border-radius-lg);text-align:center;background:#fff;max-width:400px;margin:4rem auto;padding:3rem;box-shadow:0 10px 30px #0000000d}.admin-login-box h2{margin-bottom:1rem}.admin-login-box p{color:var(--color-charcoal-light);margin-bottom:2rem;font-size:.9rem}.admin-login-btn{color:#333;border-radius:var(--border-radius-md);cursor:pointer;background:#fff;border:1px solid #ddd;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8rem;font-weight:600;transition:all .3s;display:flex}.admin-login-btn:hover{background:#f9f9f9;box-shadow:0 4px 10px #0000000d}.admin-error{color:#d32f2f;border-radius:var(--border-radius-md);background-color:#ffeef0;border-left:4px solid #d32f2f;margin-top:1rem;padding:1rem;font-size:.9rem}.admin-class-card{border-radius:var(--border-radius-lg);background:#fff;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 15px #00000008}.admin-class-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.admin-class-header h3{color:var(--color-charcoal);margin:0;font-size:1.25rem}.admin-form-group{margin-bottom:1.2rem}.admin-form-group label{color:var(--color-charcoal);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.admin-form-input,.admin-form-textarea{border-radius:var(--border-radius-md);border:1px solid #ddd;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.admin-form-input:focus,.admin-form-textarea:focus{border-color:var(--color-terracotta);outline:none}.admin-form-textarea{resize:vertical;min-height:100px}.toast{background:var(--color-clay);color:var(--color-charcoal);border-radius:var(--border-radius-md);z-index:1000;align-items:center;gap:.5rem;padding:1rem 1.5rem;animation:.3s forwards slideUp;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 30px #0000001a}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.seed-banner{background:var(--color-terracotta);color:#fff;border-radius:var(--border-radius-lg);text-align:center;margin-bottom:2rem;padding:2rem}
