:root{--black:#0c0c0d;--white:#ffffff;--soft:#f5f3f7;--lavender:#cbb9e8;--lavender-deep:#8065aa;--lavender-light:#eee8f7;--muted:#6e6a72;--line:rgba(12,12,13,.16);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);background:var(--white);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}.demo-note{min-height:38px;padding:8px 5%;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--lavender);color:var(--black);font-size:12px}.demo-note span{padding:2px 9px;border:1px solid rgba(12,12,13,.35);border-radius:999px;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.14em}.demo-note p{margin:0}.demo-note button{border:0;background:transparent;font-size:20px;line-height:1;margin-left:8px}.header{height:92px;padding:0 5%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:14px;width:max-content}.brand img{width:68px;height:32px;object-fit:cover}.brand>span{font:12px/1.2 var(--serif)}.nav{display:flex;gap:28px;font-size:12px}.nav a{position:relative}.nav a:after{content:'';position:absolute;height:1px;left:0;right:100%;bottom:-6px;background:var(--lavender-deep);transition:.25s}.nav a:hover:after,.nav a:focus-visible:after{right:0}.header>.button{justify-self:end}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 26px;border:1px solid var(--black);background:var(--black);color:var(--white);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:.25s}.button:hover,.button:focus-visible{background:var(--lavender-deep);border-color:var(--lavender-deep);transform:translateY(-2px)}.button--small{min-height:42px;padding:10px 20px}.menu-button{display:none;width:42px;height:42px;border:0;background:transparent}.menu-button span{display:block;width:24px;height:1px;background:var(--black);margin:7px auto}.hero{min-height:760px;padding:64px 5% 78px;display:grid;grid-template-columns:1fr .92fr;gap:7%;align-items:center;background:var(--soft)}.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--lavender-deep);font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:'';width:32px;height:1px;background:currentColor}.hero h1{font:clamp(60px,7vw,106px)/.86 var(--serif);letter-spacing:-.06em;margin:27px 0 32px}.hero h1 em{font-weight:400;color:var(--lavender-deep)}.hero__copy>p{max-width:560px;margin:0;color:var(--muted);font-size:17px}.hero__actions{display:flex;align-items:center;gap:34px;margin-top:36px}.text-link{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:6px}.hero__facts{display:flex;gap:42px;margin-top:52px;padding-top:24px;border-top:1px solid var(--line)}.hero__facts div{display:flex;flex-direction:column}.hero__facts strong{font:25px var(--serif);color:var(--lavender-deep)}.hero__facts span{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.hero__visual{position:relative;justify-self:end;width:min(100%,600px);padding:20px 20px 62px;background:var(--black)}.hero__visual>img{width:100%;aspect-ratio:1/1;object-fit:cover}.hero__label{position:absolute;left:-44px;right:48px;bottom:26px;padding:18px 22px;background:var(--lavender);display:flex;justify-content:space-between;align-items:end;gap:20px}.hero__label small{font-size:8px;letter-spacing:.12em;text-transform:uppercase}.hero__label strong{font:18px var(--serif);text-align:right}.ticker{height:52px;overflow:hidden;background:var(--black);color:var(--lavender);white-space:nowrap}.ticker__track{height:100%;display:flex;width:max-content;will-change:transform;animation:ticker 22s linear infinite}.ticker__group{min-width:100vw;display:flex;align-items:center;justify-content:space-around;gap:24px;padding:0 28px;font:14px var(--serif);letter-spacing:.18em;text-transform:uppercase}.ticker__group i{font-style:normal;color:rgba(203,185,232,.58)}@keyframes ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}.section{padding:112px 6%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:54px}.section-heading h2,.gallery h2,.booking h2,.contacts h2{font:clamp(46px,5.4vw,76px)/.95 var(--serif);letter-spacing:-.05em;margin:16px 0 0}.section-heading>p{max-width:470px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:340px;padding:30px 28px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.25s}.service-card--accent,.service-card:hover{background:var(--lavender-light)}.service-card>span{font:12px var(--serif);color:var(--lavender-deep)}.service-card h3{font:30px/1.05 var(--serif);margin:52px 0 14px}.service-card p{max-width:330px;margin:0;color:var(--muted);font-size:13px}.service-card button,.service-card a{margin-top:auto;padding:12px 0;border:0;border-bottom:1px solid var(--black);background:transparent;text-align:left;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.team{background:var(--black);color:var(--white)}.team .eyebrow{color:var(--lavender)}.team .section-heading>p{color:rgba(255,255,255,.58)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.master-card{min-height:360px;padding:30px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);transition:.25s}.master-card:hover,.master-card--owner{background:#1a171d}.master-card__top{display:flex;justify-content:space-between;gap:20px;color:var(--lavender)}.master-card__top span{font:12px var(--serif)}.master-card__top small{font-size:8px;letter-spacing:.14em;text-transform:uppercase}.master-card h3{font:42px/.96 var(--serif);margin:64px 0 14px}.master-card p{margin:0;color:rgba(255,255,255,.55);font-size:12px}.master-price{margin-top:auto;padding:12px 0;border:0;border-bottom:1px solid rgba(255,255,255,.55);background:transparent;color:var(--white);text-align:left;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.gallery{display:grid;grid-template-columns:.7fr 1.05fr .75fr;gap:24px;align-items:end;background:var(--soft)}.gallery__intro{align-self:start;padding-right:32px}.gallery__intro>p{max-width:410px;color:var(--muted);margin:26px 0 0}.gallery__item{margin:0}.gallery__item img{width:100%;height:500px;object-fit:cover}.gallery__item--wide img{height:620px}.gallery__item figcaption{margin-top:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;background:var(--lavender-light)}.booking__intro{position:sticky;top:130px;align-self:start}.booking__intro>p{max-width:430px;color:var(--muted);margin:26px 0}.booking__note{max-width:430px;margin-top:40px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking__note small{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lavender-deep)}.booking__note p{font:18px/1.35 var(--serif);margin:7px 0 0}.booking-form{padding:45px;background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:24px 18px;box-shadow:0 25px 80px rgba(35,28,43,.08)}.field{display:flex;flex-direction:column;gap:8px}.field--wide{grid-column:1/-1}.field label,.booking-form>.field>label{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;padding:0 15px;border:0;border-bottom:1px solid var(--line);background:var(--soft);outline:none;border-radius:0}.field input,.field select{height:50px}.field textarea{padding-top:13px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lavender-deep)}.time-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.time-grid button{padding:11px 4px;background:var(--white);border:1px solid var(--line);font-size:11px}.time-grid button:hover,.time-grid button:focus-visible,.time-grid button.active{background:var(--black);color:var(--white)}.consent{display:flex;flex-direction:row;gap:10px;align-items:center;color:var(--muted);font-size:10px}.consent input{width:16px;height:16px}.booking-form__submit{width:100%}.booking-form__foot{text-align:center;font-size:9px;color:#918b98;margin:-8px 0 0}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:var(--white)}.contacts__brand{padding:42px;background:var(--black)}.contacts__brand img{width:100%;aspect-ratio:1.6/1;object-fit:cover}.contacts__copy>p{max-width:500px;color:var(--muted);margin:28px 0 36px}.contact-links{display:flex;flex-direction:column}.contact-links button{padding:17px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;font:18px var(--serif);color:var(--muted)}.contact-links button:last-child{border-bottom:1px solid var(--line)}.footer{min-height:126px;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--black);color:var(--white)}.brand--footer img{width:94px;height:42px}.footer p,.footer>a:last-child{font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.5)}.chat-launcher{position:fixed;right:24px;bottom:22px;z-index:45;min-height:52px;padding:8px 9px 8px 18px;display:flex;align-items:center;gap:14px;border:1px solid var(--black);background:var(--white);box-shadow:0 14px 40px rgba(12,12,13,.16)}.chat-launcher span{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.chat-launcher strong{width:36px;height:36px;display:grid;place-items:center;background:var(--lavender);font:15px var(--serif)}.chat-panel{position:fixed;right:24px;bottom:86px;z-index:50;width:min(380px,calc(100vw - 32px));background:var(--white);border:1px solid var(--black);box-shadow:0 24px 70px rgba(12,12,13,.22)}.chat-panel[hidden]{display:none}.chat-panel__head{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--black);color:var(--white)}.chat-panel__head div{display:flex;flex-direction:column}.chat-panel__head small{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--lavender)}.chat-panel__head strong{font:17px var(--serif)}.chat-close{border:0;background:transparent;color:var(--white);font-size:24px}.chat-messages{max-height:220px;overflow:auto;padding:18px;background:var(--soft)}.message{width:fit-content;max-width:88%;margin:0 0 10px;padding:11px 13px;font-size:12px}.message--bot{background:var(--white);border:1px solid var(--line)}.message--user{margin-left:auto;background:var(--lavender)}.chat-questions{padding:12px;display:flex;flex-wrap:wrap;gap:7px}.chat-questions button{padding:8px 10px;border:1px solid var(--line);background:var(--white);font-size:10px}.chat-questions button:hover{border-color:var(--lavender-deep)}.modal{position:fixed;inset:0;z-index:100;background:rgba(12,12,13,.76);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal__content{position:relative;width:min(470px,100%);padding:50px;background:var(--white);text-align:center}.modal__close{position:absolute;right:15px;top:9px;border:0;background:transparent;font-size:27px}.modal__label{display:inline-grid;place-items:center;width:54px;height:54px;background:var(--lavender);font:18px var(--serif)}.modal__content h2{font:36px var(--serif);margin:20px 0 10px}.modal__content p{font-size:13px;color:var(--muted)}.modal__button{margin:20px auto 0}.reveal{opacity:1;transform:none}.reveal.visible{opacity:1;transform:none}.reveal--delay{transition-delay:.12s}
@media(max-width:1100px){.nav{gap:18px}.hero{gap:4%}.hero__label{left:-20px}.time-grid{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery__intro{grid-column:1/-1;margin-bottom:28px}.gallery__item img,.gallery__item--wide img{height:520px}}
@media(max-width:820px){.demo-note{padding:8px 16px;text-align:center}.demo-note p{font-size:10px}.header{height:74px;padding:0 20px;grid-template-columns:1fr auto}.brand img{width:60px;height:28px}.brand>span{display:none}.nav,.header>.button{display:none}.menu-button{display:block}.nav.open{display:flex;position:absolute;left:0;right:0;top:74px;padding:28px;background:var(--white);flex-direction:column;border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(12,12,13,.08)}.hero{min-height:auto;padding:55px 20px 74px;grid-template-columns:1fr}.hero h1{font-size:62px}.hero__copy>p{font-size:15px}.hero__visual{margin:28px 20px 0 42px}.section{padding:82px 20px}.section-heading{display:block}.section-heading>p{margin-top:22px}.service-grid{grid-template-columns:1fr}.service-card{min-height:290px}.team-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.booking{grid-template-columns:1fr}.booking__intro{position:static}.booking-form{padding:28px}.contacts{grid-template-columns:1fr}.contacts__brand{padding:26px}.footer{flex-wrap:wrap}.footer p{order:3;width:100%}}
@media(max-width:540px){.hero h1{font-size:51px}.hero__actions{align-items:stretch;flex-direction:column;gap:20px}.hero__actions .button{width:100%}.hero__facts{gap:15px;justify-content:space-between}.hero__facts strong{font-size:21px}.hero__facts span{font-size:7px}.hero__visual{margin-left:20px;padding:12px 12px 54px}.hero__label{left:-18px;right:24px;padding:13px}.hero__label strong{font-size:14px}.section-heading h2,.gallery h2,.booking h2,.contacts h2{font-size:45px}.team-grid,.gallery{grid-template-columns:1fr}.master-card{min-height:315px}.gallery__item img,.gallery__item--wide img{height:auto}.booking-form{grid-template-columns:1fr}.field--wide{grid-column:auto}.time-grid{grid-template-columns:repeat(3,1fr)}.footer{padding:30px 20px}.chat-launcher{right:16px;bottom:16px}.chat-launcher span{display:none}.chat-panel{right:16px;bottom:72px}.modal__content{padding:42px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker__track{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Master profiles: branded placeholders keep the future photo layout consistent. */
.master-card{min-width:0;min-height:0;padding:0;overflow:hidden}
.master-card__body{min-height:305px;padding:26px 30px 30px;display:flex;flex:1;flex-direction:column}
.master-card__photo{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 22%;border-bottom:1px solid rgba(255,255,255,.12)}
.master-card__top small{text-align:right}
.master-card h3{margin:38px 0 14px}
.master-card p{color:rgba(255,255,255,.63)}
.master-card__pending{aspect-ratio:4/3;display:grid;place-content:center;gap:14px;text-align:center;background:linear-gradient(145deg,#211c26,#111012);color:var(--lavender);border-bottom:1px solid rgba(255,255,255,.12)}
.master-card__pending strong{font:64px/.8 var(--serif)}
.master-card__pending span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
@media(max-width:540px){.master-card__body{min-height:290px}}

.contact-options{display:flex;flex-wrap:wrap;gap:8px;height:50px;align-items:center}
.contact-options label{position:relative;display:block;cursor:pointer}
.contact-options input{position:absolute;opacity:0;pointer-events:none}
.contact-options span{display:block;padding:10px 15px;border:1px solid var(--line);background:var(--white);font-size:13px;letter-spacing:0;text-transform:none;transition:.2s}
.contact-options input:checked+span{border-color:var(--black);background:var(--black);color:var(--white)}
.contact-options input:focus-visible+span{outline:2px solid var(--lavender-deep);outline-offset:2px}
.telegram-field[hidden],.custom-time[hidden]{display:none}
.custom-time{margin-top:12px;padding:16px;background:var(--lavender-light);display:grid;grid-template-columns:1fr minmax(150px,220px);gap:16px;align-items:center}
.custom-time label{font-size:11px;letter-spacing:.08em}
.custom-time select{height:46px;padding:0 14px;border:1px solid var(--line);background:var(--white)}
@media(max-width:540px){.contact-options{height:auto}.contact-options span{padding:10px 13px}.custom-time{grid-template-columns:1fr}}

/* ============ Мобильная версия: компактный первый экран и мастера-аккордеон ============ */
/* Всё ниже работает только на телефонах — десктоп не затрагивается. */
@media(max-width:820px){
  .section{padding:58px 20px}
  .section-heading{margin-bottom:28px}

  /* Первый экран: ровно один экран телефона, без пролистывания */
  .hero{min-height:calc(100svh - 74px);height:calc(100svh - 74px);padding:14px 20px 18px;gap:12px;
    grid-template-columns:1fr;grid-template-rows:auto minmax(110px,1fr);align-content:stretch;align-items:stretch}
  .hero__copy{display:flex;flex-direction:column;justify-content:center;min-height:0}
  .hero h1{font:clamp(28px,8.4vw,44px)/.92 var(--serif);margin:8px 0 8px}
  .hero__copy>p{font-size:clamp(12px,3.4vw,14px);line-height:1.45;margin:0}
  .hero__actions{margin-top:12px;gap:10px}
  .hero .button{min-height:46px}
  .hero__facts{margin-top:12px;padding-top:10px;gap:10px;justify-content:space-between}
  .hero__facts strong{font-size:17px}
  .hero__facts span{font-size:7px}
  .hero__visual{width:100%;margin:0;padding:8px;display:flex;flex-direction:column;min-height:0}
  .hero__visual>img{flex:1;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
  .hero__label{position:static;flex:none;margin-top:8px;padding:8px 66px 8px 12px;align-items:center}
  .hero__label small{font-size:7px}
  .hero__label strong{font-size:13px}

  /* Мастера: тонкие строки с миниатюрой, описание раскрывается по нажатию */
  .team-grid{display:block;border:0}
  .master-card,
  .master-card:hover,
  .master-card--owner{display:grid;grid-template-columns:56px 1fr;align-items:center;column-gap:14px;
    min-height:0;padding:10px 2px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .master-card__pending{grid-column:1;grid-row:1;width:56px;height:56px;aspect-ratio:1;gap:0;border:0;border-radius:2px}
  .master-card__photo{grid-column:1;grid-row:1;width:56px;height:56px;aspect-ratio:1;object-fit:cover;border:0;border-radius:2px}
  .master-card__pending strong{font-size:22px}
  .master-card__pending span{display:none}
  .master-toggle{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:14px;
    width:100%;padding:12px 2px;border:0;background:transparent;color:var(--white);text-align:left}
  .master-toggle__text{display:flex;flex-direction:column;gap:3px}
  .master-toggle strong{font:20px/1.05 var(--serif)}
  .master-toggle small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lavender)}
  .master-toggle i{flex:none;width:9px;height:9px;border-right:1px solid var(--lavender);
    border-bottom:1px solid var(--lavender);transform:rotate(45deg);transition:transform .25s}
  .master-card.open .master-toggle i{transform:rotate(-135deg)}
  .master-card__body{grid-column:2;grid-row:2;min-height:0;padding:0 2px 18px}
  .master-card:not(.open) .master-card__body{display:none}
  .master-card__body h3{display:none}
  .master-card__top{justify-content:flex-start;gap:10px;margin-bottom:8px}
  .master-card__top span{display:none}
  .master-card__top small{text-align:left}
  .master-card p{font-size:12.5px}
  .master-price{margin-top:14px;padding:10px 0}
}
@media(min-width:821px){.master-toggle{display:none}}
@media(max-width:540px){
  .hero{padding:12px 18px 16px}
  .hero__visual{margin-left:0;padding:7px}
  .hero__label{left:auto;right:auto;padding:10px 12px}
  .master-card__body{min-height:0}
}

@media(max-width:820px) and (max-height:700px){
  .hero__copy>p{display:none}
  .hero h1{font-size:clamp(26px,7.6vw,38px);margin:6px 0}
  .hero__facts{margin-top:10px;padding-top:8px}
  .hero__label{display:none}
}

.master-price:disabled{cursor:default;opacity:.52}
.master-price{display:block}
.price-list{margin:22px 0 4px;padding:0;list-style:none;text-align:left;border-top:1px solid var(--line)}
.price-list li{display:grid;grid-template-columns:1fr auto;gap:18px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.35}
.price-list strong{white-space:nowrap;color:var(--lavender-deep)}
.modal__content{max-height:min(760px,calc(100vh - 40px));overflow:auto}
@media(max-width:540px){.modal__content{padding:36px 20px}.price-list li{gap:12px;font-size:12px}}
.contact-links a{padding:17px 0;border-top:1px solid var(--line);text-align:left;font:18px var(--serif);color:var(--muted);transition:.2s}
.contact-links a:last-child{border-bottom:1px solid var(--line)}
.contact-links a:hover,.contact-links a:focus-visible{color:var(--lavender-deep);padding-left:8px}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Полный каталог услуг */
.service-catalog{background:var(--white);border-top:1px solid var(--line)}
.catalog-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-18px 0 38px}
.catalog-filters button{min-height:42px;padding:10px 16px;border:1px solid var(--line);background:var(--white);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.2s}
.catalog-filters button:hover,.catalog-filters button:focus-visible,.catalog-filters button.active{border-color:var(--black);background:var(--black);color:var(--white)}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.catalog-card{min-width:0;padding:30px;border:1px solid var(--line);background:var(--soft)}
.catalog-card header{padding-bottom:22px;border-bottom:1px solid var(--line)}
.catalog-card header>span{color:var(--lavender-deep);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.catalog-card h3{margin:8px 0 6px;font:32px/1.05 var(--serif)}
.catalog-card header p{margin:0;color:var(--muted);font-size:12px}
.catalog-list{margin:0;padding:0;list-style:none}
.catalog-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.35}
.catalog-list strong{align-self:start;white-space:nowrap;color:var(--lavender-deep);font-size:12px}
.catalog-book{width:100%;margin-top:22px;padding:13px 0;border:0;border-bottom:1px solid var(--black);background:transparent;text-align:left;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.catalog-book:hover,.catalog-book:focus-visible{color:var(--lavender-deep);border-color:var(--lavender-deep)}
.catalog-note{max-width:720px;margin:28px 0 0;color:var(--muted);font-size:11px}
.catalog-toggle{display:none}

@media(max-width:820px){
  .catalog-filters{margin:0 0 28px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .catalog-filters::-webkit-scrollbar{display:none}
  .catalog-filters button{flex:none}
  .catalog-grid{grid-template-columns:1fr}
  .catalog-card{padding:0}
  .catalog-card header{padding:22px 20px;border-bottom:0}
  .catalog-card.open header{border-bottom:1px solid var(--line)}
  .catalog-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:18px;padding:13px 0 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--black);font-size:10px;font-weight:700;letter-spacing:.12em;text-align:left;text-transform:uppercase}
  .catalog-toggle i{flex:none;width:9px;height:9px;margin-right:3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:transform .25s}
  .catalog-card.open .catalog-toggle i{transform:rotate(-135deg)}
  .catalog-card:not(.open) .catalog-list,.catalog-card:not(.open) .catalog-book{display:none}
  .catalog-card.open .catalog-list{margin:0 20px}
  .catalog-card.open .catalog-book{width:calc(100% - 40px);margin:18px 20px 22px}
}
@media(max-width:540px){
  .catalog-card h3{font-size:28px}
  .catalog-list li{gap:12px;font-size:12px}
  .catalog-list strong{font-size:11px}
}

/* Портфолио: полноценная адаптивная галерея из материалов студии. */
.gallery{display:block;background:var(--soft)}
.gallery__intro{display:flex;align-items:end;justify-content:space-between;gap:56px;margin-bottom:46px;padding:0}
.gallery__intro>p{max-width:470px;margin:0;color:var(--muted);font-size:15px}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.gallery__item{grid-column:span 4;min-width:0;margin:0}
.gallery__item--wide{grid-column:span 8}
.gallery__item img,.gallery__item--wide img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#e9e5ed}
.gallery__item--wide img{aspect-ratio:8/5}
.gallery__item figcaption{display:grid;gap:4px;margin-top:12px;color:var(--black);font:15px/1.25 var(--serif);letter-spacing:0;text-transform:none}
.gallery__item figcaption span{color:var(--lavender-deep);font:700 9px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase}

@media(max-width:1100px){
  .gallery__item{grid-column:span 6}
  .gallery__item--wide{grid-column:span 12}
  .gallery__item img{aspect-ratio:4/5}
  .gallery__item--wide img{aspect-ratio:16/9}
}

@media(max-width:820px){
  .gallery__intro{display:block;margin-bottom:30px}
  .gallery__intro>p{margin-top:16px}
}

@media(max-width:540px){
  .gallery-grid{grid-template-columns:1fr;gap:28px}
  .gallery__item,.gallery__item--wide{grid-column:1}
  .gallery__item img,.gallery__item--wide img{aspect-ratio:4/5}
  .gallery__item figcaption{font-size:17px}
}

/* Горизонтальная карусель галереи */
.gallery-carousel{min-width:0}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.gallery-counter{font:18px var(--serif);color:var(--lavender-deep)}
.gallery-controls>div{display:flex;gap:8px}
.gallery-arrow{width:48px;height:48px;border:1px solid var(--line);background:var(--white);font-size:20px;line-height:1;transition:.2s}
.gallery-arrow:hover,.gallery-arrow:focus-visible{border-color:var(--black);background:var(--black);color:var(--white)}
.gallery-grid{display:flex;grid-template-columns:none;gap:20px;overflow-x:auto;overflow-y:hidden;padding:0 0 12px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gallery-grid::-webkit-scrollbar{display:none}
.gallery__item,.gallery__item--wide{flex:0 0 calc((100% - 40px)/3);grid-column:auto;scroll-snap-align:start}
.gallery__item img,.gallery__item--wide img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}

@media(max-width:1100px){
  .gallery__item,.gallery__item--wide{flex-basis:calc((100% - 20px)/2)}
}
@media(max-width:700px){
  .gallery__item,.gallery__item--wide{flex-basis:86%}
  .gallery-arrow{width:44px;height:44px}
}

/* Юридические документы */
.consent{align-items:flex-start}.consent input{flex:0 0 auto;margin-top:2px}.consent a{text-decoration:underline;text-underline-offset:2px;color:var(--black)}
.footer__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;max-width:520px}.footer__legal a{font-size:9px;letter-spacing:.08em;color:rgba(255,255,255,.65);text-decoration:underline;text-underline-offset:3px}.footer__legal a:hover,.footer__legal a:focus-visible{color:var(--lavender)}
.legal-page{min-height:100vh;background:var(--soft)}.legal-header{position:sticky;top:0;z-index:20;min-height:74px;padding:14px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.legal-header .brand img{width:76px;height:34px}.legal-back{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}.legal-main{width:min(940px,calc(100% - 40px));margin:0 auto;padding:78px 0 100px}.legal-intro{padding-bottom:38px;border-bottom:1px solid var(--line)}.legal-intro h1{max-width:820px;margin:18px 0 22px;font:clamp(42px,6vw,72px)/.98 var(--serif);letter-spacing:-.04em}.legal-intro p{max-width:760px;margin:0;color:var(--muted)}.legal-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:24px;font-size:11px;color:var(--muted)}.legal-content{padding-top:28px}.legal-content section{padding:26px 0;border-bottom:1px solid var(--line)}.legal-content h2{margin:0 0 14px;font:29px/1.15 var(--serif)}.legal-content h3{margin:22px 0 8px;font:20px/1.25 var(--serif)}.legal-content p,.legal-content li{font-size:14px;line-height:1.7}.legal-content p{margin:0 0 12px}.legal-content ul,.legal-content ol{margin:8px 0 0;padding-left:22px}.legal-content li+li{margin-top:7px}.legal-note{margin:24px 0 0;padding:20px 22px;background:var(--lavender-light);border-left:3px solid var(--lavender-deep)}.legal-details{display:grid;grid-template-columns:190px 1fr;gap:9px 22px;margin:16px 0 0}.legal-details dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.legal-details dd{margin:0;font-size:14px;overflow-wrap:anywhere}.legal-footer{padding:32px 6%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;background:var(--black);color:var(--white)}.legal-footer a{font-size:10px;color:rgba(255,255,255,.7);text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){.footer__legal{order:4;width:100%;justify-content:flex-start}.legal-main{padding-top:54px}.legal-details{grid-template-columns:1fr;gap:3px}.legal-details dd{margin-bottom:10px}}
@media(max-width:540px){.legal-header{padding:12px 20px}.legal-header .brand span{display:none}.legal-main{width:min(100% - 32px,940px);padding:44px 0 70px}.legal-intro h1{font-size:39px}.legal-content h2{font-size:25px}.legal-content p,.legal-content li{font-size:13px}.legal-note{padding:17px}}
