/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(fonts/ngcormorant-cyrillic-normal.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(fonts/ngcormorant-latin-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(fonts/ngcormorant-cyrillic-italic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Cormorant';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url(fonts/ngcormorant-latin-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Tenor Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ngtenor-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Tenor Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/ngtenor-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--bg:#faf4f1;--fg:#221f1d;--muted:#5f5853;--surface:#fefdfd;--line:#e7dcd7;--accent:#928184;--on-accent:#111111;--accent-text:#7a6c6e;--head:'Cormorant', 'Times New Roman', serif;--body:'Tenor Sans', 'Segoe UI', sans-serif;--top:64px;--block:#5b5052}
.blk{--fg:#fbf8f4;--muted:#cbc6c3;--accent:#fbf8f4;--on-accent:#5b5052;--accent-text:#fbf8f4;--line:rgba(251,248,244,0.3);background:var(--block);color:var(--fg)}
.blk .eyebrow{color:var(--muted)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:400 17px/1.6 var(--body);overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
main{flex:1}
h1,h2{font-family:var(--head);font-weight:500;margin:0;line-height:1.12;letter-spacing:0}
p,ul,dl,dd{margin:0}ul{padding:0;list-style:none}
a{color:inherit}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;flex:none;white-space:nowrap;min-height:48px;padding:12px 26px;border:1px solid var(--accent);border-radius:2px;background:var(--accent);color:var(--on-accent);font:500 16px/1.2 var(--body);letter-spacing:.02em;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.btn:hover{background:transparent;color:var(--accent-text);border-color:var(--accent-text)}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--fg)}
.btn-sm{min-height:44px;padding:10px 18px;font-size:15px}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}
.btn.call-tel{display:none}
.btn.call-text{cursor:text;-webkit-user-select:all;user-select:all;font-variant-numeric:tabular-nums}
.btn.call-text:hover{border-color:var(--line);color:var(--fg)}
@media (hover:none),(pointer:coarse){.btn.call-text{display:none}.btn.call-tel{display:inline-flex}}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.top{border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:24px;min-height:var(--top)}
.logo{font:400 20px/1.2 var(--head);text-decoration:none;margin-right:auto;min-width:0;min-height:44px;display:inline-flex;align-items:center}
.nav{display:flex;gap:28px}
.nav a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--muted);text-decoration:none;transition:color .2s}
.nav a:hover{color:var(--fg)}
@media (max-width:640px){.nav{display:none}.top-in{gap:12px;padding-block:8px}.logo{font-size:17px}}
.hero{display:flex;align-items:center;min-height:calc(100vh - var(--top) - 1px);min-height:calc(100svh - var(--top) - 1px);padding:56px 0}
.hero-in{width:min(1120px,100% - 40px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:center;animation:rise .45s ease-out both}
.hero.solo .hero-in,.h-center .hero-in{grid-template-columns:minmax(0,1fr)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){.hero-in{animation:none}html{scroll-behavior:auto}}
.eyebrow{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:20px}
h1{font-size:clamp(34px,2.6vw + 22px,56px);max-width:16ch}
h1.name-l{font-size:clamp(30px,2vw + 20px,46px);max-width:20ch}
h1.name-xl{font-size:clamp(28px,1.4vw + 20px,38px);max-width:24ch}
.pt h1{font-size:clamp(42px,3.4vw + 20px,74px);line-height:1.04;max-width:14ch}
.pt h1.name-l{font-size:clamp(34px,2.4vw + 16px,54px);max-width:18ch}
.pt h1.name-xl{font-size:clamp(30px,1.6vw + 16px,42px);max-width:22ch}
.lead{margin:22px 0 32px;max-width:34em;font-size:18px;color:var(--muted)}
.pt .lead{font-size:20px;line-height:1.55}
.rating{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:20px;font-size:15px;color:var(--muted);text-decoration:none}
a.rating:hover span{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.rating b{font-weight:600;color:var(--fg)}
.star{width:15px;height:15px;fill:var(--accent-text)}
.h-center .copy{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:760px;margin-inline:auto}
.h-center h1{margin-inline:auto}
.h-center .lead{margin-inline:auto}
.h-center .actions{justify-content:center}
.h-center h1::after{content:'';display:block;width:48px;height:1px;margin:28px auto 0;background:var(--accent)}
.aside{border:1px solid var(--line);background:var(--surface);padding:32px}
.aside-h{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin-bottom:12px}
.plate div{padding:16px 0;border-top:1px solid var(--line)}
.plate div:first-child{border-top:0;padding-top:0}
.plate div:last-child{padding-bottom:0}
.plate dt{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.plate dd{font-size:17px}
.prices li{display:flex;align-items:baseline;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.prices li:first-child{border-top:0}
.s-name{flex:0 1 auto}
.s-dots{flex:1 1 24px;min-width:24px;border-bottom:1px dotted var(--line);transform:translateY(-4px)}
.price{flex:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.ask{flex:none;font-size:15px;color:var(--muted)}
.ask-all{margin:-20px 0 32px;font-size:15px;color:var(--muted)}
.block{padding:96px 0;border-top:1px solid var(--line)}
h2{font-size:clamp(30px,2.4vw + 16px,52px);margin-bottom:36px}
.kicker{display:flex;align-items:center;gap:14px;font-size:14px;letter-spacing:.16em;color:var(--accent-text);margin-bottom:16px}
.kicker::after{content:'';width:40px;height:1px;background:currentColor}
.head{flex-wrap:wrap}.head .kicker{flex-basis:100%}
.band{border-top:0}
.svc-cards .head{margin-bottom:32px}.svc-cards .head h2{margin-bottom:12px}
.cards{list-style:none;padding:0;margin:0 0 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cards li{display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:132px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);transition:border-color .2s}
.cards li:hover{border-color:var(--accent-text)}
.cards .s-name{font:400 20px/1.3 var(--head)}
.cards .price{font-size:17px;color:var(--accent-text)}
.grid4.g-mosaic{grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,240px)}
.grid4.g-mosaic li{aspect-ratio:auto}
.grid4.g-mosaic li:first-child{grid-row:1 / 3}
.grid4.g-mosaic li:last-child{grid-column:2 / 4}
.grid4.g-duo{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid4.g-duo li{aspect-ratio:3/2}
.services .prices{max-width:760px;margin-bottom:36px}
.contacts .grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:start}
.row{padding:20px 0;border-top:1px solid var(--line)}
.row:first-child{border-top:0;padding-top:0}
.label{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.value{font-size:19px}
.link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);text-underline-offset:4px;transition:color .2s}
.link:hover{color:var(--fg)}
.reach .actions{flex-direction:column;align-items:stretch;margin-top:20px}
.bookcard{background:rgba(127,127,127,.09);border-top:3px solid var(--accent);padding:32px}
.bc-lead{color:var(--fg);margin:4px 0 16px}
.bookcard .label{color:var(--fg)}
.bc-phone{font-size:26px}
.bookcard .links{margin-top:4px}
.links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:16px}
.h-photo{padding:0;align-items:stretch}
.h-photo .hero-in{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch}
.h-photo .copy{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:72px 64px 72px max(20px,calc(50vw - 560px))}
.h-photo.left .copy{padding:72px max(20px,calc(50vw - 560px)) 72px 64px}
.h-photo.left .ph{order:-1}
.ph{position:relative;overflow:hidden;min-height:440px;background:var(--surface)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:settle 1.4s ease-out both}
@keyframes settle{from{transform:scale(1.04)}}
.h-poster{position:relative;padding:0;align-items:flex-end;overflow:hidden}
.h-poster>.ph{position:absolute;inset:0;min-height:0}
.h-poster .hero-in{position:relative;z-index:1;display:flex;justify-content:flex-start;padding:64px 0}
.h-poster.left .hero-in{justify-content:flex-end}
.panel{max-width:600px;padding:44px 48px;background:rgba(250,244,241,0.93)}
.h-editorial{flex-direction:column;align-items:stretch;justify-content:center;gap:44px;padding:56px 0 0}
.ed-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:end;animation:rise .45s ease-out both}
.h-editorial.pt h1{max-width:none}
.h-editorial .lead{margin-top:0}
.ed-ph{flex:1;display:flex}
.ed-ph .ph{flex:1;min-height:clamp(260px,40vh,520px)}
.h-frame .hero-in{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px}
.h-frame.left .hero-in{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.h-frame.left .ph{order:-1}
.h-frame .ph{min-height:0;height:min(640px,calc(100vh - 180px));height:min(640px,calc(100svh - 180px))}
.h-frame .ph::after{content:'';position:absolute;inset:14px;border:1px solid rgba(255,255,255,.7);pointer-events:none}
@media (prefers-reduced-motion:reduce){.ph img{animation:none}}
.works .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}
.works h2{margin:0}
.works .head .note{max-width:380px;text-align:right;margin:0}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.grid4 li{overflow:hidden;aspect-ratio:4/5;background:var(--surface)}
.grid4 img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.grid4 li:hover img{transform:scale(1.04)}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:start}
.split .side h2{margin-bottom:20px}
.split .side .note{margin:0}
.services .main .actions{margin-top:32px}
.row .rating{margin-top:0}
.hero-facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.services .main .prices{max-width:none;margin:0}
.services .main .ask-all{margin:16px 0 0}
.place{aspect-ratio:4/3;overflow:hidden;margin-bottom:24px;background:var(--surface)}
.place img{display:block;width:100%;height:100%;object-fit:cover}
.more-block{border-top:0}
.more-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.more-list li{border-top:1px solid var(--accent);padding-top:20px}
.more-list .n{display:block;font-size:14px;line-height:1;letter-spacing:.14em;color:var(--accent-text);margin-bottom:16px}
.more-list h3{font:400 22px/1.25 var(--head);margin:0 0 8px}
.more-list p{font-size:16px;color:var(--muted)}
.bk-lead{color:var(--muted);margin-top:12px;max-width:340px}
.bk-form{display:grid;gap:16px;max-width:620px}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bk-f{display:grid;gap:6px;font-size:14px;color:var(--muted)}
.bk-f select,.bk-f input{font:inherit;font-size:17px;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:0;padding:12px 14px;min-height:48px;width:100%;box-sizing:border-box}
.bk-f select:focus,.bk-f input:focus{outline:2px solid var(--accent);outline-offset:1px}
.bk-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bk-consent{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45}
.bk-consent input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--accent)}
.bk-form .btn{justify-self:start}
.bk-status{min-height:1.4em;margin:0;font-size:15px}
.bk-status.is-ok{color:var(--accent-text)}.bk-status.is-err{color:#b3261e}
.bk-note{font-size:14px;line-height:1.5;color:var(--muted);margin:0;max-width:520px}
.bk-preview{margin-top:28px;max-width:420px}
.tg-msg{background:#fff;color:#111;border-radius:14px 14px 14px 4px;padding:14px 16px;box-shadow:0 1px 2px rgba(0,0,0,.18);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.tg-msg p{margin:0;overflow-wrap:anywhere}.tg-msg .tg-h{font-weight:600;margin-bottom:6px}.tg-msg .tg-end{margin-top:6px}
.feat-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 32px}
.feat-list li{border-top:1px solid var(--line);padding-top:14px;font-size:17px;line-height:1.45;overflow-wrap:anywhere}
.foot{border-top:1px solid var(--line);padding:40px 0;background:var(--bg)}
.foot .wrap{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}
.f-name{font:400 20px/1.3 var(--head)}
.f-notes{max-width:560px;text-align:right}
.note{font-size:14px;line-height:1.5;color:var(--muted)}
.note{margin-top:6px}
@media (max-width:900px){.hero-in,.contacts .grid,.split{grid-template-columns:minmax(0,1fr);gap:40px}
.h-photo .hero-in{grid-template-columns:minmax(0,1fr);gap:0}
.h-photo .ph,.h-photo.left .ph{order:-1;min-height:0;height:52vh;height:52svh}
.h-photo .copy,.h-photo.left .copy{padding:40px max(20px,calc(50vw - 560px)) 56px}
.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid4.g-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.grid4.g-mosaic li{aspect-ratio:4/5}.grid4.g-mosaic li:first-child,.grid4.g-mosaic li:last-child{grid-row:auto;grid-column:auto}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.more-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.feat-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero.h-poster,.hero.h-frame{display:block;padding:0}
.h-poster>.ph,.h-frame .ph{position:relative;inset:auto;height:52vh;height:52svh;order:-1}
.h-poster .hero-in{display:block;width:100%;padding:0}
.h-poster .panel{max-width:none;background:var(--bg);padding:40px max(20px,calc(50vw - 560px)) 56px}
.h-frame .hero-in,.h-frame.left .hero-in{width:100%;grid-template-columns:minmax(0,1fr);gap:0}
.h-frame .copy{padding:40px max(20px,calc(50vw - 560px)) 56px}
.ed-top{grid-template-columns:minmax(0,1fr);gap:20px}
.h-editorial{padding-top:40px;gap:32px}}
@media (max-width:640px){
.wrap,.hero-in{width:calc(100% - 32px)}
.hero{min-height:0;padding:40px 0 56px}
.hero.h-photo{padding:0}
.h-photo .hero-in{width:100%}
.h-photo .copy,.h-photo.left .copy,.h-frame .copy,.h-poster .panel{padding:32px 16px 48px}
.pt h1{font-size:40px}.pt h1.name-l{font-size:32px}.pt h1.name-xl{font-size:28px}
.ed-ph .ph{min-height:300px}
.grid4{gap:10px}
.works .head{display:block}.works .head .note{text-align:left;margin-top:10px}
.more-list{grid-template-columns:minmax(0,1fr);gap:24px}
.feat-list{grid-template-columns:minmax(0,1fr)}
.bk-row{grid-template-columns:minmax(0,1fr)}
.cards{grid-template-columns:minmax(0,1fr)}.cards li{min-height:0;flex-direction:row;align-items:baseline;gap:16px}
.pt .lead{font-size:17px}
.plate{display:none}
h1{font-size:clamp(30px,8vw,36px)}h1.name-l{font-size:30px}h1.name-xl{font-size:26px}
.lead{font-size:17px;margin:18px 0 28px}
.actions .btn{flex:1 1 100%}
.aside{padding:24px 20px}
.block{padding:64px 0}
h2{font-size:28px;margin-bottom:28px}
.foot .wrap{flex-direction:column;gap:12px}.f-notes{text-align:left}
}
