        /* ========== CSS RESET & BASE ========== */
        *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

        :root{
            --cream:#FAF7F3;
            --warm-beige:#EBE3D9;
            --terracotta:#B87663;
            --terracotta-dark:#9D5B4A;
            --deep-brown:#3D2F28;
            --charcoal:#1C1410;
            --gold:#C9A873;
            --gold-light:#D4B98A;
            --soft-white:#FFFEFB;
            --rust:#9D6B53;
            --spacing-xs:0.5rem;
            --spacing-sm:1rem;
            --spacing-md:1.5rem;
            --spacing-lg:2rem;
            --spacing-xl:3rem;
            --spacing-2xl:4rem;
            --spacing-3xl:5rem;
            --section-padding:2.25rem 0;
            --container-max:1200px;
            --container-padding:1.25rem;
            --radius-sm:6px;
            --radius-md:12px;
        }
        @media(min-width:768px){:root{--section-padding:6rem 0;--container-padding:2rem}}
        @media(min-width:1024px){:root{--section-padding:8rem 0;--container-padding:3rem}}

        html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
        html,body{max-width:100vw;overflow-x:hidden;width:100%;margin:0;padding:0;position:relative}
        body{font-family:'DM Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background-color:var(--cream);color:var(--charcoal);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
        img{max-width:100%;height:auto;display:block}
        h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-0.02em;line-height:1.2;margin:0}
        p{margin:0}
        a{color:inherit;text-decoration:none}
        a,button,[role="button"]{touch-action:manipulation}

        /* ========== CONTAINER ========== */
        .container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}
        section{padding:var(--section-padding);width:100%;position:relative}

        /* ========== NAVIGATION ========== */
        .navbar{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;background:transparent;transition:all 0.3s ease}
        .navbar.scrolled{background:rgba(250,247,243,0.98);backdrop-filter:blur(20px);box-shadow:0 2px 20px rgba(0,0,0,0.05)}
        .nav-container{display:flex;justify-content:space-between;align-items:center;padding:1rem var(--container-padding);max-width:var(--container-max);margin:0 auto;gap:2rem;padding-left:0.5rem}
        .navbar.scrolled .nav-container{padding:0.75rem var(--container-padding);padding-left:0.5rem}
        .logo{font-family:'Playfair Display',serif;font-size:clamp(1rem,2vw,1.5rem);font-weight:700;color:white;letter-spacing:-0.02em;line-height:1.2;transition:color 0.3s ease;z-index:1001;flex-shrink:0;white-space:nowrap}
        .navbar.scrolled .logo{color:var(--charcoal)}
        .mobile-menu-btn{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;z-index:1001;position:relative;padding:12px 8px;margin:-12px -8px}
        .mobile-menu-btn span{display:block;width:100%;height:2px;background:white;transition:all 0.3s ease;border-radius:2px}
        .navbar.scrolled .mobile-menu-btn span{background:var(--charcoal)}
        .mobile-menu-btn.active span:nth-child(1){transform:translateY(9px) rotate(45deg)}
        .mobile-menu-btn.active span:nth-child(2){opacity:0}
        .mobile-menu-btn.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
        .nav-links{display:none;margin:0;padding:0}
        @media(min-width:1024px){
            .mobile-menu-btn{display:none}
            .nav-links{display:flex;list-style:none;align-items:center;gap:0.5rem;flex-shrink:1}
            .nav-links a{color:white;text-decoration:none;font-weight:500;font-size:0.78rem;position:relative;transition:color 0.3s ease;white-space:nowrap;letter-spacing:0.01em}
            .navbar.scrolled .nav-links a{color:var(--deep-brown)}
            .nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--terracotta);transition:width 0.3s ease}
            .nav-links a:hover::after{width:100%}
        }
        @media(min-width:1200px){
            .nav-links{gap:1rem}
            .nav-links a{font-size:0.88rem}
        }
        .nav-book-btn{padding:0.45rem 1rem !important;font-size:0.8rem !important;border-radius:var(--radius-sm);min-height:unset !important;margin-left:0.5rem}
        .nav-book-btn::after{display:none !important}

        /* Mobile Menu */
        .mobile-menu{position:fixed;top:0;right:-100%;width:300px;max-width:85%;height:100vh;background:var(--charcoal);z-index:999;transition:right 0.4s cubic-bezier(0.4,0,0.2,1);overflow-y:auto;padding:5.5rem 2rem 2rem}
        .mobile-menu.active{right:0}
        .mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:998;opacity:0;pointer-events:none;transition:opacity 0.4s ease}
        .mobile-menu-overlay.active{opacity:1;pointer-events:all}
        .mobile-nav-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
        .mobile-nav-links li{margin-bottom:0.25rem}
        .mobile-nav-links a{color:white;text-decoration:none;font-size:1.05rem;font-weight:500;padding:0.85rem 0;display:block;border-bottom:1px solid rgba(255,255,255,0.08);transition:color 0.3s ease,padding-left 0.3s ease}
        .mobile-nav-links a:hover{color:var(--gold);padding-left:0.5rem}

        /* ========== HERO ========== */
        .hero{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:center;background:var(--charcoal);overflow:hidden;padding:9rem var(--container-padding) 4rem}
        @media(min-width:768px){.hero{padding-top:11rem}}
        @media(min-width:1024px){.hero{padding-top:13rem}}
        .hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
        .hero-background img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:0.3}
        .hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(28,20,16,0.92) 0%,rgba(61,47,40,0.65) 100%);z-index:2}
        .hero-content{position:relative;z-index:4;width:100%;max-width:var(--container-max);margin:0 auto}
        .hero-label{font-family:'Crimson Pro',serif;font-size:clamp(1rem,3vw,1.3rem);color:var(--gold);margin-bottom:1rem;font-style:italic;opacity:0;animation:fadeInUp 0.8s ease 0.2s forwards}
        .hero-title{font-size:clamp(2rem,7vw,4.5rem);line-height:1.1;color:white;margin-bottom:1.25rem;font-weight:700;opacity:0;animation:fadeInUp 0.8s ease 0.4s forwards;word-wrap:break-word}
        .hero-subtitle{font-size:clamp(1rem,2.5vw,1.2rem);color:rgba(255,255,255,0.88);margin-bottom:2rem;line-height:1.7;max-width:620px;opacity:0;animation:fadeInUp 0.8s ease 0.6s forwards}
        .hero-cta{display:flex;flex-wrap:wrap;gap:0.75rem;opacity:0;animation:fadeInUp 0.8s ease 0.8s forwards}
        @media(max-width:480px){.hero-cta{flex-direction:column;width:100%}.hero-cta .btn{width:100%}}

        /* ========== BUTTONS ========== */
        .btn{display:inline-flex;align-items:center;justify-content:center;padding:0.9rem 1.75rem;border:none;border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(0.875rem,1.8vw,0.95rem);cursor:pointer;transition:all 0.3s ease;text-decoration:none;text-align:center;white-space:nowrap;min-height:48px;letter-spacing:0.02em}
        .btn-primary{background:var(--terracotta);color:white;box-shadow:0 4px 15px rgba(184,118,99,0.25)}
        .btn-primary:active{transform:translateY(1px)}
        .btn-secondary{background:transparent;color:white;border:2px solid rgba(255,255,255,0.3)}
        .btn-outline{background:transparent;color:var(--terracotta);border:2px solid var(--terracotta)}
        .btn-outline-light{background:transparent;color:white;border:2px solid rgba(255,255,255,0.4)}
        .btn-sm{padding:0.6rem 1.25rem;font-size:0.85rem;min-height:40px}
        .btn-gold{background:var(--gold);color:var(--charcoal);font-weight:600;box-shadow:0 4px 15px rgba(201,168,115,0.3)}
        @media(min-width:768px){
            .btn:hover{transform:translateY(-2px)}
            .btn-primary:hover{background:var(--terracotta-dark);box-shadow:0 6px 20px rgba(184,118,99,0.4)}
            .btn-secondary:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.6)}
            .btn-outline:hover{background:var(--terracotta);color:white}
            .btn-outline-light:hover{background:rgba(255,255,255,0.12);border-color:white}
            .btn-gold:hover{background:var(--gold-light);box-shadow:0 6px 22px rgba(201,168,115,0.45)}
        }

        /* ========== SECTION HEADERS ========== */
        .section-header{text-align:center;margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto}
        @media(min-width:768px){.section-header{margin-bottom:4rem}}
        .section-label{font-family:'Crimson Pro',serif;font-size:clamp(1rem,2.5vw,1.2rem);color:var(--terracotta);font-style:italic;margin-bottom:0.75rem;letter-spacing:0.03em}
        .section-title{font-size:clamp(2rem,5.5vw,3.5rem);color:var(--charcoal);margin-bottom:1rem;line-height:1.2;word-wrap:break-word}
        .section-description{font-size:clamp(1rem,2.5vw,1.1rem);color:var(--deep-brown);line-height:1.7;max-width:650px;margin-left:auto;margin-right:auto}
        .gold-divider{width:60px;height:3px;background:var(--gold);margin:1.5rem auto;border-radius:1px}

        /* ========== ABOUT SECTION ========== */
        .about-section{background:var(--cream)}
        .about-grid{display:flex;flex-direction:column}
        .about-image-col{margin-bottom:2.5rem}
        @media(min-width:1024px){.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}.about-image-col{order:2;margin-bottom:0}.about-content{order:1}}
        .about-image-wrapper{position:relative;width:100%;height:0;padding-bottom:125%;border-radius:var(--radius-md);box-shadow:0 20px 60px rgba(0,0,0,0.15);overflow:hidden;display:block}
        .about-image-main{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
        .about-content h2{font-size:clamp(2rem,5vw,3.5rem);color:var(--charcoal);margin-bottom:1.5rem}
        .about-content p{font-size:clamp(1rem,2.5vw,1.08rem);color:var(--deep-brown);margin-bottom:1.5rem;line-height:1.8}
        .quote-block{border-left:4px solid var(--terracotta);padding:1.5rem 2rem;background:var(--warm-beige);margin:2rem 0;border-radius:var(--radius-sm)}
        .quote-text{font-family:'Crimson Pro',serif;font-size:clamp(1.1rem,3vw,1.3rem);font-style:italic;color:var(--deep-brown);line-height:1.6}
        .credentials-list{display:flex;flex-direction:column;margin:2rem 0;gap:0.75rem}
        .credential-item{display:flex;align-items:flex-start;font-size:clamp(0.95rem,2.5vw,1.05rem);color:var(--deep-brown);gap:0.75rem}
        .credential-icon{width:20px;height:20px;min-width:20px;color:var(--terracotta);margin-top:3px;flex-shrink:0}
        .credential-item strong{color:var(--charcoal);font-weight:600}

        /* Editorial Sub-blocks */
        .editorial-block{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--warm-beige)}
        .editorial-block h3{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3.5vw,2rem);color:var(--charcoal);margin-bottom:1.5rem;position:relative}
        .editorial-block h3::before{content:'';display:block;width:40px;height:3px;background:var(--gold);margin-bottom:1rem;border-radius:1px}
        .editorial-list{list-style:none;padding:0;margin:0}
        .editorial-list li{padding:0.85rem 0;border-bottom:1px solid rgba(61,47,40,0.08);font-size:clamp(0.95rem,2.5vw,1.05rem);color:var(--deep-brown);line-height:1.6;display:flex;gap:0.75rem}
        .editorial-list li:last-child{border-bottom:none}
        .editorial-year{font-family:'Crimson Pro',serif;color:var(--gold);font-weight:600;min-width:70px;font-size:0.9rem;letter-spacing:0.04em;flex-shrink:0}
        .editorial-highlight{color:var(--terracotta);font-weight:600}

        /* ========== CLASSES FILTERABLE ========== */
        .classes-section{background:var(--cream)}
        .filter-pills{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:2.5rem}
        .filter-pill{padding:0.75rem 1.25rem;border-radius:50px;font-family:'DM Sans',sans-serif;font-size:0.875rem;font-weight:500;cursor:pointer;border:1.5px solid var(--warm-beige);background:white;color:var(--deep-brown);transition:all 0.3s ease;white-space:nowrap;letter-spacing:0.02em}
        .filter-pill:hover,.filter-pill.active{background:var(--terracotta);color:white;border-color:var(--terracotta)}
        .classes-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
        @media(min-width:540px){.classes-grid{grid-template-columns:repeat(2,1fr)}}
        @media(min-width:1024px){.classes-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}
        .class-card-compact{background:white;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 3px 18px rgba(0,0,0,0.05);transition:all 0.3s ease;display:flex;flex-direction:column}
        @media(min-width:768px){.class-card-compact:hover{transform:translateY(-6px);box-shadow:0 14px 36px rgba(0,0,0,0.1)}}
        .class-card-compact .class-img-wrap{position:relative;width:100%;height:0;padding-bottom:100%;overflow:hidden;display:block}
        .class-card-compact .class-img-wrap img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;display:block}
        @media(min-width:768px){.class-card-compact:hover .class-img-wrap img{transform:scale(1.07)}}
        .class-card-compact .class-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
        .class-card-compact h4{font-size:1.1rem;color:var(--charcoal);margin-bottom:0.5rem}
        .class-card-compact p{font-size:0.9rem;color:var(--deep-brown);line-height:1.6;flex:1;margin-bottom:1rem}
        .class-card-compact .btn-sm{width:100%;margin-top:auto}

        /* ========== SERVICES ========== */
        .services-section{background:var(--charcoal)}
        .services-section .section-title,.services-section .section-description{color:white}
        .services-section .section-label{color:var(--gold)}
        .services-section .service-subgroup h3{color:white}
        .services-grid{display:grid;grid-template-columns:1fr;gap:2rem}
        .service-subgroup h3{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,1.8rem);color:var(--charcoal);margin-bottom:0.5rem;padding-bottom:1rem;border-bottom:2px solid var(--gold);display:inline-block}
        .service-items{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.5rem}
        @media(min-width:540px){.service-items{grid-template-columns:repeat(2,1fr)}}
        @media(min-width:1024px){.service-items{grid-template-columns:repeat(3,1fr)}}
        .service-item{background:white;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 3px 15px rgba(0,0,0,0.04);transition:all 0.3s ease;cursor:pointer}
        @media(min-width:768px){.service-item:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,0.1)}}
        .service-item .si-img{position:relative;width:100%;height:0;padding-bottom:100%;overflow:hidden;display:block}
        .service-item .si-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;display:block}
        @media(min-width:768px){.service-item:hover .si-img img{transform:scale(1.06)}}
        .service-item .si-body{padding:1rem;text-align:center}
        .service-item .si-body h5{font-size:0.95rem;color:var(--charcoal);margin-bottom:0.25rem}
        .service-item .si-body .btn-sm{margin-top:0.5rem}

        /* ========== SHOP ========== */
        .shop-section{background:var(--charcoal);color:white}
        .shop-section .section-label{color:var(--gold)}
        .shop-section .section-title,.shop-section .section-description{color:white}
        .shop-section .section-description{color:rgba(255,255,255,0.8)}
        .shop-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
        @media(min-width:480px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
        @media(min-width:640px){.shop-grid{grid-template-columns:repeat(3,1fr)}}
        @media(min-width:1024px){.shop-grid{grid-template-columns:repeat(4,1fr);gap:1.75rem}}
        .shop-item{background:rgba(255,255,255,0.04);border-radius:var(--radius-md);overflow:hidden;transition:all 0.3s ease;border:1px solid rgba(255,255,255,0.06)}
        @media(min-width:768px){.shop-item:hover{transform:translateY(-5px);border-color:rgba(255,255,255,0.2);box-shadow:0 12px 30px rgba(0,0,0,0.3)}}
        .shop-item .shop-img{position:relative;width:100%;height:0;padding-bottom:100%;overflow:hidden;display:block}
        .shop-item .shop-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;display:block}
        @media(min-width:768px){.shop-item:hover .shop-img img{transform:scale(1.08)}}
        .shop-item .shop-body{padding:1.25rem;text-align:center}
        .shop-item .shop-body h5{color:white;font-size:1rem;margin-bottom:0.35rem}
        .shop-item .shop-body p{color:rgba(255,255,255,0.65);font-size:0.85rem;margin-bottom:1rem}
        .shop-item .btn-sm{width:100%}

        /* ========== WORKSHOPS HUB (unified) ========== */
        .workshops-hub{background:var(--charcoal)}
        .workshops-hub .section-title{color:white}
        .workshops-hub .section-label{color:var(--gold)}
        .workshops-hub .section-description{color:rgba(255,255,255,0.72)}

        /* Tab bar */
        .wh-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,0.12);margin-bottom:3rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
        .wh-tabs::-webkit-scrollbar{display:none}
        .wh-tab{background:none;border:none;padding:0.9rem 1.75rem;font-family:'DM Sans',sans-serif;font-size:clamp(0.88rem,2vw,0.98rem);font-weight:600;color:rgba(255,255,255,0.45);cursor:pointer;position:relative;transition:color 0.3s ease;letter-spacing:0.02em;white-space:nowrap;flex-shrink:0}
        .wh-tab::after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--gold);transition:width 0.3s ease;border-radius:2px}
        .wh-tab.active{color:white}
        .wh-tab.active::after{width:100%}
        @media(min-width:768px){.wh-tab:hover{color:rgba(255,255,255,0.85)}}

        /* Tab panels */
        .wh-panel{display:none}
        .wh-panel.active{display:block}

        /* Workshop blocks */
        .workshop-block{margin-bottom:3.5rem}
        .workshop-block:last-child{margin-bottom:0}
        .workshop-block h3{font-family:'Playfair Display',serif;font-size:clamp(1.3rem,3vw,1.7rem);color:white;margin-bottom:0.5rem;padding-bottom:0.75rem;border-bottom:2px solid var(--gold);display:inline-block}
        .workshop-block-subtext{color:rgba(255,255,255,0.6);margin-top:0.5rem;font-size:1rem}
        .workshop-block-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}
        @media(min-width:640px){.workshop-block-grid{grid-template-columns:repeat(2,1fr)}}
        @media(min-width:1024px){.workshop-block-grid{grid-template-columns:repeat(3,1fr)}}
        .workshop-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-md);overflow:hidden;transition:all 0.3s ease}
        @media(min-width:768px){.workshop-card:hover{transform:translateY(-5px);background:rgba(255,255,255,0.1);border-color:rgba(201,168,115,0.35)}}
        .workshop-card .wc-img{position:relative;width:100%;height:0;padding-bottom:100%;overflow:hidden;display:block}
        .workshop-card .wc-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease}
        @media(min-width:768px){.workshop-card:hover .wc-img img{transform:scale(1.05)}}
        .workshop-card .wc-body{padding:1.25rem}
        .workshop-card .wc-body h5{font-size:1rem;color:white;margin-bottom:0.5rem}
        .workshop-card .wc-body p{font-size:0.88rem;color:rgba(255,255,255,0.6);line-height:1.6;margin-bottom:1rem}
        .workshop-card .wc-body .btn-sm{width:100%}

        /* Schedule divider */
        .schedule-divider{display:flex;align-items:center;gap:1.5rem;margin:4.5rem 0 3rem}
        .schedule-divider-line{flex:1;height:1px;background:rgba(255,255,255,0.12)}
        .schedule-divider-label{text-align:center;flex-shrink:0}
        .schedule-divider-label .section-label{display:block;margin-bottom:0.3rem;font-size:0.75rem}
        .schedule-divider-label h2{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3.5vw,2.4rem);color:white;line-height:1.2}

        /* Schedule tab — calendar + announcements */
        .upcoming-cols{display:grid;grid-template-columns:1fr;gap:2.5rem}
        @media(min-width:1024px){.upcoming-cols{grid-template-columns:3fr 2fr;gap:3rem;align-items:start}}
        .calendar-col-label{font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem}
        .calendar-wrapper{background:white;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 6px 32px rgba(0,0,0,0.3);border-top:3px solid var(--gold)}
        .calendar-wrapper iframe{width:100%;height:560px;border:none;display:block}
        @media(max-width:600px){.calendar-wrapper iframe{height:420px}}

        /* Announcements sidebar */
        .announcements-feed{display:flex;flex-direction:column}
        .ann-sidebar-header{margin-bottom:1.5rem}
        .ann-sidebar-header .section-label{display:block;margin-bottom:0.4rem;color:var(--gold)}
        .ann-sidebar-header h3{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,1.9rem);color:white;line-height:1.2}
        .ann-cards{display:flex;flex-direction:column;gap:1rem}
        .ann-card{background:white;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 3px 16px rgba(0,0,0,0.06);display:flex;flex-direction:column;transition:transform 0.25s ease,box-shadow 0.25s ease;border-left:3px solid var(--gold)}
        .ann-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,0.1)}
        .ann-card-img-wrap{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--warm-beige)}
        .ann-card-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
        .ann-card-img-placeholder{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--warm-beige),var(--cream));display:flex;align-items:center;justify-content:center;font-size:2rem}
        .ann-card-body{padding:1rem 1.1rem 1.25rem;flex:1;display:flex;flex-direction:column;gap:0.35rem}
        .ann-card-date{font-size:0.72rem;color:var(--terracotta);font-weight:700;letter-spacing:0.06em;text-transform:uppercase}
        .ann-card-title{font-family:'Playfair Display',serif;font-size:0.98rem;color:var(--charcoal);line-height:1.35;font-weight:600}
        .ann-card-text{font-size:0.88rem;color:var(--deep-brown);line-height:1.65;flex:1}
        .ann-loading{display:flex;align-items:center;gap:0.75rem;color:var(--deep-brown);font-size:0.9rem;font-style:italic;padding:1.25rem;background:white;border-radius:var(--radius-sm);border-left:3px solid var(--gold)}
        .ann-spinner{width:16px;height:16px;border:2px solid var(--warm-beige);border-top-color:var(--terracotta);border-radius:50%;animation:spin 0.7s linear infinite;flex-shrink:0}
        .ann-error{background:white;border-radius:var(--radius-sm);padding:1.1rem;color:var(--deep-brown);font-size:0.88rem;border-left:3px solid var(--gold)}
        .ann-footer{margin-top:1.25rem;text-align:center}
        .ann-footer a{display:inline-block;font-size:0.82rem;color:var(--terracotta);font-weight:700;text-decoration:none;letter-spacing:0.04em;border-bottom:1px solid var(--terracotta);padding-bottom:2px;transition:opacity 0.2s}
        .ann-footer a:hover{opacity:0.7}
        @keyframes spin{to{transform:rotate(360deg)}}

        /* ========== GALLERY ========== */
        .gallery-section{background:var(--charcoal);color:white}
        .gallery-section .section-label{color:var(--gold)}
        .gallery-section .section-title,.gallery-section .section-description{color:white}
        .gallery-section .section-description{color:rgba(255,255,255,0.8)}
        .gallery-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
        @media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
        @media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}
        .gallery-item{position:relative;width:100%;height:0;padding-bottom:100%;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;background:var(--deep-brown);display:block}
        .gallery-item img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;display:block}
        @media(min-width:768px){.gallery-item:hover img{transform:scale(1.1)}}
        .gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(28,20,16,0.95),transparent 50%);opacity:0;transition:opacity 0.3s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem}
        .gallery-item:active .gallery-overlay,.gallery-item:hover .gallery-overlay{opacity:1}
        .gallery-info h4{color:white;font-size:clamp(1.1rem,3vw,1.35rem);margin-bottom:0.25rem}
        .gallery-info p{color:rgba(255,255,255,0.8);font-size:clamp(0.875rem,2.5vw,1rem);margin:0}
        .gallery-cta{text-align:center;margin-top:3rem}

        /* ========== EXHIBITION SPACE ========== */
        .exhibition-section{background:var(--cream)}
        .exhibition-grid{display:grid;grid-template-columns:1fr;gap:3rem}
        @media(min-width:1024px){.exhibition-grid{grid-template-columns:1fr 1fr;gap:5rem}}
        .exhibition-form{background:white;padding:2rem;border-radius:var(--radius-md);box-shadow:0 4px 24px rgba(0,0,0,0.06)}
        @media(min-width:768px){.exhibition-form{padding:2.5rem}}
        .exhibition-form h3{font-size:1.5rem;color:var(--charcoal);margin-bottom:1.5rem}
        .form-group{margin-bottom:1.25rem}
        .form-group label{display:block;margin-bottom:0.5rem;color:var(--deep-brown);font-weight:500;font-size:0.95rem}
        .form-group input,.form-group textarea,.form-group select{width:100%;padding:0.85rem 1rem;background:var(--cream);border:1.5px solid var(--warm-beige);border-radius:var(--radius-sm);color:var(--charcoal);font-family:'DM Sans',sans-serif;font-size:1rem;transition:all 0.3s ease}
        .form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--terracotta);background:white}
        .form-group textarea{resize:vertical;min-height:120px}
        .exhibition-info h3{font-size:1.5rem;color:var(--charcoal);margin-bottom:1.5rem}
        .exhibition-info p{color:var(--deep-brown);line-height:1.8;margin-bottom:1.5rem;font-size:1.05rem}
        .exhibition-features{list-style:none;padding:0;margin:0 0 2rem}
        .exhibition-features li{padding:0.65rem 0;border-bottom:1px solid var(--warm-beige);color:var(--deep-brown);display:flex;align-items:center;gap:0.75rem;font-size:0.95rem}
        .exhibition-features li::before{content:'•';color:var(--gold);font-size:1.5rem;line-height:1}

        /* ========== ABOUT STATS ========== */
        .about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:3.5rem 0 0;padding:2.5rem 0;border-top:1px solid var(--warm-beige);border-bottom:1px solid var(--warm-beige)}
        @media(min-width:640px){.about-stats{grid-template-columns:repeat(4,1fr)}}
        .about-stat{text-align:center}
        .about-stat-number{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3rem);color:var(--terracotta);line-height:1;margin-bottom:0.4rem}
        .about-stat-label{font-size:0.78rem;color:var(--deep-brown);letter-spacing:0.08em;text-transform:uppercase;font-weight:600}

        /* ========== EDITORIAL 2-COL ========== */
        .editorial-cols{display:grid;grid-template-columns:1fr;gap:0}
        @media(min-width:1024px){.editorial-cols{grid-template-columns:1fr 1fr;gap:0 4rem;align-items:start}}

        /* ========== REELS SECTION ========== */
        .reels-section{background:var(--charcoal);padding:var(--section-padding)}
        .reels-section .section-label{color:var(--gold)}
        .reels-section .section-title{color:white}
        .reels-section .section-description{color:rgba(255,255,255,0.7)}
        .shorts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:860px;margin:0 auto}
        @media(max-width:639px){.shorts-grid{grid-template-columns:1fr;max-width:300px}}
        @media(min-width:640px) and (max-width:1023px){.shorts-grid{gap:1rem}}
        .short-card{border-radius:var(--radius-md);overflow:hidden;background:#1c1c1c;box-shadow:0 8px 28px rgba(0,0,0,0.18);transition:transform 0.3s ease,box-shadow 0.3s ease;display:block;text-decoration:none}
        @media(min-width:768px){.short-card:hover{transform:translateY(-6px);box-shadow:0 18px 48px rgba(0,0,0,0.28)}}
        @media(min-width:768px){.short-card:hover .short-overlay{background:rgba(0,0,0,0.25)}}
        @media(min-width:768px){.short-card:hover .short-play{transform:translate(-50%,-50%) scale(1.12)}}
        .short-card .short-thumb{position:relative;width:100%;height:0;padding-bottom:177.78%;overflow:hidden}
        .short-card .short-thumb img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s ease}
        .short-thumb-ig{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}
        @media(min-width:768px){.short-card:hover .short-thumb img{transform:scale(1.05)}}
        .short-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.35);transition:background 0.3s ease}
        .short-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;background:rgba(255,255,255,0.92);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform 0.3s ease;box-shadow:0 4px 20px rgba(0,0,0,0.4)}
        .short-play svg{width:20px;height:20px;margin-left:3px;fill:#111}
        .short-badge{position:absolute;top:12px;right:12px;background:rgba(0,0,0,0.6);border-radius:20px;padding:4px 10px;display:flex;align-items:center;gap:5px}
        .short-badge svg{width:14px;height:14px}
        .short-badge span{color:white;font-size:0.7rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase}
        .testimonials-section{background:var(--soft-white)}
        .testimonials-grid{display:grid;grid-template-columns:1fr;gap:2rem}
        @media(min-width:768px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}
        @media(min-width:1024px){.testimonials-grid{grid-template-columns:repeat(3,1fr)}}
        .testimonial-card{background:white;padding:2.5rem 1.5rem;border-radius:var(--radius-md);box-shadow:0 4px 20px rgba(0,0,0,0.06);position:relative;transition:transform 0.3s ease,box-shadow 0.3s ease;height:100%;display:flex;flex-direction:column}
        @media(min-width:768px){.testimonial-card{padding:3rem 2rem 2.5rem}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 12px 35px rgba(0,0,0,0.1)}}
        .testimonial-card::before{content:'"';position:absolute;top:1rem;left:1.5rem;font-size:5rem;font-family:'Playfair Display',serif;color:var(--warm-beige);line-height:1;opacity:0.5}
        .testimonial-text{font-size:clamp(1rem,2.5vw,1.1rem);line-height:1.8;color:var(--deep-brown);margin-bottom:2rem;position:relative;z-index:1;flex:1}
        .testimonial-author{display:flex;align-items:center}
        .author-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--terracotta),var(--rust));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:white;flex-shrink:0;margin-right:1rem}
        .author-info h4{font-size:clamp(1rem,2.5vw,1.15rem);color:var(--charcoal);margin-bottom:0.25rem}
        .author-info p{font-size:clamp(0.875rem,2vw,0.95rem);color:var(--deep-brown);font-style:italic;margin:0}

        /* ========== ACHIEVEMENTS ========== */
        .achievements-section{background:var(--terracotta);color:white}
        .achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
        @media(min-width:768px){.achievements-grid{grid-template-columns:repeat(4,1fr);gap:3rem}}
        .achievement-card{text-align:center;padding:1rem}
        .achievement-number{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,7vw,4rem);font-weight:700;color:white;margin-bottom:0.5rem;line-height:1}
        .achievement-label{font-size:clamp(0.9rem,2.5vw,1.1rem);color:rgba(255,255,255,0.95);font-weight:500}

        /* ========== CONTACT ========== */
        .contact-section{background:var(--charcoal);color:white}
        .contact-section .section-label{color:var(--gold)}
        .contact-section .section-title,.contact-section .section-description{color:white}
        .contact-section .section-description{color:rgba(255,255,255,0.8)}
        .contact-grid{display:grid;grid-template-columns:1fr;gap:3rem}
        @media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;gap:5rem}}
        .contact-info h3{color:var(--gold);font-size:clamp(1.5rem,4vw,2rem);margin-bottom:2rem}
        .contact-item{display:flex;align-items:flex-start;margin-bottom:1.25rem;padding:1.25rem;background:rgba(255,255,255,0.03);border-radius:var(--radius-sm);transition:background 0.3s ease;gap:1rem}
        @media(min-width:768px){.contact-item:hover{background:rgba(255,255,255,0.06)}}
        .contact-icon{width:22px;height:22px;min-width:22px;color:var(--gold);flex-shrink:0;margin-top:2px}
        .contact-item-content{min-width:0}
        .contact-item-content h4{color:white;font-size:clamp(1.05rem,2.5vw,1.15rem);margin-bottom:0.5rem}
        .contact-item-content p{color:rgba(255,255,255,0.72);line-height:1.7;font-size:clamp(0.9rem,2.5vw,1rem);margin:0}
        .contact-item-content a{color:var(--gold);text-decoration:none;transition:color 0.3s ease;overflow-wrap:break-word;word-wrap:break-word;display:inline-block}
        .contact-item-content a:hover{color:white}
        .contact-form{background:rgba(255,255,255,0.05);padding:2rem 1.5rem;border-radius:var(--radius-md);backdrop-filter:blur(10px);height:100%}
        @media(min-width:768px){.contact-form{padding:2.5rem}}
        .contact-form .form-group input,.contact-form .form-group textarea{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);color:white}
        .contact-form .form-group input:focus,.contact-form .form-group textarea:focus{border-color:var(--gold);background:rgba(255,255,255,0.12)}
        .contact-form .form-group label{color:rgba(255,255,255,0.9)}
        .whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.75rem;background:#25D366;color:white;text-decoration:none;border-radius:50px;font-weight:600;font-size:clamp(0.95rem,2.5vw,1.05rem);margin-top:1.5rem;transition:all 0.3s ease;box-shadow:0 6px 25px rgba(37,211,102,0.3);width:100%;gap:0.6rem}
        @media(min-width:640px){.whatsapp-btn{width:auto}}
        .whatsapp-btn:active{transform:translateY(1px)}
        @media(min-width:768px){.whatsapp-btn:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(37,211,102,0.4);background:#20BA5A}}

        /* ========== FOOTER ========== */
        footer{background:var(--deep-brown);color:rgba(255,255,255,0.8);padding:3rem 0 2rem}
        @media(min-width:768px){footer{padding:4rem 0 2.5rem}}
        .footer-content{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1)}
        @media(min-width:640px){.footer-content{grid-template-columns:repeat(2,1fr)}}
        @media(min-width:1024px){.footer-content{grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem}}
        .footer-brand h3{font-size:clamp(1.5rem,3vw,1.85rem);color:white;margin-bottom:1rem}
        .footer-brand p{line-height:1.8;margin-bottom:2rem;font-size:clamp(0.9rem,2.5vw,1rem)}
        .social-links{display:flex;gap:0.75rem}
        .social-link{width:44px;height:44px;background:rgba(255,255,255,0.08);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;text-decoration:none;transition:all 0.3s ease}
        @media(min-width:768px){.social-link:hover{background:var(--gold);transform:translateY(-3px)}}
        .footer-links h4{color:white;margin-bottom:1.25rem;font-size:clamp(1.05rem,2.5vw,1.2rem)}
        .footer-links ul{list-style:none;margin:0;padding:0}
        .footer-links ul li{margin-bottom:0.75rem}
        .footer-links ul li a{color:rgba(255,255,255,0.7);text-decoration:none;transition:color 0.3s ease;font-size:clamp(0.9rem,2.5vw,1rem)}
        .footer-links ul li a:hover{color:var(--gold)}
        .footer-bottom{padding-top:2rem;text-align:center;font-size:clamp(0.85rem,2vw,0.95rem);margin:0}

        /* ========== ANIMATIONS ========== */
        @keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
        .reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}
        .reveal.visible{opacity:1;transform:translateY(0)}

        /* ========== FLOATING BUTTONS ========== */
        .whatsapp-float{position:fixed;bottom:28px;left:28px;z-index:998;width:44px;height:44px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,0.45);transition:transform 0.3s ease,box-shadow 0.3s ease;text-decoration:none}
        @media(min-width:768px){.whatsapp-float:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 28px rgba(37,211,102,0.55)}}
        .whatsapp-float svg{width:22px;height:22px;fill:white;flex-shrink:0}
        .whatsapp-float::before{content:'';position:absolute;width:100%;height:100%;border-radius:50%;background:#25D366;animation:wa-pulse 2.2s ease-out infinite;z-index:-1}
        @keyframes wa-pulse{0%{transform:scale(1);opacity:0.6}70%{transform:scale(1.6);opacity:0}100%{transform:scale(1.6);opacity:0}}
        @keyframes gold-pulse{0%{transform:scale(1);opacity:0.6}70%{transform:scale(1.65);opacity:0}100%{transform:scale(1.65);opacity:0}}
        /* --- Schedule (calendar) float --- */
        .schedule-float{position:fixed;bottom:84px;left:28px;z-index:998;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--charcoal);border-radius:50%;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,0.4),0 0 0 1.5px rgba(201,168,115,0.45);transition:transform 0.3s ease,box-shadow 0.3s ease;overflow:visible}
        .schedule-float::before{content:'';position:absolute;width:100%;height:100%;border-radius:50%;background:rgba(201,168,115,0.4);animation:gold-pulse 2.5s ease-out infinite;z-index:-1}
        .schedule-float-label,.announce-float-label{position:absolute;left:56px;background:var(--charcoal);color:var(--gold);font-family:'DM Sans',sans-serif;font-size:0.75rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;padding:0.38rem 0.8rem;border-radius:var(--radius-sm);pointer-events:none;opacity:0;transform:translateX(-8px);transition:opacity 0.22s ease,transform 0.22s ease;box-shadow:0 3px 12px rgba(0,0,0,0.25)}
        .schedule-float-label::after,.announce-float-label::after{content:'';position:absolute;left:-5px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left:none;border-right-color:var(--charcoal)}
        @media(min-width:768px){.schedule-float:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 28px rgba(0,0,0,0.45),0 0 0 2px rgba(201,168,115,0.75)}.schedule-float:hover .schedule-float-label{opacity:1;transform:translateX(0)}}
        .schedule-float svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
        /* --- Announcements (newsletter) float --- */
        .announce-float{position:fixed;bottom:140px;left:28px;z-index:998;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--charcoal);border-radius:50%;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,0.4),0 0 0 1.5px rgba(201,168,115,0.45);transition:transform 0.3s ease,box-shadow 0.3s ease;overflow:visible}
        .announce-float::before{content:'';position:absolute;width:100%;height:100%;border-radius:50%;background:rgba(201,168,115,0.4);animation:gold-pulse 2.5s ease-out 1.25s infinite;z-index:-1}
        .announce-float::after{content:'';position:absolute;top:7px;right:7px;width:9px;height:9px;background:var(--terracotta);border-radius:50%;border:2px solid var(--charcoal);box-shadow:0 1px 4px rgba(0,0,0,0.35)}
        @media(min-width:768px){.announce-float:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 28px rgba(0,0,0,0.45),0 0 0 2px rgba(201,168,115,0.75)}.announce-float:hover .announce-float-label{opacity:1;transform:translateX(0)}}
        .announce-float svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

        /* ========== SOCIAL FLOATS (left) ========== */
        .instagram-float{position:fixed;bottom:196px;left:28px;z-index:998;width:44px;height:44px;background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 50%,#fcb045 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 16px rgba(131,58,180,0.45);transition:transform 0.3s ease,box-shadow 0.3s ease}
        @media(min-width:768px){.instagram-float:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 24px rgba(131,58,180,0.55)}}
        .instagram-float svg{width:22px;height:22px;fill:white;flex-shrink:0}
        .facebook-float{position:fixed;bottom:252px;left:28px;z-index:998;width:44px;height:44px;background:#1877F2;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 16px rgba(24,119,242,0.45);transition:transform 0.3s ease,box-shadow 0.3s ease}
        @media(min-width:768px){.facebook-float:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 8px 24px rgba(24,119,242,0.55)}}
        .facebook-float svg{width:22px;height:22px;fill:white;flex-shrink:0}
        /* ========== BACK TO TOP ========== */
        /* ========== FAB SPEED DIAL (mobile only) ========== */
        .fab-trigger{display:none}
        @media(min-width:1024px){.fab-group,.fab-items{display:contents}}
        @media(max-width:1023px){
            .fab-group{position:fixed;bottom:72px;left:20px;z-index:999;display:flex;flex-direction:column-reverse;align-items:flex-start}
            .fab-items{display:flex;flex-direction:column-reverse;gap:10px;margin-bottom:10px;pointer-events:none}
            .fab-items .whatsapp-float,.fab-items .schedule-float,.fab-items .announce-float,.fab-items .instagram-float,.fab-items .facebook-float{position:relative!important;bottom:auto!important;left:auto!important;opacity:0!important;transform:scale(0.75) translateY(10px)!important;transition:opacity 0.18s ease,transform 0.18s ease!important;pointer-events:none}
            .fab-group.open .fab-items{pointer-events:all}
            .fab-group.open .fab-items .whatsapp-float,.fab-group.open .fab-items .schedule-float,.fab-group.open .fab-items .announce-float,.fab-group.open .fab-items .instagram-float,.fab-group.open .fab-items .facebook-float{opacity:1!important;transform:scale(1) translateY(0)!important;pointer-events:all}
            .fab-group.open .fab-items>:nth-child(1){transition-delay:0s}
            .fab-group.open .fab-items>:nth-child(2){transition-delay:0.05s}
            .fab-group.open .fab-items>:nth-child(3){transition-delay:0.10s}
            .fab-group.open .fab-items>:nth-child(4){transition-delay:0.15s}
            .fab-group.open .fab-items>:nth-child(5){transition-delay:0.20s}
            .fab-items .schedule-float-label,.fab-items .announce-float-label{opacity:0;transform:translateX(-8px);transition:opacity 0.18s ease,transform 0.18s ease}
            .fab-group.open .fab-items .schedule-float .schedule-float-label,.fab-group.open .fab-items .announce-float .announce-float-label{opacity:1;transform:translateX(0)}
            .fab-items .announce-float{display:none!important}
            .fab-trigger{display:flex;width:44px;height:44px;background:var(--charcoal);border:1.5px solid rgba(201,168,115,0.5);border-radius:50%;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,0.35);transition:background 0.25s ease,border-color 0.25s ease;padding:0;flex-shrink:0}
            .fab-trigger svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.3s ease,stroke 0.25s ease}
            .fab-group.open .fab-trigger{background:var(--terracotta);border-color:var(--terracotta)}
            .fab-group.open .fab-trigger svg{stroke:white;transform:rotate(45deg)}
        }

        /* ========== BOTTOM TAB BAR (mobile only) ========== */
        .bottom-tab-bar{display:none}
        @media(max-width:1023px){
            .bottom-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--charcoal);border-top:1px solid rgba(255,255,255,0.08);padding:0;height:60px;align-items:stretch;box-shadow:0 -4px 20px rgba(0,0,0,0.35)}
            .bt-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:rgba(255,255,255,0.45);text-decoration:none;font-family:'DM Sans',sans-serif;font-size:0.65rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;transition:color 0.2s ease;border:none;background:none;cursor:pointer;padding:0}
            .bt-tab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
            .bt-tab.active,.bt-tab:active{color:var(--gold)}
            body{padding-bottom:60px}
        }

        /* ========== CLASSES SHOW MORE (mobile) ========== */
        @media(max-width:767px){
            .class-card-compact.mobile-hidden{display:none}
        }
        .classes-show-more{display:none}
        @media(max-width:767px){
            .classes-show-more{display:flex;align-items:center;justify-content:center;gap:0.5rem;margin-top:1.5rem;width:100%;background:none;border:1.5px solid var(--terracotta);color:var(--terracotta);font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:600;padding:0.75rem 1.5rem;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.3s ease;letter-spacing:0.02em}
            .classes-show-more:active{background:var(--terracotta);color:white}
            .classes-show-more svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform 0.3s ease}
            .classes-show-more.expanded svg{transform:rotate(180deg)}
        }

        /* ========== ACTIVE NAV ========== */
        .nav-links a.nav-active{color:var(--terracotta) !important}
        .nav-links a.nav-active::after{width:100% !important}

        /* ========== UTILITY ========== */
        input[type="text"],input[type="email"],input[type="tel"],textarea,select{font-size:16px!important}
        .text-gold{color:var(--gold)}
        .text-terracotta{color:var(--terracotta)}
        .text-center{text-align:center}
        .mt-2{margin-top:2rem}

        /* ========== FORM TOAST ========== */
        .form-toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;background:var(--deep-brown);color:white;border-left:4px solid var(--gold);border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:0.95rem;line-height:1.5;box-shadow:0 8px 30px rgba(0,0,0,0.25);transform:translateY(16px);opacity:0;transition:transform 0.35s ease,opacity 0.35s ease;z-index:3000;max-width:320px;pointer-events:none}
        .form-toast.visible{transform:translateY(0);opacity:1}
        .form-toast.error{border-left-color:var(--terracotta)}
        @media(max-width:767px){.form-toast{bottom:80px;right:1rem;left:1rem;max-width:none}}

        /* ========== SERVICES LIGHTBOX ========== */
        .lb-overlay{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,0.92);align-items:center;justify-content:center;flex-direction:column;gap:1rem;padding:1.5rem}
        .lb-overlay.lb-open{display:flex;animation:lb-fade 0.2s ease}
        @keyframes lb-fade{from{opacity:0}to{opacity:1}}
        .lb-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 8px 40px rgba(0,0,0,0.6);display:block}
        .lb-caption{color:rgba(255,255,255,0.85);font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:500;letter-spacing:0.03em;text-align:center;margin:0}
        .lb-close{position:fixed;top:1.25rem;right:1.5rem;background:none;border:none;color:white;font-size:1.75rem;line-height:1;cursor:pointer;opacity:0.7;transition:opacity 0.2s ease;padding:0.25rem 0.5rem}
        .lb-close:hover{opacity:1}
        .lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:50%;color:white;font-size:2rem;line-height:1;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s ease;padding:0}
        .lb-prev{left:1rem}
        .lb-next{right:1rem}
        .lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,0.18)}
        .si-img{cursor:pointer}
