:root{--color-bg:#ffffff;--color-bg-elevated:#faf9f7;--color-surface:#f2f0ec;--color-border:rgba(26,24,22,0.08);--color-text:#1a1816;--color-text-muted:#6b6560;--color-muted:#4a4540;--color-accent:#000000;--color-accent-light:#000000;--color-accent-dark:#000000;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--ease-out:cubic-bezier(0.16,1,0.3,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body),system-ui,sans-serif;font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--color-bg);overflow-x:hidden}.section-title,h1,h2,h3{font-family:var(--font-display),Georgia,serif}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.section-label{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-sm)}.section-title{font-size:clamp(2.25rem,5vw,3.5rem);font-weight:500;line-height:1.15;margin-bottom:var(--space-md);color:var(--color-text)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.75rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:all .4s var(--ease-out)}.btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn--primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(154,123,61,.25)}.btn--outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn--full{width:100%}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:transparent;transition:background .4s var(--ease-out),box-shadow .4s var(--ease-out),color .3s}.nav.scrolled{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--color-border)}.nav__logo{font-family:var(--font-logo),var(--font-display);font-size:1.75rem;font-weight:600;color:#f5f0e8;text-decoration:none;letter-spacing:.1em;transition:color .3s}.nav.scrolled .nav__logo{color:var(--color-text)}.nav__links{display:flex;align-items:center;gap:var(--space-lg);list-style:none}.nav__links a{color:rgba(245,240,232,.9);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.05em;transition:color .3s}.nav.scrolled .nav__links a{color:var(--color-text-muted)}.nav__links a:focus,.nav__links a:hover{color:var(--color-accent-light)}.nav.scrolled .nav__links a:focus,.nav.scrolled .nav__links a:hover{color:var(--color-accent)}.nav__cta{color:var(--color-accent-light)!important;border:1px solid rgba(245,240,232,.6);padding:.5rem 1rem;transition:color .3s,border-color .3s,background .3s}.nav.scrolled .nav__cta{color:var(--color-accent)!important;border-color:var(--color-accent)}.nav__cta:hover{background:var(--color-accent);color:#fff!important;border-color:var(--color-accent)}.nav__toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:4px}.nav__toggle span{width:24px;height:2px;background:#f5f0e8;transition:transform .3s,background .3s}.nav.scrolled .nav__toggle span{background:var(--color-text)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);overflow:hidden;background:var(--color-bg)}.hero__bg{z-index:0}.hero__bg,.hero__video{position:absolute;inset:0}.hero__video{width:100%;height:100%;object-fit:cover}.hero__gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.45) 50%,rgba(0,0,0,.55)),radial-gradient(ellipse 80% 50% at 70% 20%,rgba(201,169,98,.08) 0,transparent 50%)}.hero__noise{position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.hero__content{position:relative;z-index:1;text-align:center;max-width:700px}.hero__tagline{margin-bottom:var(--space-sm);opacity:0;animation:fadeUp .8s var(--ease-out) .2s forwards}.hero__tagline-inner{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#fff;padding:.5em 1.25em;border:1px solid rgba(255,255,255,.5);border-radius:9999px}.hero__title{font-family:var(--font-display);font-size:clamp(4rem,12vw,8rem);font-weight:500;line-height:.95;letter-spacing:-.02em;margin-bottom:var(--space-md);overflow:hidden}.hero__title-line{display:block;opacity:0;animation:fadeUp .8s var(--ease-out) forwards}.hero__title-line:first-child{animation-delay:.4s;color:#f5f0e8}.hero__title-line--accent{animation-delay:.5s;color:#fff;font-style:italic}.hero__subtitle{font-size:1.1rem;color:rgba(245,240,232,.9);max-width:500px;margin:0 auto var(--space-lg);line-height:1.7;opacity:0;animation:fadeUp .8s var(--ease-out) .6s forwards}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;opacity:0;animation:fadeUp .8s var(--ease-out) .8s forwards}.hero .btn--outline{color:#f5f0e8;border-color:rgba(245,240,232,.6)}.hero .btn--outline:hover{border-color:var(--color-accent-light);color:var(--color-accent-light)}.hero__scroll{position:absolute;bottom:var(--space-lg);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:rgba(245,240,232,.7);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;animation:fadeIn 1s 1.2s forwards;opacity:0}.hero__scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--color-accent),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.5;transform:scaleY(.5)}}.about{padding:var(--space-2xl) 0;background:var(--color-bg-elevated)}.about__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2xl);gap:var(--space-2xl);align-items:center}.about__image-wrap{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;box-shadow:0 24px 48px rgba(26,24,22,.08)}.about__image{object-fit:cover}.about__badge{position:absolute;bottom:var(--space-md);right:var(--space-md);background:var(--color-accent);color:#fff;padding:var(--space-md) var(--space-lg);border-radius:4px;text-align:center}.about__badge-num{display:block;font-family:var(--font-display);font-size:2rem;font-weight:600}.about__badge-text{font-size:.75rem;font-weight:600;letter-spacing:.1em}.about__lead{font-size:1.15rem;color:var(--color-muted);margin-bottom:var(--space-md)}.about__text p:not(.about__lead){color:var(--color-text-muted);margin-bottom:var(--space-md)}.about__features{list-style:none;margin-top:var(--space-lg)}.about__features li{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;color:var(--color-muted);font-size:.95rem}.about__feature-icon{color:var(--color-accent);font-size:.6rem}.programs{padding:var(--space-2xl) 0;background:var(--color-bg)}.section-header{text-align:center;margin-bottom:var(--space-xl);max-width:600px;margin-left:auto;margin-right:auto}.programs__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-lg);gap:var(--space-lg)}.programs__grid .program-card,.programs__grid>.reveal{height:100%}.program-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);transition:all .4s var(--ease-out);position:relative;overflow:hidden}.program-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}.program-card:hover{border-color:rgba(154,123,61,.35);transform:translateY(-4px);box-shadow:0 20px 40px rgba(26,24,22,.08)}.program-card:hover:before{transform:scaleX(1)}.program-card__visual{position:relative;margin-bottom:var(--space-md)}.program-card__number{font-family:var(--font-display);font-size:3rem;font-weight:600;color:rgba(154,123,61,.15);line-height:1}.program-card__icon{position:absolute;bottom:0;right:0;font-size:2rem;color:var(--color-accent);opacity:.8}.program-card h3{font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-bottom:var(--space-sm);color:var(--color-text)}.program-card p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:var(--space-md)}.program-card__link{color:var(--color-accent);text-decoration:none;font-size:.9rem;font-weight:600;transition:gap .3s;display:inline-flex;align-items:center;gap:.25rem}.program-card__link:hover{gap:.5rem}.programs__grid--tiers .tier-card{height:100%}.tier-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);transition:all .4s var(--ease-out);position:relative;overflow:hidden;display:flex;flex-direction:column}.tier-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}.tier-card:hover{border-color:rgba(154,123,61,.35);transform:translateY(-4px);box-shadow:0 20px 40px rgba(26,24,22,.08)}.tier-card:hover:before{transform:scaleX(1)}.tier-card__badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--space-sm)}.tier-card__title{font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin-bottom:var(--space-md);color:var(--color-text);line-height:1.25}.tier-card__desc{color:var(--color-text-muted);font-size:.95rem;margin-bottom:var(--space-md);flex:1 1}.calendar-section{padding:var(--space-2xl) 0;background:var(--color-bg-elevated)}.calendar{max-width:560px;margin:0 auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-lg);box-shadow:0 8px 32px rgba(26,24,22,.06)}.calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.calendar__nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:1rem;color:var(--color-text);cursor:pointer;transition:border-color .2s,background .2s}.calendar__nav:hover{border-color:var(--color-accent);background:rgba(154,123,61,.08)}.calendar__title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--color-text)}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:var(--space-xs)}.calendar__weekday{font-size:.7rem;font-weight:600;letter-spacing:.05em;color:var(--color-text-muted);text-align:center;padding:4px 0}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.calendar__cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;font-size:.9rem;color:var(--color-text-muted);position:relative}.calendar__cell--empty{background:transparent}.calendar__cell--has-class{color:var(--color-text);font-weight:500;background:rgba(154,123,61,.08)}.calendar__cell--has-class[data-tier="1"]{background:rgba(154,123,61,.12);color:var(--color-accent-dark)}.calendar__cell--has-class[data-tier="2"]{background:rgba(154,123,61,.08)}.calendar__cell--has-class[data-tier="3"]{background:rgba(201,169,98,.1)}.calendar__cell--today{border:2px solid var(--color-accent);border-radius:50%;color:var(--color-text);font-weight:600;background:rgba(154,123,61,.08)}.calendar__cell--today.calendar__cell--has-class{border-width:2px}.calendar__day{line-height:1}.calendar__dot{font-size:.5rem;margin-top:2px;color:var(--color-accent)}.calendar__cell--past{background:rgba(0,0,0,.06)!important;color:var(--color-text-muted)}.calendar__x{position:absolute;inset:0;display:flex;font-size:1.5rem;font-weight:300;opacity:.7;pointer-events:none;line-height:1}.calendar__legend-x,.calendar__x{align-items:center;justify-content:center;color:var(--color-text-muted)}.calendar__legend-x{display:inline-flex;width:18px;height:18px;font-size:1rem}.calendar__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);font-size:.8rem;color:var(--color-text-muted)}.calendar__legend-item{display:flex;align-items:center;gap:.5rem}.calendar__legend-dot{width:8px;height:8px;border-radius:50%}.calendar__legend-dot--today{background:transparent;border:2px solid var(--color-accent)}.calendar__legend-dot--1{background:var(--color-accent-dark)}.calendar__legend-dot--2{background:var(--color-accent)}.calendar__legend-dot--3{background:var(--color-accent-light)}.gallery{padding:var(--space-2xl) 0;background:var(--color-bg-elevated)}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(280px,280px);grid-gap:var(--space-md);gap:var(--space-md)}.gallery__grid>.reveal{min-height:100%}.gallery__grid>.reveal:first-child,.gallery__grid>.reveal:nth-child(2),.gallery__grid>.reveal:nth-child(3),.gallery__grid>.reveal:nth-child(4),.gallery__grid>.reveal:nth-child(5),.gallery__grid>.reveal:nth-child(6){grid-column:span 1;grid-row:span 1}.gallery__grid .gallery__item{height:100%;min-height:280px}.gallery__item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 8px 24px rgba(26,24,22,.08);background:var(--color-surface);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}.gallery__item:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(26,24,22,.16)}.gallery__image,.gallery__video{object-fit:cover}.gallery__video{position:absolute;inset:0;width:100%;height:100%}.gallery__item--video{cursor:default}.gallery__overlay{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s var(--ease-out);pointer-events:none}.gallery__overlay span{font-family:var(--font-display);font-size:1.25rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff;transform:translateY(10px);transition:transform .4s var(--ease-out)}.gallery__item:hover .gallery__overlay{opacity:1}.gallery__item:hover .gallery__overlay span{transform:translateY(0)}.testimonials{padding:var(--space-2xl) 0;background:var(--color-bg)}.testimonials__slider{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-lg);gap:var(--space-lg)}.testimonial{padding:var(--space-lg);background:var(--color-bg-elevated);border:1px solid #0a0a0a;border-radius:8px;position:relative;transition:border-color .3s}.testimonial:before{content:'"';position:absolute;top:var(--space-md);left:var(--space-md);font-family:var(--font-display);font-size:4rem;color:var(--color-accent);opacity:.2;line-height:1}.testimonial:hover{border-color:#000}.testimonial__quote{font-family:var(--font-display);font-size:1.2rem;font-style:italic;line-height:1.6;color:var(--color-muted);margin-bottom:var(--space-md);padding-top:var(--space-lg)}.testimonial__author strong{color:var(--color-text);font-size:.95rem}.testimonial__author span{font-size:.8rem;color:var(--color-accent);letter-spacing:.05em}.testimonial__author{display:flex;flex-direction:column;gap:.25rem}.payment{padding:var(--space-2xl) 0;background:var(--color-bg)}.payment__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-lg);gap:var(--space-lg);margin-bottom:var(--space-xl)}.payment__grid>.reveal{height:100%}.payment-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-lg);display:flex;flex-direction:column;align-items:stretch;transition:all .4s var(--ease-out)}.payment-card:hover{border-color:rgba(154,123,61,.35);box-shadow:0 20px 40px rgba(26,24,22,.08)}.payment-card__badge{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--space-sm)}.payment-card__title{font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-md);line-height:1.3}.payment-card__price{margin-bottom:var(--space-lg)}.payment-card__amount{display:block;font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--color-accent);line-height:1.2}.payment-card__period{font-size:.85rem;color:var(--color-text-muted)}.payment__note{text-align:center;font-size:.9rem;color:var(--color-text-muted);max-width:560px;margin:0 auto}@media (max-width:1024px){.payment__grid{grid-template-columns:1fr}}.contact{padding:var(--space-2xl) 0;background:var(--color-bg-elevated)}.contact__grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2xl);gap:var(--space-2xl);align-items:start}.contact__info>p{color:var(--color-text-muted);margin-bottom:var(--space-lg)}.contact__details{display:flex;flex-direction:column;gap:var(--space-md)}.contact__details p{font-size:.95rem;color:var(--color-muted)}.contact__details strong{display:block;color:var(--color-text);margin-bottom:.25rem;font-size:.8rem;letter-spacing:.1em}.contact__form{gap:var(--space-md);background:var(--color-bg);padding:var(--space-lg);border-radius:8px;border:1px solid var(--color-border);box-shadow:0 8px 32px rgba(26,24,22,.06)}.contact__form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.8rem;font-weight:600;letter-spacing:.05em;color:var(--color-text-muted)}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem;font-family:var(--font-body);font-size:.95rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;transition:border-color .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b6560' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group textarea{resize:vertical;min-height:100px}.footer{padding:var(--space-xl) 0;border-top:1px solid rgba(255,255,255,.1);background:#0a0a0a}.footer__content{text-align:center}.footer__logo{font-family:var(--font-logo),var(--font-display);font-size:1.5rem;font-weight:600;color:#f5f0e8;text-decoration:none;letter-spacing:.1em;display:inline-block;margin-bottom:var(--space-sm)}.footer__tagline{font-size:.9rem;color:rgba(245,240,232,.7);margin-bottom:var(--space-md)}.footer__brands{display:flex;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-md)}.footer__brand-img{width:40px;height:40px;object-fit:contain;opacity:.8;transition:opacity .2s;filter:brightness(1.1)}.footer__brand-img:hover{opacity:1}.footer__links{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.footer__links a{color:rgba(245,240,232,.7);text-decoration:none;font-size:.9rem;transition:color .3s}.footer__links a:hover{color:var(--color-accent-light)}.footer__copy{font-size:.8rem;color:rgba(245,240,232,.5)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--reveal-delay,0s)}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:1024px){.about__grid{grid-template-columns:1fr;gap:var(--space-xl)}.about__visual{max-width:400px}.contact__grid,.programs__grid,.testimonials__slider{grid-template-columns:1fr}}@media (max-width:768px){.nav__links{position:fixed;top:0;right:0;width:100%;max-width:280px;height:100vh;background:#ffffff;flex-direction:column;justify-content:center;gap:var(--space-lg);transform:translateX(100%);transition:transform .4s var(--ease-out);border-left:1px solid var(--color-border);box-shadow:-8px 0 32px rgba(26,24,22,.08)}.nav__links a{color:var(--color-text-muted)!important}.nav__links .nav__cta,.nav__links a:hover{color:var(--color-accent)!important}.nav__links .nav__cta{border-color:var(--color-accent)}.nav__links.open{transform:translateX(0)}.nav__toggle{display:flex;z-index:101}.nav.open .nav__toggle span:first-child{transform:rotate(45deg) translate(5px,5px)}.nav.open .nav__toggle span:nth-child(2){opacity:0}.nav.open .nav__toggle span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero__actions{flex-direction:column}.hero__actions .btn{width:100%}.gallery__grid{display:flex;gap:var(--space-sm);overflow-x:auto;padding:0 4vw var(--space-xs);margin:0 -4vw;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.gallery__grid>.reveal:first-child,.gallery__grid>.reveal:nth-child(2),.gallery__grid>.reveal:nth-child(3),.gallery__grid>.reveal:nth-child(4),.gallery__grid>.reveal:nth-child(5),.gallery__grid>.reveal:nth-child(6){grid-column:auto;grid-row:auto;flex:0 0 82%;scroll-snap-align:center;min-height:250px}.gallery__grid>.reveal:nth-child(odd) .gallery__item{transform:rotate(-1deg)}.gallery__grid>.reveal:nth-child(2n) .gallery__item{transform:rotate(1deg)}.gallery__grid .gallery__item{min-height:250px;border-radius:16px;box-shadow:0 18px 34px rgba(26,24,22,.16)}.gallery__grid .gallery__overlay{opacity:1;background:linear-gradient(0deg,rgba(0,0,0,.52),rgba(0,0,0,.08))}.gallery__grid .gallery__overlay span{transform:translateY(0);align-self:flex-end;padding-bottom:1.25rem;font-size:1rem}.gallery__grid::-webkit-scrollbar{height:6px}.gallery__grid::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:999px}.calendar{padding:var(--space-md)}.calendar__cell{font-size:.8rem}.calendar__legend{flex-direction:column}.testimonials__slider{display:flex;gap:var(--space-md);overflow-x:auto;padding:0 0 var(--space-xs);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.testimonials__slider>.reveal{flex:0 0 86%;scroll-snap-align:start}.testimonials__slider .testimonial{height:100%}.testimonials__slider::-webkit-scrollbar{height:6px}.testimonials__slider::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:999px}}.onboarding{inset:0;z-index:200;place-items:center;padding:var(--space-md)}.onboarding,.onboardingFab{position:fixed;display:grid}.onboardingFab{right:18px;bottom:18px;z-index:220;width:56px;height:56px;border-radius:999px;border:1px solid rgba(154,123,61,.35);background:linear-gradient(135deg,rgba(154,123,61,.18),rgba(201,169,98,.15));box-shadow:0 18px 40px rgba(0,0,0,.18);cursor:pointer;place-items:center;overflow:hidden}.onboardingFab__img{object-fit:cover}.onboardingFab__label{position:absolute;right:62px;bottom:18px;padding:.6rem .8rem;border-radius:999px;background:rgba(0,0,0,.78);color:#fff;font-size:.85rem;font-weight:700;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.25)}.onboardingFab:hover{transform:translateY(-2px)}@media (max-width:520px){.onboardingFab{right:14px;bottom:14px;width:52px;height:52px}.onboardingFab__label{right:58px;bottom:12px;font-size:.8rem}}.onboarding__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);animation:onboardingBackdropIn .22s ease-out both}.onboarding__modal{position:relative;width:100%;max-width:560px;max-height:86vh;overflow:auto;background:#ffffff;border:1px solid var(--color-border);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.25);animation:onboardingModalIn .28s var(--ease-out) both;transform-origin:50% 20%}@keyframes onboardingBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes onboardingModalIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.onboarding__top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-border)}.onboarding__profile{display:flex;justify-content:center;margin-top:-18px;margin-bottom:var(--space-sm);position:relative;z-index:2}.onboarding__profileIcon{width:52px;height:52px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));border:1px solid rgba(154,123,61,.35);box-shadow:0 14px 30px rgba(154,123,61,.18)}.onboarding__profileImg{object-fit:cover}.onboarding__progress{display:flex;align-items:center;gap:10px}.onboarding__progress span{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:700;font-size:.85rem;color:var(--color-text-muted);background:var(--color-bg-elevated);border:1px solid var(--color-border)}.onboarding__progress span.active{background:rgba(154,123,61,.12);border-color:rgba(154,123,61,.35);color:var(--color-accent-dark)}.onboarding__close{width:36px;height:36px;border-radius:10px;border:1px solid var(--color-border);background:#fff;cursor:pointer;font-size:1.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text)}.onboarding__close:hover{border-color:var(--color-accent);color:var(--color-accent)}.onboarding__title{font-family:var(--font-display);font-size:1.6rem;font-weight:500;padding:0 var(--space-md);margin-top:0}.onboarding__subtitle{padding:0 var(--space-md);margin-top:.5rem;color:var(--color-text-muted);font-size:.95rem}.onboarding__form{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);animation:onboardingStepIn .24s var(--ease-out) both;transform-origin:50% 30%}@keyframes onboardingStepIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onboarding__row label{display:block;font-size:.85rem;font-weight:700;letter-spacing:.03em;color:var(--color-text-muted);margin-bottom:.6rem}.onboarding__row input[type=email],.onboarding__row input[type=tel],.onboarding__row input[type=text]{width:100%;padding:.9rem 1rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:.95rem}.onboarding__row input:focus{outline:none;border-color:var(--color-accent)}.onboarding__choices{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-sm);gap:var(--space-sm)}.onboarding__choice{display:flex;align-items:center;gap:.6rem;padding:.85rem .9rem;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-elevated);cursor:pointer}.onboarding__choice input{accent-color:var(--color-accent)}.onboarding__choice span{font-size:.95rem;color:var(--color-text)}.onboarding__error{padding:.75rem .9rem;border-radius:12px;border:1px solid rgba(154,123,61,.35);background:rgba(154,123,61,.1);color:var(--color-accent-dark);font-weight:700;font-size:.9rem}.onboarding__actions{display:flex;gap:var(--space-sm)}.onboarding__actions--stack{justify-content:space-between}.onboarding__back,.onboarding__cta{flex:1 1}@media (max-width:520px){.onboarding{padding:.5rem}.onboarding__modal{max-width:100%;max-height:92vh;overflow:auto;border-radius:14px}.onboarding__top{padding:.75rem}.onboarding__title{font-size:1.25rem;margin-top:.75rem}.onboarding__subtitle{font-size:.9rem}.onboarding__form{padding:.75rem}.onboarding__close{width:32px;height:32px}.onboarding__profile{margin-top:-12px;margin-bottom:var(--space-xs)}.onboarding__profileIcon{width:46px;height:46px}.onboarding__choices{grid-template-columns:1fr}.onboarding__actions{flex-direction:column}.onboarding__actions--stack{justify-content:flex-start}.onboarding__back,.onboarding__cta{width:100%}}@media (prefers-reduced-motion:reduce){.onboarding__backdrop,.onboarding__form,.onboarding__modal{animation:none!important}}