:root{
      --bg:#f7f1e7; --paper:#fffaf2; --text:#1f241f; --muted:#6f756d;
      --green:#2f5f4b; --green2:#17382e; --gold:#caa063; --line:rgba(31,36,31,.12);
      --shadow:0 24px 70px rgba(23,56,46,.16); --radius:28px;
    }
    *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at top left,#fff7e7 0,#f7f1e7 42%,#edf2ec 100%);color:var(--text);overflow-x:hidden}
    a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.wrap{max-width:1400px;margin:auto;padding:0 28px}
    .topbar{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:min(1400px,calc(100% - 32px));height:96px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 20px;border:1px solid rgba(255,255,255,.42);background:rgba(255,250,242,.54);backdrop-filter:blur(18px);border-radius:999px;box-shadow:0 12px 42px rgba(31,36,31,.08);transition:.35s ease}
    .topbar.scrolled{top:8px;height:78px;background:rgba(255,250,242,.78);box-shadow:0 18px 54px rgba(31,36,31,.13)}
    .brand{display:flex;align-items:center;gap:0;flex:0 0 auto}.brand img{height:58px;width:auto}.header-actions svg{width:22px;height:22px;fill:currentColor;display:block}
    .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.icon-btn{width:50px;height:50px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--green2);background:rgba(255,255,255,.64);border:1px solid rgba(255,255,255,.72);box-shadow:0 10px 26px rgba(31,36,31,.08);transition:.25s ease}.icon-btn:hover{transform:translateY(-2px) scale(1.04);background:#fff}.whatsapp-icon{background:rgba(37,211,102,.9);color:#fff;border-color:rgba(37,211,102,.45)}
    .phone{font-weight:800;color:var(--green2);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 22px;border-radius:999px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;font-weight:800;box-shadow:0 12px 30px rgba(47,95,75,.28);border:0;white-space:nowrap}.btn.gold{background:linear-gradient(135deg,#dbb674,#a77434)}.btn.ghost{background:rgba(255,255,255,.54);color:var(--green2);border:1px solid rgba(47,95,75,.18);box-shadow:0 10px 26px rgba(31,36,31,.06)}.btn.ghost:hover{background:#fff;color:var(--green)}
.btn{transition:transform .3s ease,box-shadow .3s ease,filter .3s ease}
.btn:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 40px rgba(47,95,75,.35);filter:brightness(1.05)}
.btn:active{transform:translateY(-1px) scale(.99)}

    .hero{position:relative;min-height:860px;padding:170px 0 90px;display:flex;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,38,33,.78),rgba(19,38,33,.42),rgba(19,38,33,.08)),url('../img/letnie-razvlecheniya-1.webp') center/cover no-repeat;z-index:-2}.hero:after{content:"";position:absolute;inset:auto -10% -18% -10%;height:260px;background:linear-gradient(180deg,transparent,var(--bg));z-index:-1}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:end}.eyebrow{display:inline-flex;padding:9px 14px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-weight:700;backdrop-filter:blur(12px);margin-bottom:22px}.hero h1{font-size:clamp(48px,7vw,108px);line-height:.92;margin:0;color:#fff;letter-spacing:-.065em}.hero p{font-size:clamp(18px,2vw,25px);line-height:1.55;color:rgba(255,255,255,.88);max-width:700px;margin:28px 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.glass-card{background:rgba(255,250,242,.18);border:1px solid rgba(255,255,255,.34);border-radius:var(--radius);padding:24px;backdrop-filter:blur(18px);box-shadow:var(--shadow);color:#fff}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat{padding:22px;border-radius:22px;background:rgba(255,255,255,.16)}.stat b{font-size:36px;display:block}.stat span{color:rgba(255,255,255,.78);font-size:14px;font-weight:600}
    section{padding:86px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.section-head h2{font-size:clamp(34px,4vw,62px);line-height:1;margin:0;letter-spacing:-.045em}.section-head p{max-width:520px;color:var(--muted);font-size:17px;line-height:1.55;margin:0}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{padding:28px;border-radius:28px;background:rgba(255,250,242,.74);border:1px solid rgba(255,255,255,.8);box-shadow:0 12px 38px rgba(31,36,31,.06)}.feature i{font-style:normal;font-size:30px}.feature h3{margin:18px 0 8px;font-size:20px}.feature p{margin:0;color:var(--muted);line-height:1.5}
    .carousel{position:relative;border-radius:36px;overflow:hidden;box-shadow:var(--shadow);background:#111}.track{display:flex;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.slide{min-width:100%;height:680px;position:relative}.slide img{width:100%;height:100%;object-fit:cover}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.48))}.car-nav{position:absolute;inset:auto 26px 26px 26px;display:flex;align-items:center;justify-content:space-between;z-index:2}.arrow{width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.18);color:#fff;font-size:26px;cursor:pointer;backdrop-filter:blur(10px)}.dots{display:flex;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.44)}.dot.active{width:34px;border-radius:99px;background:#fff}
    .program-shell{background:rgba(255,250,242,.66);border:1px solid rgba(255,255,255,.85);border-radius:38px;padding:24px;box-shadow:var(--shadow)}.date-tabs{display:flex;gap:12px;overflow:auto;padding:6px 4px 22px;scrollbar-width:none}.date-tabs::-webkit-scrollbar{display:none}.date-tab{min-width:138px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:16px 18px;cursor:pointer;text-align:left;transition:.25s ease}.date-tab b{display:block;font-size:24px}.date-tab span{color:var(--muted);font-weight:700}.date-tab.active{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;transform:translateY(-4px);box-shadow:0 15px 32px rgba(47,95,75,.22)}.date-tab.active span{color:rgba(255,255,255,.75)}
    .day-title{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 4px}.day-title h3{font-size:34px;margin:0}.groups{display:grid;grid-template-columns:1fr 1fr;gap:22px}.group{background:#fff;border-radius:30px;border:1px solid var(--line);overflow:hidden}.group-head{padding:22px 24px;background:linear-gradient(135deg,rgba(47,95,75,.08),rgba(202,160,99,.16));display:flex;justify-content:space-between;align-items:center}.group-head h4{font-size:22px;margin:0}.event{display:grid;grid-template-columns:88px 1fr 210px;gap:18px;padding:20px 24px;border-top:1px solid var(--line);align-items:start}.time{font-weight:900;color:var(--green)}.event-title{font-weight:850;margin-bottom:6px}.event-desc{color:var(--muted);line-height:1.45;font-size:14px}.loc{font-size:14px;font-weight:700;color:var(--green2);background:#f3efe8;border-radius:16px;padding:10px 12px}
    .cta{border-radius:42px;background:linear-gradient(135deg,var(--green2),var(--green));color:#fff;padding:58px;display:grid;grid-template-columns:1.2fr auto;gap:30px;align-items:center;box-shadow:var(--shadow)}.cta h2{font-size:clamp(34px,4vw,64px);margin:0 0 16px;letter-spacing:-.045em}.cta p{margin:0;color:rgba(255,255,255,.8);font-size:18px;line-height:1.55}.footer{padding:44px 0;color:var(--muted);text-align:center}
    @media(max-width:1060px){.topbar{height:auto;border-radius:26px;align-items:center}.hero-grid,.groups,.cta{grid-template-columns:1fr}.features{grid-template-columns:repeat(2,1fr)}.slide{height:520px}.event{grid-template-columns:72px 1fr}.loc{grid-column:2}}
    @media(max-width:640px){.wrap{padding:0 16px}.topbar{top:10px;width:calc(100% - 20px);height:auto;padding:10px 12px;border-radius:24px;gap:10px}.brand img{height:44px}.header-actions{gap:7px;flex-wrap:wrap}.icon-btn{width:42px;height:42px}.header-actions svg{width:19px;height:19px}.header-book,.header-back{padding:12px 13px;font-size:12px}.hero{min-height:760px;padding-top:140px}.hero-actions .btn{width:100%}.features{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:16px}.slide{height:380px}.car-nav{inset:auto 14px 14px 14px}.arrow{width:46px;height:46px}.program-shell{padding:14px;border-radius:26px}.date-tab{min-width:116px}.day-title h3{font-size:26px}.group-head{padding:18px}.event{grid-template-columns:1fr;gap:8px;padding:18px}.loc{grid-column:auto}.cta{padding:34px 22px;border-radius:30px}}
  

/* Premium glass menu override */
.topbar{
  position:fixed !important;
  top:18px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(1400px,calc(100% - 40px)) !important;
  height:82px !important;
  padding:0 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  background:rgba(255,255,255,.72) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  border:1px solid rgba(255,255,255,.45) !important;
  border-bottom:1px solid rgba(255,255,255,.45) !important;
  border-radius:24px !important;
  box-shadow:0 10px 40px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.04) !important;
  z-index:1000 !important;
  transition:top .35s ease,height .35s ease,background .35s ease,box-shadow .35s ease,transform .35s ease !important;
}
.topbar.scrolled{
  top:10px !important;
  height:72px !important;
  background:rgba(255,255,255,.84) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.10),0 4px 16px rgba(0,0,0,.06) !important;
}
.brand{transition:transform .3s ease,filter .3s ease !important;}
.brand:hover{transform:translateY(-1px) scale(1.03) !important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.12)) !important;}
.brand img{height:65px !important;width:auto !important;transition:height .35s ease !important;}
.topbar.scrolled .brand img{height:48px !important;}
.header-actions{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:12px !important;margin-left:auto !important;}
.icon-btn{
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(255,255,255,.6) !important;
  color:#17382e !important;
  box-shadow:none !important;
  transition:transform .3s ease,background .3s ease,box-shadow .3s ease,color .3s ease,border-color .3s ease !important;
}
.icon-btn:hover{
  transform:translateY(-3px) scale(1.06) !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
  border-color:rgba(255,255,255,.9) !important;
}
.whatsapp-icon{background:rgba(37,211,102,.88) !important;color:#fff !important;border-color:rgba(37,211,102,.35) !important;}
.whatsapp-icon:hover{background:#25D366 !important;color:#fff !important;box-shadow:0 10px 26px rgba(37,211,102,.28) !important;}
.btn{transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease,border-color .3s ease !important;}
.header-book{
  height:48px !important;
  padding:0 28px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#D8B36A,#F3DEB2) !important;
  color:#222 !important;
  font-weight:800 !important;
  box-shadow:0 10px 24px rgba(216,179,106,.22) !important;
}
.header-book:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 14px 34px rgba(216,179,106,.42) !important;
  background:linear-gradient(135deg,#F3DEB2,#D8B36A) !important;
}
.header-back{
  height:48px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.28) !important;
  color:#17382e !important;
  border:1px solid rgba(0,0,0,.12) !important;
  box-shadow:none !important;
}
.header-back:hover{
  transform:translateY(-3px) !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08) !important;
  border-color:rgba(0,0,0,.06) !important;
}
@media(max-width:640px){
  .topbar{top:10px !important;width:calc(100% - 20px) !important;height:auto !important;min-height:74px !important;padding:10px 12px !important;border-radius:22px !important;}
  .brand img,.topbar.scrolled .brand img{height:44px !important;}
  .header-actions{gap:7px !important;flex-wrap:wrap !important;}
  .icon-btn{width:40px !important;height:40px !important;}
  .header-book,.header-back{height:40px !important;padding:0 13px !important;font-size:12px !important;}
}

  
/* MAX icon override */
.max-icon{background:rgba(255,255,255,.64) !important;color:var(--green2) !important;border-color:rgba(255,255,255,.72) !important;}
.max-icon:hover{transform:translateY(-2px) scale(1.06) !important;background:#fff !important;box-shadow:0 12px 28px rgba(31,36,31,.14) !important;}
.max-icon .max-svg{width:24px !important;height:24px !important;object-fit:contain !important;display:block !important;}
@media(max-width:640px){.max-icon .max-svg{width:21px !important;height:21px !important;}}

/* SVG logo fixed */
.brand svg{width:58px!important;height:auto!important;display:block!important;flex:0 0 auto!important;}
.topbar.scrolled .brand svg{width:50px!important;}
@media(max-width:640px){.brand svg,.topbar.scrolled .brand svg{width:46px!important;height:auto!important;}}

.header .icon-btn img,
.site-header .icon-btn img,
.navbar .icon-btn img,
.header-glass .icon-btn img {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
    transition: transform .3s ease;
}
.header .icon-btn:hover img,
.site-header .icon-btn:hover img,
.navbar .icon-btn:hover img,
.header-glass .icon-btn:hover img {
    transform: scale(1.08);
}

/* Новый SVG-логотип в шапке */
.menu__logo,
.header .menu__logo,
.site-header .menu__logo,
.header-glass .menu__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    min-width: 58px;
    height: 58px;
    transition: transform .3s ease, opacity .3s ease;
}

.menu__logo:hover,
.header .menu__logo:hover,
.site-header .menu__logo:hover,
.header-glass .menu__logo:hover {
    transform: translateY(-2px) scale(1.04);
    opacity: .92;
}

.menu__logo svg,
.header .menu__logo svg,
.site-header .menu__logo svg,
.header-glass .menu__logo svg {
    width: 52px;
    height: 54px;
    display: block;
}

@media (max-width: 767px) {
    .menu__logo,
    .header .menu__logo,
    .site-header .menu__logo,
    .header-glass .menu__logo {
        width: 48px;
        min-width: 48px;
        height: 48px;
    }

    .menu__logo svg,
    .header .menu__logo svg,
    .site-header .menu__logo svg,
    .header-glass .menu__logo svg {
        width: 44px;
        height: 46px;
    }
}

/* Premium final CTA */
.premium-final-cta {
    position: relative;
    overflow: hidden;
    margin: 80px auto 0;
    padding: 96px 24px;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(31, 58, 46, .96), rgba(56, 99, 81, .90)),
        url('../img/letnie-razvlecheniya-8.webp') center/cover no-repeat;
}

.premium-final-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(255,255,255,.18), transparent 28%),
        radial-gradient(circle at 85% 70%, rgba(236,214,160,.22), transparent 30%);
    pointer-events: none;
}

.final-cta__inner {
    position: relative;
    z-index: 1;
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 44px;
    align-items: center;
}

.final-cta__content {
    max-width: 760px;
}

.premium-final-cta .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    color: rgba(255,255,255,.92);
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.premium-final-cta h2 {
    margin: 0;
    max-width: 780px;
    color: #fff;
    font-size: clamp(38px, 5vw, 68px);
    line-height: .96;
    letter-spacing: -.045em;
}

.premium-final-cta p {
    margin: 24px 0 0;
    max-width: 680px;
    color: rgba(255,255,255,.82);
    font-size: clamp(17px, 1.7vw, 21px);
    line-height: 1.65;
}

.final-cta__features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 34px;
}

.final-cta__feature {
    min-height: 112px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.20);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform .3s ease, background .3s ease, border-color .3s ease;
}

.final-cta__feature:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.34);
}

.final-cta__feature strong {
    display: block;
    color: #fff;
    font-size: 16px;
    line-height: 1.25;
}

.final-cta__feature span {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,.72);
    font-size: 14px;
    line-height: 1.45;
}

.final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}

.final-cta__actions .btn,
.final-cta__btn-main,
.final-cta__btn-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 28px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease;
}

.final-cta__btn-main {
    background: linear-gradient(135deg, #D8B36A, #F4E2B8);
    color: #203529 !important;
    box-shadow: 0 18px 42px rgba(216,179,106,.28);
}

.final-cta__btn-main:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 56px rgba(216,179,106,.42);
}

.final-cta__btn-light {
    color: #fff !important;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.28);
}

.final-cta__btn-light:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,.20);
    box-shadow: 0 18px 42px rgba(0,0,0,.16);
}

.final-cta__card {
    justify-self: end;
    width: 100%;
    max-width: 360px;
    min-height: 420px;
    padding: 28px;
    border-radius: 34px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background:
        linear-gradient(to top, rgba(0,0,0,.62), rgba(0,0,0,.05)),
        url('../img/letnie-razvlecheniya-3.webp') center/cover no-repeat;
    border: 1px solid rgba(255,255,255,.22);
    box-shadow: 0 30px 80px rgba(0,0,0,.25);
    transform: rotate(1.5deg);
}

.final-cta__card-top {
    align-self: flex-start;
    margin-bottom: auto;
    padding: 9px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.28);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: rgba(255,255,255,.92);
    font-size: 13px;
    font-weight: 700;
}

.final-cta__card-title {
    color: #fff;
    font-size: 30px;
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -.03em;
}

.final-cta__card-text {
    margin-top: 12px;
    color: rgba(255,255,255,.78);
    font-size: 15px;
    line-height: 1.5;
}

@media (max-width: 960px) {
    .premium-final-cta {
        padding: 74px 18px;
    }

    .final-cta__inner {
        grid-template-columns: 1fr;
    }

    .final-cta__card {
        justify-self: start;
        max-width: 100%;
        min-height: 320px;
        transform: none;
    }

    .final-cta__features {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .premium-final-cta {
        margin-top: 54px;
        padding: 60px 16px;
    }

    .premium-final-cta h2 {
        font-size: 38px;
    }

    .final-cta__actions {
        flex-direction: column;
    }

    .final-cta__actions .btn,
    .final-cta__btn-main,
    .final-cta__btn-light {
        width: 100%;
    }
}

/* Footer MAX + Русские Сезоны */
.site-footer,
.premium-footer {
    background: #203529;
    color: rgba(255,255,255,.78);
}

.site-footer .footer-inner,
.premium-footer .footer-inner,
.site-footer {
    box-sizing: border-box;
}

.premium-footer .footer-inner,
.site-footer .footer-inner {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 30px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.footer-brand {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .02em;
}

.footer-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-max-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    color: #fff !important;
    text-decoration: none;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    transition: transform .3s ease, background .3s ease, box-shadow .3s ease;
}

.footer-max-link:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.18);
    box-shadow: 0 16px 34px rgba(0,0,0,.18);
}

.footer-max-link img {
    width: 22px;
    height: 22px;
    display: block;
    object-fit: contain;
}

@media (max-width: 640px) {
    .premium-footer .footer-inner,
    .site-footer .footer-inner {
        flex-direction: column;
        text-align: center;
        padding: 26px 0;
    }
}

.menu__logo svg,.logo svg,.brand svg{width:58px;height:58px;display:block;}

.menu__logo svg,.logo svg,.brand svg{
    width:100px !important;
    height:100px !important;
    display:block;
}
.menu__logo,.logo,.brand{
    width:100px !important;
    height:100px !important;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* Mobile adaptation fixes */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

img, svg, video {
    max-width: 100%;
}

@media (max-width: 1024px) {
    .header,
    .site-header,
    .header-glass,
    header {
        width: calc(100% - 24px) !important;
        min-height: 74px !important;
        height: auto !important;
        padding: 10px 12px !important;
        gap: 10px !important;
        border-radius: 22px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        box-sizing: border-box !important;
    }

    .menu__logo,
    .logo,
    .brand {
        width: 74px !important;
        height: 74px !important;
        min-width: 74px !important;
        flex: 0 0 74px !important;
    }

    .menu__logo svg,
    .logo svg,
    .brand svg {
        width: 74px !important;
        height: 74px !important;
    }

    .header nav,
    .site-header nav,
    .header-glass nav,
    .nav,
    .menu__nav,
    .header-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
        min-width: 0 !important;
    }

    .icon-btn,
    .header .icon-btn,
    .site-header .icon-btn,
    .header-glass .icon-btn {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        padding: 0 !important;
        flex: 0 0 42px !important;
    }

    .icon-btn img,
    .icon-btn svg {
        width: 22px !important;
        height: 22px !important;
    }

    .btn-book,
    .btn-site,
    .header .btn,
    .site-header .btn,
    .header-glass .btn,
    header .btn {
        min-height: 42px !important;
        height: 42px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        border-radius: 999px !important;
    }
}

@media (max-width: 640px) {
    .header,
    .site-header,
    .header-glass,
    header {
        top: 8px !important;
        width: calc(100% - 16px) !important;
        padding: 8px !important;
        border-radius: 18px !important;
        display: grid !important;
        grid-template-columns: 62px 1fr !important;
        align-items: center !important;
    }

    .menu__logo,
    .logo,
    .brand {
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
    }

    .menu__logo svg,
    .logo svg,
    .brand svg {
        width: 62px !important;
        height: 62px !important;
    }

    .header nav,
    .site-header nav,
    .header-glass nav,
    .nav,
    .menu__nav,
    .header-actions {
        grid-column: 2 !important;
        display: grid !important;
        grid-template-columns: 42px 42px 1fr 1fr !important;
        gap: 6px !important;
        width: 100% !important;
        align-items: center !important;
    }

    .icon-btn,
    .header .icon-btn,
    .site-header .icon-btn,
    .header-glass .icon-btn {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        justify-self: stretch !important;
    }

    .btn-book,
    .btn-site,
    .header .btn,
    .site-header .btn,
    .header-glass .btn,
    header .btn {
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 8px !important;
        font-size: 11.5px !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }

    .hero,
    .hero-section,
    .hero-block {
        min-height: 720px !important;
        padding-top: 118px !important;
    }

    h1 {
        font-size: clamp(42px, 13vw, 64px) !important;
        line-height: .95 !important;
    }

    .section,
    section {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .final-cta__inner,
    .gallery,
    .program-grid,
    .cards,
    .features,
    .summer-cards,
    .atmosphere-grid {
        grid-template-columns: 1fr !important;
    }

    .final-cta__features {
        grid-template-columns: 1fr !important;
    }

    .final-cta__actions {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }

    .final-cta__actions a {
        width: 100% !important;
        min-width: 0 !important;
    }

    .carousel,
    .slider,
    .gallery-slider {
        width: 100% !important;
        overflow: hidden !important;
    }
}

@media (max-width: 380px) {
    .header nav,
    .site-header nav,
    .header-glass nav,
    .nav,
    .menu__nav,
    .header-actions {
        grid-template-columns: 38px 38px 1fr !important;
    }

    .btn-site,
    .header .btn-site,
    .site-header .btn-site,
    .header-glass .btn-site {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .icon-btn,
    .header .icon-btn,
    .site-header .icon-btn,
    .header-glass .icon-btn {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
    }
}

/* Логотип не увеличивается при скролле */
.topbar .brand svg,
.topbar.scrolled .brand svg {
    width: 100px !important;
    height: auto !important;
    max-width: 100px !important;
}

/* Mobile header variant 3: logo + phone + MAX + burger */
.mobile-burger {
    display: none;
}

.mobile-drawer,
.mobile-drawer-backdrop {
    display: none;
}

@media (max-width: 767px) {
    .topbar {
        position: fixed !important;
        top: 10px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: calc(100% - 20px) !important;
        min-height: 70px !important;
        height: 70px !important;
        padding: 8px 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        border-radius: 22px !important;
        background: rgba(255,255,255,.72) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        border: 1px solid rgba(255,255,255,.45) !important;
        box-shadow: 0 12px 36px rgba(0,0,0,.10) !important;
        z-index: 1000 !important;
        box-sizing: border-box !important;
    }

    .topbar .brand {
        width: 58px !important;
        min-width: 58px !important;
        height: 58px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 58px !important;
    }

    .topbar .brand svg,
    .topbar.scrolled .brand svg {
        width: 58px !important;
        height: 58px !important;
        max-width: 58px !important;
        display: block !important;
    }

    .topbar .header-actions,
    .topbar nav {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        margin-left: auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .topbar .desktop-action,
    .topbar .btn-book,
    .topbar .btn-site {
        display: none !important;
    }

    .topbar .icon-btn,
    .topbar .phone-btn,
    .topbar .max-btn,
    .mobile-burger {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255,255,255,.66) !important;
        border: 1px solid rgba(255,255,255,.74) !important;
        color: #386351 !important;
        text-decoration: none !important;
        box-shadow: 0 8px 22px rgba(0,0,0,.06) !important;
        transition: transform .25s ease, background .25s ease, box-shadow .25s ease !important;
        box-sizing: border-box !important;
    }

    .topbar .icon-btn:hover,
    .topbar .phone-btn:hover,
    .topbar .max-btn:hover,
    .mobile-burger:hover {
        transform: translateY(-2px) !important;
        background: #fff !important;
        box-shadow: 0 12px 30px rgba(0,0,0,.12) !important;
    }

    .topbar .icon-btn img,
    .topbar .max-btn img {
        width: 22px !important;
        height: 22px !important;
        object-fit: contain !important;
        display: block !important;
    }

    .mobile-burger {
        border: none;
        cursor: pointer;
        flex-direction: column !important;
        gap: 4px !important;
    }

    .mobile-burger span {
        width: 18px;
        height: 2px;
        border-radius: 99px;
        background: #386351;
        display: block;
        transition: transform .25s ease, opacity .25s ease;
    }

    body.mobile-menu-open {
        overflow: hidden !important;
    }

    .mobile-drawer-backdrop {
        position: fixed;
        inset: 0;
        display: block;
        opacity: 0;
        visibility: hidden;
        background: rgba(13, 30, 23, .52);
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
        transition: opacity .3s ease, visibility .3s ease;
        z-index: 1998;
    }

    .mobile-drawer {
        position: fixed;
        inset: 0;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding: 90px 14px 20px;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .3s ease, visibility .3s ease;
        z-index: 1999;
        box-sizing: border-box;
    }

    body.mobile-menu-open .mobile-drawer,
    body.mobile-menu-open .mobile-drawer-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .mobile-drawer__panel {
        width: min(420px, 100%);
        padding: 24px;
        border-radius: 28px;
        background: rgba(255,255,255,.86);
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
        border: 1px solid rgba(255,255,255,.62);
        box-shadow: 0 30px 80px rgba(0,0,0,.22);
        transform: translateY(-14px) scale(.98);
        transition: transform .32s ease;
        box-sizing: border-box;
    }

    body.mobile-menu-open .mobile-drawer__panel {
        transform: translateY(0) scale(1);
    }

    .mobile-drawer__close {
        position: absolute;
        top: 14px;
        right: 14px;
        width: 42px;
        height: 42px;
        border: 0;
        border-radius: 50%;
        background: rgba(56,99,81,.10);
        color: #386351;
        font-size: 30px;
        line-height: 1;
        cursor: pointer;
    }

    .mobile-drawer__title {
        padding-right: 44px;
        color: #203529;
        font-size: 30px;
        line-height: 1.05;
        font-weight: 800;
        letter-spacing: -.04em;
    }

    .mobile-drawer__subtitle {
        margin-top: 8px;
        color: rgba(32,53,41,.62);
        font-size: 14px;
    }

    .mobile-drawer__nav {
        margin-top: 26px;
        display: grid;
        gap: 12px;
    }

    .mobile-drawer__link {
        min-height: 58px;
        padding: 0 18px;
        border-radius: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        color: #203529 !important;
        text-decoration: none;
        font-weight: 700;
        background: rgba(56,99,81,.08);
        border: 1px solid rgba(56,99,81,.12);
        transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
    }

    .mobile-drawer__link:hover {
        transform: translateY(-2px);
        background: rgba(56,99,81,.13);
        box-shadow: 0 14px 32px rgba(0,0,0,.10);
    }

    .mobile-drawer__link--primary {
        color: #203529 !important;
        background: linear-gradient(135deg, #D8B36A, #F4E2B8) !important;
        border-color: rgba(216,179,106,.45) !important;
        box-shadow: 0 16px 38px rgba(216,179,106,.25);
    }
}

@media (min-width: 768px) {
    .mobile-burger,
    .mobile-drawer,
    .mobile-drawer-backdrop {
        display: none !important;
    }
}

/* Улучшенная типографика hero-заголовка */
.hero h1 {
    font-size: clamp(52px, 4vw, 110px) !important;
    line-height: 0.95 !important;
    margin: 0 !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: -0.04em !important;
    text-wrap: balance;
    text-shadow:
        0 4px 12px rgba(0,0,0,.18),
        0 12px 40px rgba(0,0,0,.18);
    max-width: 20ch;
}

@media (max-width: 768px) {
    .hero h1 {
        font-size: clamp(42px, 11vw, 64px) !important;
        line-height: 0.96 !important;
        letter-spacing: -0.03em !important;
        max-width: 100% !important;
        text-align: center !important;
    }
}

/* Fix clipped shadow on active date */
.dates-slider,
.dates-wrapper,
.dates-track,
.swiper,
.swiper-wrapper,
.date-scroll{
  overflow:visible !important;
  padding-bottom:24px !important;
}
.date-item.active,
.date-item.is-active,
.date.active,
.program-date.active{
  position:relative;
  z-index:30;
  box-shadow:0 14px 34px rgba(35,78,58,.18),0 28px 60px rgba(35,78,58,.12)!important;
}

/* Точное исправление обрезанной тени у активной даты */
.program-shell {
    overflow: visible !important;
}

.date-tabs {
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 14px 8px 64px !important;
    margin: -8px -4px -34px !important;
    position: relative !important;
    z-index: 5 !important;
}

.date-tab {
    position: relative !important;
    z-index: 1 !important;
}

.date-tab.active {
    position: relative !important;
    z-index: 50 !important;
    transform: translateY(-4px) !important;
    box-shadow:
        0 8px 18px rgba(23, 56, 46, .14),
        0 16px 32px rgba(23, 56, 46, .08) !important;
}

/* На мобильных оставляем больше места под тень */
@media (max-width: 640px) {
    .date-tabs {
        padding-bottom: 70px !important;
        margin-bottom: -38px !important;
    }
}

/* Date carousel: CSS-only visual layer. JS untouched. */
.date-carousel{
  position:relative!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 52px!important;
  gap:12px!important;
  align-items:start!important;
  margin:0 0 18px!important;
  overflow:visible!important;
}
.date-carousel .date-tabs{
  position:relative!important;
  z-index:1!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  display:flex!important;
  gap:12px!important;
  scroll-behavior:smooth!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  touch-action:pan-x!important;
  cursor:grab!important;
  padding:16px 26px 42px!important;
  margin:0!important;
  user-select:none!important;
}
.date-carousel .date-tabs::-webkit-scrollbar{display:none!important;}
.date-carousel .date-tabs.is-dragging{cursor:grabbing!important;scroll-behavior:auto!important;}
.date-carousel .date-tab{
  position:relative!important;
  z-index:2!important;
  flex:0 0 138px!important;
  min-width:138px!important;
  max-width:138px!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.date-carousel .date-tab.active{
  z-index:3!important;
  transform:translateY(-3px)!important;
  box-shadow:0 12px 28px rgba(23,56,46,.16)!important;
}
.date-carousel::before,
.date-carousel::after{
  content:"";
  position:absolute;
  top:0;
  bottom:34px;
  width:96px;
  z-index:9;
  pointer-events:none;
}
.date-carousel::before{
  left:34px;
  background:linear-gradient(to right,
    rgba(253,248,240,.98) 0%,
    rgba(253,248,240,.86) 38%,
    rgba(253,248,240,0) 100%);
}
.date-carousel::after{
  right:34px;
  background:linear-gradient(to left,
    rgba(253,248,240,.98) 0%,
    rgba(253,248,240,.86) 38%,
    rgba(253,248,240,0) 100%);
}
.date-arrow{
  align-self:start!important;
  margin-top:30px!important;
  width:52px!important;
  height:52px!important;
  border:0!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,var(--green),var(--green2))!important;
  color:#fff!important;
  font-size:32px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:.25s ease!important;
  position:relative!important;
  z-index:20!important;
}
.date-arrow:hover{transform:translateY(-2px)!important;box-shadow:0 16px 34px rgba(47,95,75,.30)!important;}
.date-arrow:disabled{opacity:.35!important;cursor:default!important;transform:none!important;box-shadow:none!important;}
@media(max-width:640px){
  .date-carousel{grid-template-columns:42px minmax(0,1fr) 42px!important;gap:7px!important;}
  .date-arrow{width:42px!important;height:42px!important;font-size:26px!important;margin-top:28px!important;}
  .date-carousel .date-tabs{padding:16px 20px 42px!important;}
  .date-carousel .date-tab{flex-basis:112px!important;min-width:112px!important;max-width:112px!important;}
  .date-carousel::before{left:49px;width:58px;}
  .date-carousel::after{right:49px;width:58px;}
}

/* Центрирование символа стрелки внутри круглых кнопок дат */
.date-arrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  text-align:center!important;
  line-height:0!important;
  font-size:0!important;
  overflow:hidden!important;
}
.date-arrow::before{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-size:38px!important;
  font-weight:700!important;
  line-height:1!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
.date-arrow-prev::before{
  content:'‹';
  transform:translate(-1px,-1px)!important;
}
.date-arrow-next::before{
  content:'›';
  transform:translate(1px,-1px)!important;
}
@media(max-width:640px){
  .date-arrow::before{font-size:32px!important;}
}

.cls-1 {
        letter-spacing: .2em;
      }

      .cls-2 {
        letter-spacing: .2em;
      }

      .cls-3 {
        letter-spacing: .2em;
      }

      .cls-4 {
        fill-rule: evenodd;
      }

      .cls-4, .cls-5, .cls-6 {
        fill: #4f6b5a;
      }

      .cls-7 {
        letter-spacing: .2em;
      }

      .cls-8 {
        letter-spacing: .2em;
      }

      .cls-9 {
        letter-spacing: .18em;
      }

      .cls-6 {
        font-family: AvertaCY-Extrabold, 'Averta CY';
        font-size: 22.06px;
        font-weight: 700;
      }

      .cls-10 {
        letter-spacing: .19em;
      }

      .cls-11 {
        letter-spacing: .2em;
      }

/* Accessibility / performance helpers */
:focus-visible{outline:3px solid rgba(202,160,99,.75);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* Hero mobile center alignment */
@media (max-width: 767px){
  .hero-grid{
    grid-template-columns:1fr!important;
    text-align:center!important;
    align-items:center!important;
  }
  .hero-grid > div:first-child{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  .eyebrow{
    margin:0 auto 18px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .hero h1{
    max-width:100%!important;
    text-align:center!important;
    margin:0 auto!important;
  }
  .hero p{
    max-width:100%!important;
    text-align:center!important;
    margin:22px auto 30px!important;
  }
  .hero-actions{
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
  }
  .hero-actions .btn{
    width:100%!important;
    max-width:320px!important;
  }
  .glass-card{
    margin:28px auto 0!important;
  }
}