:root{--color-primary:#efd0f2;--color-primary-light:#f8ecf9;--color-primary-dark:#9c3fa6;--color-primary-dark-hover:#832a8c;--color-text:#2b1f2e;--color-text-muted:#6e5b6a;--color-bg:#fff;--color-bg-soft:#fdf6fa;--color-border:#e9d4e6;--color-placeholder-bg:#f4f4f4;--color-placeholder-border:#c9c9c9;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Poppins", Arial, sans-serif;--max-width:1200px;--radius:12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0}h1,h2,h3,h4{font-family:var(--font-heading)}img{max-width:100%;display:block}.header{z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.header__inner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:16px 24px;display:flex}.header__logo{align-items:center;text-decoration:none;display:flex}.header__logo img{width:auto;height:52px;display:block}.header__nav{align-items:center;gap:28px;display:flex}.header__nav a{color:var(--color-text);font-family:var(--font-body);font-size:.95rem;text-decoration:none}.header__nav a:hover{color:var(--color-primary-dark)}.header__cta{background:var(--color-primary-dark);border-radius:999px;padding:10px 20px;transition:background .2s;color:#fff!important}.header__cta:hover{background:var(--color-primary-dark-hover)}.header__toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.header__toggle span{background:var(--color-text);width:24px;height:2px}@media (width<=860px){.header__nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:0;max-height:0;transition:max-height .25s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.header__nav.is-open{max-height:600px}.header__nav a{box-sizing:border-box;border-top:1px solid var(--color-border);width:100%;padding:14px 24px}.header__nav .header__cta{text-align:center;border-top:none;width:calc(100% - 48px);margin:14px 24px;padding:12px 20px}.header__toggle{display:flex}}.img-placeholder{background:var(--color-placeholder-bg);border:2px dashed var(--color-placeholder-border);border-radius:var(--radius);width:100%;color:var(--color-text-muted);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.img-placeholder__icon{opacity:.6;font-size:2rem}.img-placeholder__label{font-size:.85rem;font-family:var(--font-body)}.service-modal__overlay{z-index:1000;background:#140c128c;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.service-modal{background:var(--color-bg);border-radius:var(--radius);box-sizing:border-box;width:100%;max-width:720px;padding:36px;position:relative}.service-modal__close{background:var(--color-bg-soft);cursor:pointer;width:36px;height:36px;color:var(--color-text);border:none;border-radius:50%;font-size:1rem;position:absolute;top:16px;right:16px}.service-modal h3{font-family:var(--font-heading);color:var(--color-text);margin:0 0 12px;padding-right:40px;font-size:1.6rem}.service-modal__description{font-family:var(--font-body);color:var(--color-text-muted);margin:0 0 24px;line-height:1.6}.service-modal__description--pending{opacity:.7;font-style:italic}.service-modal__gallery{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;display:grid}.service-modal__cta{text-align:center;background:var(--color-primary-dark);color:#fff;width:fit-content;font-family:var(--font-body);border-radius:999px;margin:24px auto 0;padding:10px 24px;font-size:.95rem;text-decoration:none;transition:background .2s;display:block}.service-modal__cta:hover{background:var(--color-primary-dark-hover)}@media (width<=560px){.service-modal{padding:24px}.service-modal__gallery{grid-template-columns:repeat(2,1fr)}}.services{max-width:var(--max-width);margin:0 auto;padding:64px 24px}.section-heading{text-align:center;margin-bottom:48px}.section-heading h2{font-family:var(--font-heading);color:var(--color-text);margin:0 0 12px;font-size:clamp(1.8rem,3vw,2.4rem)}.section-heading p{font-family:var(--font-body);color:var(--color-text-muted);margin:0}.services__grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.service-card{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;cursor:pointer;padding:20px;transition:transform .15s,box-shadow .15s}.service-card:hover,.service-card:focus-visible{outline:none;transform:translateY(-4px);box-shadow:0 10px 24px #00000014}.service-card h3{font-family:var(--font-heading);color:var(--color-text);margin:18px 0 6px;font-size:1.15rem}.service-card__link{font-family:var(--font-body);color:var(--color-primary-dark);font-size:.88rem;font-weight:600}@media (width<=900px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.services__grid{grid-template-columns:1fr}}.about{background:var(--color-bg-soft);max-width:var(--max-width);grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin:0 auto;padding:64px 24px;display:grid}.about__text h2{font-family:var(--font-heading);color:var(--color-text);margin:0 0 20px;font-size:clamp(1.8rem,3vw,2.4rem)}.about__text p{font-family:var(--font-body);color:var(--color-text-muted);margin:0 0 16px;line-height:1.7}.about__text p:last-child{margin-bottom:0}.about__pending{opacity:.7;font-style:italic}.about__images{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.about__images--single{grid-template-columns:1fr}.about__images--single img{height:auto;max-height:560px;aspect-ratio:auto!important}@media (width<=860px){.about{grid-template-columns:1fr}}.treatments{max-width:var(--max-width);margin:0 auto;padding:64px 24px}.treatments__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.treatment-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;padding:18px 22px;display:flex}.treatment-item__thumb{flex:0 0 88px;width:88px}.treatment-item__thumb img{border:1px solid var(--color-border);background:#fff}.treatment-item__info{flex-direction:column;flex:1;gap:4px;display:flex}.treatment-item__name{font-family:var(--font-heading);color:var(--color-text);font-size:1.05rem}.treatment-item__price{font-family:var(--font-body);color:var(--color-primary-dark);font-weight:600}.treatment-item__btn{text-align:center;white-space:nowrap;background:var(--color-primary-dark);color:#fff;font-family:var(--font-body);border-radius:999px;flex-basis:100%;padding:10px 18px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s}.treatment-item__btn:hover{background:var(--color-primary-dark-hover)}.products{background:var(--color-bg-soft);padding:64px 24px}.products .section-heading{max-width:var(--max-width);margin-left:auto;margin-right:auto}.products__grid{max-width:var(--max-width);grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto;display:grid}.product-category{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.product-category__header{align-items:center;gap:14px;display:flex}.product-category__thumb{flex:0 0 72px;width:72px}.product-category__thumb img{border:1px solid var(--color-border);background:#fff}.product-category__thumb .img-placeholder{border-width:1px;padding:4px}.product-category__thumb .img-placeholder__icon{font-size:1.4rem}.product-category__thumb .img-placeholder__label{display:none}.product-category__title{font-family:var(--font-heading);color:var(--color-text);margin:0;font-size:1.1rem}.product-category__note{font-family:var(--font-body);color:var(--color-text-muted);margin:2px 0 0;font-size:.8rem}.product-category__empty{font-family:var(--font-body);color:var(--color-text-muted);margin:0;font-size:.88rem}.product-category__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.product-category__item{border-bottom:1px dashed var(--color-border);font-family:var(--font-body);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;font-size:.88rem;display:flex}.product-category__item:last-child{border-bottom:none;padding-bottom:0}.product-category__name{color:var(--color-text)}.product-category__price-group{white-space:nowrap;align-items:baseline;gap:8px;display:flex}.product-category__price{color:var(--color-primary-dark);font-weight:700}.product-category__offer{background:var(--color-primary-dark);color:#fff;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.product-category__btn{text-align:center;background:var(--color-primary-dark);color:#fff;font-family:var(--font-body);border-radius:999px;margin-top:auto;padding:10px 14px;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .2s}.product-category__btn:hover{background:var(--color-primary-dark-hover)}@media (width<=900px){.products__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.products__grid{grid-template-columns:1fr}}.courses{max-width:var(--max-width);margin:0 auto;padding:64px 24px}.courses__grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.course-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);gap:22px;padding:18px;display:flex}.course-card__flyer{border:1px solid var(--color-border);border-radius:calc(var(--radius) - 4px);cursor:zoom-in;background:var(--color-bg-soft);flex:0 0 150px;align-self:flex-start;padding:0;position:relative;overflow:hidden}.course-card__flyer img{aspect-ratio:3/4;object-fit:cover;object-position:top;width:100%;transition:transform .3s;display:block}.course-card__flyer:hover img{transform:scale(1.04)}.course-card__flyer:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}.course-card__zoom{color:#fff;font-family:var(--font-body);letter-spacing:.04em;text-align:center;background:#2b1f2ea6;padding:6px;font-size:.72rem;position:absolute;bottom:0;left:0;right:0}.course-card__body{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.course-card__eyebrow{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary-dark);font-size:.72rem;font-weight:600}.course-card__title{font-family:var(--font-heading);color:var(--color-text);margin:-4px 0 0;font-size:1.35rem}.course-card__teacher{font-family:var(--font-body);color:var(--color-text-muted);margin:0;font-size:.85rem}.course-card__details{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.course-card__details li{background:var(--color-primary-light);color:var(--color-primary-dark);font-family:var(--font-body);border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600}.course-card__topics{font-family:var(--font-body);color:var(--color-text);flex-direction:column;gap:6px;margin:0;padding:0;font-size:.86rem;list-style:none;display:flex}.course-card__topics li{padding-left:20px;position:relative}.course-card__topics li:before{content:"✓";color:var(--color-primary-dark);font-weight:700;position:absolute;left:0}.course-card__btn{background:var(--color-primary-dark);color:#fff;font-family:var(--font-body);border-radius:999px;align-self:flex-start;margin-top:auto;padding:10px 20px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s}.course-card__btn:hover{background:var(--color-primary-dark-hover)}.courses__lightbox{z-index:1000;cursor:zoom-out;background:#140c12cc;justify-content:center;align-items:center;padding:40px 16px;display:flex;position:fixed;inset:0}.courses__lightbox img{border-radius:var(--radius);cursor:default;max-width:100%;max-height:100%}.courses__lightbox-close{background:var(--color-bg);width:36px;height:36px;color:var(--color-text);cursor:pointer;border:none;border-radius:50%;font-size:1rem;position:absolute;top:16px;right:16px}@media (width<=900px){.courses__grid{grid-template-columns:1fr}}@media (width<=480px){.course-card{flex-direction:column}.course-card__flyer{flex-basis:auto;width:100%}.course-card__flyer img{aspect-ratio:4/3}.course-card__btn{text-align:center;align-self:stretch}}.promo{background:var(--color-primary-dark);color:#fff;text-align:center;padding:72px 24px}.promo h2{font-family:var(--font-heading);margin:0 0 14px;font-size:clamp(1.8rem,3.5vw,2.6rem)}.promo p{font-family:var(--font-body);opacity:.9;margin:0 0 32px}.btn--light{color:var(--color-primary-dark);font-family:var(--font-body);background:#fff;border-radius:999px;padding:14px 32px;font-weight:700;text-decoration:none;transition:transform .2s;display:inline-block}.btn--light:hover{transform:translateY(-2px)}.footer{background:var(--color-text);color:#f4eef3;padding:56px 24px 24px}.footer__grid{max-width:var(--max-width);grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin:0 auto;display:grid}.footer__logo{border-radius:8px;width:auto;height:90px}.footer h4{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin:0 0 14px;font-size:.9rem}.footer ul{font-family:var(--font-body);opacity:.85;flex-direction:column;gap:8px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.footer a{color:inherit;text-decoration:none}.footer a:hover{color:var(--color-primary)}.footer__pending{opacity:.6;font-style:italic}.footer__bottom{max-width:var(--max-width);font-family:var(--font-body);border-top:1px solid #ffffff26;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:40px auto 0;padding-top:20px;font-size:.8rem;display:flex}.footer__bottom>span{opacity:.6}.footer__dev{color:#f4eef3bf;flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.footer__dev strong{color:var(--color-primary);font-weight:600}.footer__dev-services:before,.footer__dev-contact:before{content:"·";opacity:.6;margin-right:10px}.footer a.footer__dev-contact{color:var(--color-primary)}.footer a.footer__dev-contact:hover{text-decoration:underline}@media (width<=800px){.footer__grid{grid-template-columns:1fr 1fr}}@media (width<=500px){.footer__grid{grid-template-columns:1fr}}@media (width<=700px){.footer__bottom,.footer__dev{text-align:center;flex-direction:column}.footer__dev-services:before,.footer__dev-contact:before{content:none}}
