:root{--accent:#f4a259;--accent-dark:#d96c33;--muted:#7b6f63;--bg:#f5eee7}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:#2b2623;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;overflow-x:hidden}.navbar-brand{align-items:center;margin-left:0;padding-left:0;text-decoration:none;display:inline-flex}.brand{letter-spacing:.04em;color:#2b2623;border-radius:999px;padding:6px 14px;font-family:Poppins;font-size:1.7rem;font-weight:600;transition:color .2s;position:relative;overflow:hidden}.brand:before{content:"";opacity:0;transform-origin:50%;z-index:-1;background:#061869;transition:opacity .22s,transform .22s;position:absolute;inset:0;transform:scaleX(.4)}.navbar-brand:hover .brand{color:#fff}.navbar-brand:hover .brand:before{opacity:1;transform:scaleX(1)}.home-page .navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #0000000d;background:#fcac66!important}.admissions-page .navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #0000000d;background:#a9cce3!important}.nav-link{font-size:1.2rem;font-weight:500;transition:color .2s,font-weight .2s;position:relative;color:#5a4c41!important}.nav-link:hover,.nav-link:focus{text-underline-offset:4px;font-weight:700;text-decoration:underline;color:var(--accent-dark)!important}.nav-link.active{text-underline-offset:4px;font-weight:700;text-decoration:underline}.carousel-item{height:100vh;position:relative}.hero-img{object-fit:cover;width:100%;height:100vh}.hero-img-1{object-position:center center}.hero-img-2{object-position:center top}.hero-img-3{object-position:center center}.hero-overlay{background:linear-gradient(#0000008c,#00000059,#000000a6);position:absolute;inset:0}.carousel-control-prev,.carousel-control-next{width:5%}.carousel-indicators button{border-radius:50%;width:12px;height:12px}.carousel-indicators .active{background-color:var(--accent)}.btn-accent{background:var(--accent);color:#2b2623;border:none;font-weight:600;transition:all .3s}.btn-accent:hover{background:var(--accent-dark);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #d96c3359}.btn-outline-dark{color:#5a4c41;border-color:#5a4c41}.btn-outline-dark:hover{color:#f5eee7;background-color:#5a4c41}section h2,section .display-6{color:#2b2623}.class-card{background:#fdf8f3;border:1px solid #00000008;border-radius:14px;transition:all .3s;overflow:hidden;box-shadow:0 6px 20px #0f0f0f0f}.class-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #0f0f0f1f}.testimonial-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1.5rem;padding-bottom:1rem;display:flex;overflow-x:auto}.testimonial-strip::-webkit-scrollbar{height:10px}.testimonial-strip::-webkit-scrollbar-thumb{background:#7553364d;border-radius:999px}.testimonial-card{scroll-snap-align:start;background:#fff;border:1px solid #0000000f;border-radius:20px;flex:0 0 min(100%,360px);min-width:320px;box-shadow:0 12px 24px #0000000f}.testimonial-card .card-body{padding:1.75rem}.testimonial-preview{color:#4f453d;line-height:1.8}.testimonial-full{border-top:1px solid #00000014;margin-top:.75rem;padding-top:.9rem}.testimonial-full summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:0;list-style:none}.testimonial-full summary::-webkit-details-marker{display:none}.testimonial-full summary:before{content:"Read full review";color:var(--accent-dark);font-size:1rem}.testimonial-full summary:after{content:"▼";color:var(--accent-dark);margin-left:.5rem;font-size:1rem;transition:transform .35s;display:inline-block}.testimonial-full[open] summary:after{transform:rotate(180deg)}.testimonial-full[open] summary:before{content:"Close review"}.testimonial-full[open]{flex-direction:column;display:flex}.testimonial-full[open] summary{order:1;margin-top:.75rem;margin-bottom:0}.testimonial-full .review-body{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),opacity .35s;display:grid;overflow:hidden}.testimonial-full .review-body-inner{min-height:0}.testimonial-full.is-open .review-body{opacity:1;grid-template-rows:1fr}.testimonial-full .review-body p{margin-bottom:.75rem}#page-loader{z-index:9999;background:#fdf8f3;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}#page-loader.loader-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-spinner{border:4px solid #75533626;border-top-color:var(--accent-dark,#75352a);border-radius:50%;width:52px;height:52px;animation:.85s linear infinite loaderSpin}.loader-text{color:#75352a;letter-spacing:.08em;opacity:.75;font-family:Poppins,sans-serif;font-size:.9rem}@keyframes loaderSpin{to{transform:rotate(360deg)}}.text-muted{color:var(--muted)!important}.icon-box{background:#f4a2591f;border-radius:10px;padding:12px;display:inline-block}.text-accent{color:var(--accent)}#schedule{background:#f0e4d7}.schedule-card{background:#fdf7f0;border-radius:14px;transition:all .3s}.schedule-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0f0f0f1a!important}.day-badge{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;letter-spacing:.08em;border-radius:999px;padding:8px 16px;font-size:.875rem;font-weight:600}.schedule-item{border-left:3px solid var(--accent);background:#f4a25914;border-radius:6px;margin-bottom:12px;padding:12px}.schedule-item:last-child{margin-bottom:0}.badge.bg-accent{color:#2b2623;padding:9px 18px;font-size:1rem;font-weight:650;background-color:var(--accent)!important}.instructor-photo-wrapper{max-width:320px;margin:0 auto}.instructor-photo{object-fit:cover;object-position:center;border-radius:18px;width:100%;height:380px;box-shadow:0 18px 45px #0000002e}.instructor-content{padding-left:.5rem}@media (width<=991.98px){.instructor-content{text-align:center;padding-left:0}.instructor-content ul{text-align:left;display:inline-block}}.testimonial{background:#fdf8f3;border:1px solid #00000008;border-radius:12px;height:100%;padding:1.5rem;transition:all .3s;box-shadow:0 8px 30px #1414140f}.testimonial:hover{transform:translateY(-5px);box-shadow:0 12px 40px #1414141f}.testimonial-link{color:inherit;cursor:pointer;height:100%;text-decoration:none;display:block}.testimonial-link:hover .testimonial{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 12px 40px #1414141f}#contact .card{background:#fdf8f3;border:1px solid #0000000a;border-radius:14px}.contact-info-card{background:#fdf8f3;border-radius:14px;transition:all .3s;box-shadow:0 4px 16px #0f0f0f0f}.contact-info-card:hover{transform:translateY(-6px);box-shadow:0 10px 28px #0f0f0f1c}.contact-icon{width:64px;height:64px;color:var(--accent-dark);background:#f4a25926;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:flex}.contact-link{color:var(--accent-dark);word-break:break-all;font-weight:500;text-decoration:none}.contact-link:hover{color:var(--accent);text-decoration:underline}.faq-item{background:#fdf8f3;border:none;overflow:hidden;box-shadow:0 4px 14px #0f0f0f0f;border-radius:12px!important}.faq-btn{color:#2b2623;background:#fdf8f3;border:none;padding:1.1rem 1.4rem;font-size:1rem;font-weight:600;box-shadow:none!important}.faq-btn:not(.collapsed){background:var(--accent);color:#2b2623}.faq-btn:after,.faq-btn:not(.collapsed):after{filter:none}.faq-body{color:var(--muted);background:#fdf8f3;border-top:1px solid #0000000d;padding:1rem 1.4rem 1.2rem;font-size:.97rem;line-height:1.7}.holiday-notice{background:#fff3cd;border:2px solid #f4a259;border-left:6px solid #d96c33;border-radius:12px;padding:1.1rem 1.5rem}.holiday-icon{flex-shrink:0;font-size:2rem}.holiday-title{color:#2b2623;margin-bottom:.2rem;font-size:1.1rem;font-weight:700;display:block}.holiday-sub{color:#7b6f63;font-size:.95rem;display:block}footer{color:#f5eee7;background:#1d1410}footer .text-muted{color:#b19b88!important}footer a{color:#d9c2ae!important}footer a:hover{color:var(--accent)!important}.form-control{background:#f9f2eb;border-color:#00000014}.form-control:focus{border-color:var(--accent);background:#fdf7f0;box-shadow:0 0 0 .2rem #f4a25959}.dark-accent{background-color:#c8551a!important}#register-form .form-check-input:checked{background-color:#c8551a;border-color:#c8551a}#register-form .form-check-input:focus{box-shadow:0 0 0 .25rem #c8551a40}.text-dark-accent{color:#c8551a!important}.form-control.is-invalid{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354526}.form-control.is-valid{border-color:#28a745;box-shadow:0 0 0 .2rem #28a7451f}.radio-invalid{border-radius:8px;padding:8px 12px;border:2px solid #dc3545!important}.field-error{color:#dc3545;margin-top:5px;font-size:.83rem;font-weight:500;display:none}.iti{width:100%}.iti.is-invalid{border:1.5px solid #dc3545;border-radius:6px}.iti.is-valid{border:1.5px solid #198754;border-radius:6px}html{scroll-behavior:smooth}[data-aos]{pointer-events:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=767px){.brand{font-size:1.1rem}.nav-link{padding:.5rem 0;font-size:1rem}.carousel-item,.hero-img{height:75vh}.display-4{font-size:1.7rem;line-height:1.3}.lead{font-size:.95rem}.hero-overlay .d-flex.gap-3{flex-direction:column;align-items:center;gap:.75rem!important}.hero-overlay .btn{width:80%;font-size:1rem}.display-6{font-size:1.5rem}.class-card{margin-bottom:.5rem}.day-badge{padding:6px 12px;font-size:.75rem}.schedule-item .d-flex{flex-direction:column;align-items:flex-start;gap:.4rem}.badge.bg-accent{align-self:flex-start;font-size:.85rem}.holiday-notice{text-align:center;flex-direction:column;gap:.5rem!important}.instructor-photo{height:280px}.instructor-photo-wrapper{max-width:260px}.testimonial{padding:1.2rem}.faq-btn{padding:.9rem 1rem;font-size:.92rem}.contact-info-card{padding:1.2rem!important}.card-body.p-5{padding:1.5rem!important}footer .col-md-6:last-child{margin-top:.5rem;text-align:left!important}section.py-5{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.mb-5{margin-bottom:2rem!important}}@media (width<=400px){.brand{font-size:.95rem}.display-4{font-size:1.4rem}.display-6{font-size:1.3rem}.hero-overlay .btn{width:95%;font-size:.95rem}.carousel-item,.hero-img{height:65vh}.instructor-photo{height:240px}}
