:root{--terracotta:#C87A5C;--terracotta-deep:#A85D42;--sand:#F5EDE4;--cream:#FBF7F2;--olive:#9B9E7F;--dusty-rose:#FFF5EE;--text-dark:#3D2E2A;--text-medium:#6B5D58;--text-light:#A8988F;--white:#FFFFFF;--macrame:#E8D5C8;--sunset:#FFE4D6;--gold:#C8A96E;--gold-deep:#B8943A;--error:#D64045;--success:#5B8C5A;--shadow-xs:0 2px 8px rgba(61,46,42,0.04);--shadow-sm:0 4px 20px rgba(61,46,42,0.06);--shadow-md:0 12px 35px rgba(39,33,31,0.08);--shadow-lg:0 20px 50px rgba(61,46,42,0.12);--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:100px;--ease-out:cubic-bezier(0.25,0.46,0.45,0.94);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.68,-0.55,0.265,1.55);--header-height:64px;--safe-bottom:env(safe-area-inset-bottom,0px)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-padding-top:var(--header-height)}body{font-family:'Montserrat',sans-serif;background:var(--cream);color:var(--text-dark);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;min-height:100dvh}h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:400;line-height:1.15}img,video{display:block;max-width:100%;height:auto}a{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}ul{list-style:none}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;-webkit-tap-highlight-color:transparent}input,select,textarea{font-family:inherit;font-size:16px;border-radius:var(--radius-sm)}::selection{background:var(--terracotta);color:var(--white)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;height:var(--header-height);background:rgba(251,247,242,0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(200,122,92,0.08);transition:all 0.35s var(--ease-out)}.header.scrolled{background:rgba(251,247,242,0.97);box-shadow:var(--shadow-sm)}.header__inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header__logo{font-family:'Playfair Display',serif;font-size:1.3rem;letter-spacing:2px;color:var(--terracotta);font-weight:600;transition:color 0.3s;flex-shrink:0}.header__logo:active{color:var(--terracotta-deep)}.header__nav{display:flex;align-items:center}.header__links{display:flex;gap:0.8rem;align-items:center}.header__link{font-size:0.7rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;color:var(--text-dark);position:relative;padding:0.4rem 0.5rem;transition:color 0.3s;white-space:nowrap}.header__link::after{content:'';position:absolute;bottom:2px;left:0.5rem;right:0.5rem;height:1.5px;background:var(--terracotta);transform:scaleX(0);transition:transform 0.3s var(--ease-out)}.header__link:active{color:var(--terracotta)}.header__link:active::after{transform:scaleX(1)}.header__cta{background:var(--terracotta);color:var(--white);padding:0.5rem 1.2rem;border-radius:var(--radius-pill);font-size:0.65rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;transition:all 0.3s var(--ease-out);flex-shrink:0;white-space:nowrap}.header__cta:active{background:var(--terracotta-deep);transform:scale(0.96)}.lang-switcher{display:flex;gap:0.3rem}.lang-btn{background:transparent;border:1px solid var(--macrame);color:var(--text-medium);padding:0.25rem 0.5rem;border-radius:var(--radius-xs);font-size:0.65rem;font-weight:600;cursor:pointer;transition:all 0.3s}.lang-btn.active{background:var(--terracotta);color:var(--white);border-color:var(--terracotta)}.header__burger{display:none;flex-direction:column;gap:5px;padding:8px;margin-right:-8px;z-index:1001}.header__burger span{width:24px;height:2px;background:var(--terracotta);border-radius:2px;transition:all 0.3s var(--ease-out);transform-origin:center}.header__burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.header__burger.active span:nth-child(2){opacity:0;transform:scaleX(0)}.header__burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:860px){.header__links{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:rgba(251,247,242,0.98);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;transform:translateX(100%);transition:transform 0.4s var(--ease-in-out);z-index:1000;padding-bottom:var(--safe-bottom)}.header__links.visible{transform:translateX(0)}.header__link{font-size:1rem;letter-spacing:3px}.header__cta{display:none}.header__burger{display:flex}}@media (min-width:861px){.header__link:hover{color:var(--terracotta)}.header__link:hover::after{transform:scaleX(1)}.header__cta:hover{background:var(--terracotta-deep);transform:translateY(-2px);box-shadow:0 8px 22px rgba(200,122,92,0.3)}}.hero{min-height:100vh;min-height:100dvh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#2C1F1A}.hero__media{position:absolute;inset:0}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;animation:heroZoom 20s ease-out forwards}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.08)}}.hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(44,31,26,0.55) 0%,rgba(44,31,26,0.25) 40%,rgba(44,31,26,0.75) 100%)}.hero__content{position:relative;z-index:2;text-align:center;color:var(--white);padding:calc(var(--header-height) + 2rem) 1.5rem 4rem;max-width:800px;width:100%}.hero__supratitle{font-size:0.68rem;letter-spacing:5px;text-transform:uppercase;margin-bottom:1rem;opacity:0.85;color:var(--sunset);animation:fadeInUp 0.8s var(--ease-out) 0.2s both}.hero__title{font-size:clamp(2.2rem,7vw,5rem);line-height:1.05;margin-bottom:1.2rem;text-shadow:0 2px 30px rgba(0,0,0,0.35);animation:fadeInUp 0.8s var(--ease-out) 0.4s both}.hero__author{font-family:'Caveat',cursive;font-size:0.5em;display:block;color:var(--sunset);margin-top:0.3rem;font-weight:400}.hero__subtitle{font-family:'Playfair Display',serif;font-size:clamp(0.9rem,2vw,1.1rem);font-style:italic;opacity:0.9;margin-bottom:2rem;color:var(--dusty-rose);max-width:480px;margin-left:auto;margin-right:auto;animation:fadeInUp 0.8s var(--ease-out) 0.6s both}.hero__actions{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp 0.8s var(--ease-out) 0.8s both}.hero__scroll{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;color:var(--white);opacity:0.5;animation:float 2.5s ease-in-out infinite}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}.btn{padding:0.75rem 2rem;border-radius:var(--radius-pill);font-size:0.68rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;transition:all 0.35s var(--ease-out);display:inline-block;text-align:center;border:2px solid transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active{transform:scale(0.95)}.btn--primary{background:var(--terracotta);color:var(--white);border-color:var(--terracotta)}.btn--primary:active{background:var(--terracotta-deep);border-color:var(--terracotta-deep)}.btn--accent{background:var(--gold);color:var(--white);border-color:var(--gold)}.btn--accent:active{background:var(--gold-deep);border-color:var(--gold-deep)}.btn--outline{border-color:var(--white);color:var(--white);background:transparent}.btn--outline:active{background:var(--white);color:var(--text-dark)}.btn--outline-dark{border-color:var(--terracotta);color:var(--terracotta);background:transparent}.btn--outline-dark:active{background:var(--terracotta);color:var(--white)}.btn--block{width:100%;display:block}@media (min-width:861px){.btn--primary:hover{background:var(--terracotta-deep);border-color:var(--terracotta-deep);transform:translateY(-2px);box-shadow:0 10px 28px rgba(200,122,92,0.35)}.btn--accent:hover{background:var(--gold-deep);border-color:var(--gold-deep);transform:translateY(-2px);box-shadow:0 10px 28px rgba(200,169,110,0.4)}.btn--outline:hover{background:var(--white);color:var(--text-dark)}.btn--outline-dark:hover{background:var(--terracotta);color:var(--white)}}.section{padding:4rem 1.2rem;position:relative}.section--light{background:var(--white)}.section--warm{background:var(--sand)}.section--darken{background:var(--cream)}.section__inner{max-width:1140px;margin:0 auto}.section__label{font-family:'Caveat',cursive;font-size:1.4rem;color:var(--terracotta);text-align:center;display:block;margin-bottom:0.2rem;opacity:0.8}.section__title{font-size:clamp(1.8rem,4vw,2.5rem);text-align:center;margin-bottom:0.5rem}.section__subtitle{text-align:center;color:var(--text-medium);max-width:550px;margin:0 auto 2.5rem;font-weight:300;font-size:0.9rem;line-height:1.6}.section__footnote{text-align:center;margin-top:1.5rem;color:var(--text-medium);font-style:italic;font-size:0.82rem}.program-prices{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem;padding:0 0.5rem}.program-price-card{background:var(--white);border:2px solid var(--macrame);border-radius:var(--radius-md);padding:1rem 1.5rem;text-align:center;min-width:130px;transition:all 0.3s var(--ease-out);cursor:pointer}.program-price-card.active{border-color:var(--terracotta);background:linear-gradient(180deg,#FFF5EE 0%,var(--white) 100%);box-shadow:var(--shadow-sm)}.program-price-card--popular{border-color:var(--gold);background:linear-gradient(180deg,#FFFDF7 0%,var(--white) 100%);position:relative}.program-price-card--popular::after{content:'★ популярний';position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--white);font-size:0.55rem;letter-spacing:1px;text-transform:uppercase;font-weight:600;padding:0.2rem 0.8rem;border-radius:var(--radius-pill);white-space:nowrap}.program-price-card__days{font-family:'Caveat',cursive;font-size:1.1rem;color:var(--terracotta);margin-bottom:0.2rem}.program-price-card__price{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:var(--text-dark);line-height:1}.program-price-card__price span{font-size:0.55rem;font-weight:400;color:var(--text-medium);display:block;margin-top:0.1rem}.program-content{animation:fadeIn 0.4s var(--ease-out)}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.program-timeline{max-width:650px;margin:0 auto 2rem}.timeline-day{display:flex;gap:1rem;padding:0.9rem 0;border-bottom:1px solid var(--macrame);align-items:flex-start}.timeline-day:last-child{border-bottom:none}.timeline-day__number{width:38px;height:38px;min-width:38px;border-radius:50%;background:var(--terracotta);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Playfair Display',serif;font-size:1rem;flex-shrink:0}.timeline-day__text{font-size:0.84rem;color:var(--text-medium);line-height:1.6;padding-top:0.4rem}.day-plan{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.day-plan__item{position:relative;padding:6px 0 6px 22px;font-size:0.82rem;color:var(--text-medium);line-height:1.55;font-weight:300}.day-plan__item::before{content:'';position:absolute;left:6px;top:14px;width:5px;height:5px;border-radius:50%;background:var(--terracotta);opacity:0.6}.day-plan__item:first-child::before{top:11px;width:8px;height:8px;left:4px;opacity:1;background:var(--gold)}.program-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;max-width:500px;margin:0 auto 1.5rem}.program-gallery .gallery__item{aspect-ratio:3/4;border-radius:var(--radius-xs);overflow:hidden}.program-gallery .gallery__item img{width:100%;height:100%;object-fit:cover}.house-gallery{max-width:420px;margin:0 auto;position:relative}.house-gallery__slider{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:9/16;background:#1a1a1a;width:100%;max-height:80vh;max-height:80dvh;touch-action:pan-y pinch-zoom}.house-gallery__slides{display:flex;height:100%;transition:transform 0.5s var(--ease-in-out);will-change:transform}.house-gallery__slide{min-width:100%;height:100%}.house-gallery__slide img{width:100%;height:100%;object-fit:cover}.house-gallery__slide--video{background:#000}.house-gallery__slide--video video{width:100%;height:100%;object-fit:cover}.house-gallery__btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.85);border:none;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.3rem;color:var(--terracotta);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all 0.3s;z-index:3;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,0.1);touch-action:manipulation}.house-gallery__btn:active{background:#fff;transform:translateY(-50%) scale(0.9)}.house-gallery__btn--prev{left:10px}.house-gallery__btn--next{right:10px}.house-gallery__dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3;flex-wrap:wrap;justify-content:center;padding:0 12px}.house-gallery__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.45);border:none;cursor:pointer;transition:all 0.3s;padding:0;touch-action:manipulation}.house-gallery__dot.active{background:#fff;transform:scale(1.5)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem}.gallery__item{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s var(--ease-out)}.gallery__item:active img{transform:scale(1.03)}@media (min-width:861px){.gallery__item:hover img{transform:scale(1.04)}}.form-wrapper{max-width:480px;margin:0 auto;background:var(--white);padding:2rem 1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--macrame)}.form__group{margin-bottom:1rem}.form__label{display:block;font-size:0.7rem;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--text-dark);margin-bottom:0.35rem}.form__input{width:100%;padding:0.75rem 0.9rem;border:1.5px solid var(--macrame);font-size:0.88rem;color:var(--text-dark);background:var(--cream);transition:border-color 0.3s,box-shadow 0.3s;outline:none;-webkit-appearance:none;appearance:none}.form__input:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(200,122,92,0.1)}.form__input.error{border-color:var(--error);box-shadow:0 0 0 3px rgba(214,64,69,0.08)}.form__error{font-size:0.66rem;color:var(--error);margin-top:0.25rem;display:none}.form__error.visible{display:block}.form__submit{width:100%;padding:0.85rem;background:var(--terracotta);color:var(--white);border:none;border-radius:var(--radius-pill);font-size:0.72rem;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:all 0.35s var(--ease-out);margin-top:0.3rem;touch-action:manipulation}.form__submit:active:not(:disabled){background:var(--terracotta-deep);transform:scale(0.97)}.form__submit:disabled{opacity:0.5;cursor:not-allowed}.form__feedback{text-align:center;margin-top:0.8rem;font-size:0.78rem;font-weight:500;display:none;padding:0.5rem;border-radius:var(--radius-xs)}.form__feedback.success{display:block;color:var(--success);background:rgba(91,140,90,0.08)}.form__feedback.error{display:block;color:var(--error);background:rgba(214,64,69,0.06)}.form__note{text-align:center;font-size:0.65rem;color:var(--text-light);margin-top:0.8rem}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.35);border-top-color:var(--white);border-radius:50%;animation:spin 0.7s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.cta{background:linear-gradient(135deg,var(--sand) 0%,var(--macrame) 100%);text-align:center;padding:4rem 1.2rem}.cta__inner{max-width:500px;margin:0 auto}.cta__label{font-family:'Caveat',cursive;font-size:1.3rem;color:var(--terracotta);display:block;margin-bottom:0.3rem}.cta__title{font-size:clamp(1.8rem,4vw,2.3rem);margin-bottom:0.8rem}.cta__inner p{color:var(--text-medium);margin-bottom:1.5rem;font-weight:300}.cta__actions{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap}.footer{background:var(--text-dark);color:var(--macrame);padding:2.5rem 1.2rem;text-align:center;font-size:0.78rem}.footer__inner{max-width:600px;margin:0 auto}.footer__logo{font-family:'Playfair Display',serif;font-size:1.3rem;letter-spacing:2px;color:var(--dusty-rose);margin-bottom:0.4rem}.footer__location{margin-bottom:0.2rem}.footer__author{color:var(--dusty-rose);font-size:0.7rem;margin-bottom:0.8rem}.footer__socials{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1rem;font-size:0.68rem;letter-spacing:1.4px;text-transform:uppercase}.footer__socials a{color:var(--sunset);transition:color 0.3s}.footer__socials a:active{color:var(--white)}.footer__copy{opacity:0.4;font-size:0.65rem}@media (max-width:480px){.section{padding:3rem 1rem}.section__subtitle{margin-bottom:2rem}.hero__content{padding:calc(var(--header-height) + 1.5rem) 1rem 3rem}.program-prices{gap:0.8rem}.program-price-card{padding:0.8rem 1rem;min-width:100px}.program-price-card__price{font-size:1.7rem}.timeline-day{gap:0.7rem}.timeline-day__number{width:32px;height:32px;min-width:32px;font-size:0.85rem}.timeline-day__text{font-size:0.78rem;padding-top:0.3rem}.program-gallery{grid-template-columns:repeat(2,1fr);gap:0.4rem}.house-gallery__btn{width:36px;height:36px;font-size:1.1rem}.house-gallery__btn--prev{left:6px}.house-gallery__btn--next{right:6px}.house-gallery__dot{width:7px;height:7px;gap:5px}.gallery{grid-template-columns:1fr 1fr;gap:0.5rem}.form-wrapper{padding:1.5rem 1rem;border-radius:var(--radius-sm)}.form__input{padding:0.7rem 0.8rem}.cta__actions{flex-direction:column;align-items:center}.cta__actions .btn{width:100%;max-width:280px}}@media (min-width:861px){.footer__socials a:hover{color:var(--white)}}

.program-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-width: 500px;
  margin: 0 auto 1.5rem;
}

.program-gallery .gallery__item {
  aspect-ratio: 3/4;
  border-radius: var(--radius-xs);
  overflow: hidden;
  background: var(--sand);
}

.program-gallery .gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.4s ease;
}

.program-gallery .gallery__item img {
  animation: galleryFadeIn 0.5s ease both;
}

@keyframes galleryFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 480px) {
  .program-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.4rem;
  }
}

/* Замени стили для .schedule-card и связанных элементов в styles.css */

.schedule-card {
  background: var(--white);
  border: 1px solid var(--macrame);
  border-radius: var(--radius-sm);
  padding: 1.2rem 1rem;
  text-align: center;
  transition: all 0.3s var(--ease-out);
  cursor: default;
}

.schedule-card:hover {
  border-color: var(--terracotta);
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

.schedule-card__date {
  font-size: 0.9rem;
  color: var(--text-medium);
  font-weight: 400;
  letter-spacing: 0.3px;
  line-height: 1.4;
}

/* Медиа-запрос для мобильных — просто строка с датой по центру */

@media (max-width: 600px) {
  .schedule-grid {
    grid-template-columns: 1fr;
    gap: 0.6rem;
    max-width: 400px;
  }
  
  .schedule-card {
    padding: 1rem 1.2rem;
    text-align: center;
  }
  
  .schedule-card__date {
    font-size: 0.9rem;
  }
}