@font-face{font-family:"Geologica";src:url(../assets/fonts/geologica-cyrillic.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Geologica";src:url(../assets/fonts/geologica-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20C0}
@font-face{font-family:"Bona Nova";src:url(../assets/fonts/bona-cyrillic-italic.woff2) format("woff2");font-style:italic;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Bona Nova";src:url(../assets/fonts/bona-latin-italic.woff2) format("woff2");font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20C0}
@font-face{font-family:"Bona Nova";src:url(../assets/fonts/bona-cyrillic-normal.woff2) format("woff2");font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Bona Nova";src:url(../assets/fonts/bona-latin-normal.woff2) format("woff2");font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20A0-20C0}

:root{
  --chalk:#F4F3F0;--plaster:#E2D9D0;--stone:#BDBCB9;--ink:#1F1D1C;--red:#A82C1D;
  --soft:rgba(31,29,28,.72);--hair:rgba(31,29,28,.42);
  --grot:"Geologica",system-ui,sans-serif;--serif:"Bona Nova",Georgia,serif;
  --gut:clamp(1.25rem,5.5vw,6rem);
  --ph:100svh;--pw:calc(var(--ph) * .6664);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--chalk);-webkit-text-size-adjust:100%;overflow-x:clip}
body{font:300 1.0625rem/1.65 var(--grot);color:var(--ink);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,canvas,svg{display:block}
ul,ol{list-style:none}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-weight:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:#fff;padding:.6rem 1rem;transition:top .2s}
.skip:focus{top:1rem}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
html.menu-open,html.menu-open body{overflow:hidden}

/* загрузка */
.loader{display:none}
.js .loader{display:grid;place-items:center;position:fixed;inset:0;z-index:90;background:var(--plaster);animation:loaderOut .3s 6s forwards}
@keyframes loaderOut{to{opacity:0;visibility:hidden}}
.loader svg{width:min(44vw,220px);overflow:visible}
.loader circle,.loader line{fill:none;stroke:var(--ink);stroke-width:.6;stroke-dasharray:1;stroke-dashoffset:1}
.l-q{fill:var(--red);transform-origin:100px 100px;transform:scale(0)}

/* шапка */
.bar{position:fixed;z-index:60;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:.65rem var(--gut);pointer-events:none}
.bar>*{pointer-events:auto}
.bar{transition:color .35s,transform .55s var(--ease),background-color .35s}
.bar.band{background:rgba(244,243,240,.68);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.bar.hide{transform:translateY(-105%)}
body.on-red .bar.band{background:rgba(168,44,29,.55)}
body.on-dark .bar.band{background:rgba(31,29,28,.62)}
.bar-name{font-size:.95rem;text-decoration:none;font-weight:300}
.bar-name em{font:italic 1.3rem/1 var(--serif);margin-right:.1em}
.bar-right{display:flex;gap:1.6rem;align-items:center}
.bar-book{font-size:.92rem;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .4s var(--ease)}
.bar-book:hover{background-size:0 1px;background-position:100% 100%}
.bar-menu{position:relative;display:flex;align-items:center;gap:.6rem;min-height:44px;font-size:.92rem;padding-right:2.2rem}
.bar-menu i{position:absolute;right:0;width:1.6rem;height:1px;background:currentColor;transition:transform .45s var(--ease)}
.bar-menu i:nth-of-type(1){top:calc(50% - 4px)}
.bar-menu i:nth-of-type(2){top:calc(50% + 4px)}
.bar-menu[aria-expanded=true] i:nth-of-type(1){transform:translateY(4px) rotate(45deg)}
.bar-menu[aria-expanded=true] i:nth-of-type(2){transform:translateY(-4px) rotate(-45deg)}
body.on-red .bar,body.on-red .rail,body.on-dark .bar,body.on-dark .rail{color:#fff}

.menu{position:fixed;inset:0;z-index:55;background:var(--chalk);display:flex;flex-direction:column;justify-content:center;padding:5rem var(--gut) 2rem;clip-path:circle(0 at calc(100% - 3rem) 2.4rem);transition:clip-path .8s var(--ease);overflow:auto}
.menu.open{clip-path:circle(150% at calc(100% - 3rem) 2.4rem)}
.menu li{overflow:hidden}
.menu a{display:inline-block;font-size:clamp(1.9rem,5.2vh,4.2rem);line-height:1.22;font-weight:200;text-decoration:none;letter-spacing:-.02em;transform:translateY(110%);transition:transform .8s var(--ease),color .25s}
.menu.open a{transform:none;transition-delay:calc(var(--i) * 45ms + .12s),0s}
.menu li:nth-child(even) a{font:italic 400 clamp(2.1rem,5.6vh,4.5rem)/1.2 var(--serif);letter-spacing:0;margin-left:clamp(1.5rem,9vw,10rem)}
.menu a:hover{color:var(--red)}
.menu-foot{margin-top:2rem;font-size:.9rem;color:var(--soft)}

.rail{display:none}
@media(min-width:900px){
  .motion .rail{display:block;position:fixed;z-index:50;right:1.5rem;top:30svh;height:40svh;width:1px;transition:color .35s;pointer-events:none}
  .rail-line{position:absolute;inset:0;background:currentColor;opacity:.3}
  .rail-dot{position:absolute;left:-3px;top:0;width:7px;height:7px;border-radius:50%;background:var(--red);will-change:transform;transition:background .35s}
  body.on-red .rail-dot,body.on-dark .rail-dot{background:#fff}
  .rail-name{position:absolute;right:.7rem;bottom:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.72rem;white-space:nowrap;opacity:.8}
}

/* кнопка: красная точка разливается на весь размер */
.btn{position:relative;display:inline-flex;align-items:center;gap:.8rem;min-height:3.2rem;padding:.7rem 1.5rem .7rem 2.5rem;border:1px solid var(--ink);border-radius:99px;font-size:.98rem;font-weight:400;text-decoration:none;overflow:hidden;isolation:isolate;transition:color .4s;background:rgba(244,243,240,.2)}
.btn::before{content:"";position:absolute;z-index:-1;left:1.15rem;top:50%;width:.6rem;height:.6rem;margin-top:-.3rem;border-radius:50%;background:var(--red);transition:transform .7s var(--ease)}
.btn:hover,.btn:focus-visible{color:#fff}
.btn:hover::before,.btn:focus-visible::before{transform:scale(70)}
.btn-light{border-color:#fff;color:#fff}
.btn-light::before{background:#fff}
.btn-light:hover,.btn-light:focus-visible{color:var(--red)}
.link{font-size:1.02rem;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding:.5rem 0;transition:color .25s}
.link:hover{color:var(--red)}

/* общие элементы движения */
.stage{position:relative;overflow:hidden;overflow:clip}
.glass{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.glass.on{opacity:1}
svg .d,.d-keep{fill:none;stroke:var(--ink);stroke-dasharray:1;stroke-opacity:.62}
html:not(.motion) svg .d,html:not(.motion) .d-keep{stroke-dasharray:none}
.fl{position:absolute;display:block;width:1px;background:var(--ink);opacity:.34;will-change:transform;pointer-events:none;z-index:1}
.fl::after{content:"";position:absolute;left:-1.5px;bottom:-2px;width:4px;height:4px;border-radius:50%;background:var(--ink)}
.fl.h{height:1px}
.fl.h::after{left:auto;right:-2px;bottom:-1.5px}
.fl.r{background:var(--red);opacity:.75}
.fl.r::after{background:var(--red)}
.fl.w{background:#fff;opacity:.7}
.fl.w::after{background:#fff}
[data-chars]{display:inline-block}
.ch{display:inline-block;will-change:transform}

/* ГЛАВНЫЙ ЭКРАН */
.hero{position:relative;background:var(--plaster)}
.hero .stage{min-height:100svh}
.motion .hero{height:340svh}
.motion .hero .stage{position:sticky;top:0;height:100svh}
.hero{--ph:min(150vw,70svh);--left:100vw}
.hero-photo,.hero-frame{position:absolute;right:0;bottom:0;height:var(--ph);width:var(--pw)}
.hero-photo{object-fit:cover}
.hero-frame{transform-origin:100% 100%;pointer-events:none;z-index:2}
.hero-geo{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero-geo .d{stroke-width:.14;stroke:#fff;stroke-opacity:.95}
.hero-copy{position:relative;z-index:3;padding:clamp(5rem,12svh,7rem) var(--gut) 0}
.hero-h{display:block}
.hero-sur{display:block;font-size:clamp(2.1rem,10.6vw,3.2rem);font-weight:200;letter-spacing:-.025em;line-height:1}
.hero-name{display:block;font:italic 400 min(38vw,22svh)/.86 var(--serif);margin:-.04em 0 0 -.05em;padding-bottom:.08em}
.hero-prof{position:absolute;z-index:3;font-size:1.05rem;font-weight:400;display:flex;gap:.6rem;align-items:center}
.hero-prof i{font-style:normal;color:var(--red)}
.hero-exp{font-size:.95rem}
.hero .btn{margin-top:.8rem;background:rgba(244,243,240,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero-copy .hero-prof,.hero-copy .hero-exp{position:static}
.hero-values{position:relative;z-index:3;padding:2rem var(--gut)}
.v{line-height:1.08}
.v1,.v3{font:italic 400 clamp(2.3rem,9.5vw,6.2rem)/1.05 var(--serif)}
.v2{font-size:clamp(1.7rem,7.4vw,4.8rem);font-weight:200;letter-spacing:-.03em}
.v3{color:var(--red)}
.hero-offer{font-size:.95rem;max-width:30rem;margin-top:1.2rem}
.hero-hint{display:none}

.motion .hero-copy{position:absolute;inset:0;padding:0}
.motion .hero-values{position:absolute;inset:auto 0 0;padding:0 var(--gut) 1.5rem}
@media(max-width:899px){
  .motion .hero-h{position:absolute;left:var(--gut);top:clamp(4.2rem,9svh,5.5rem)}
  .motion .hero-prof{position:absolute;left:var(--gut);bottom:7.9rem}
  .motion .hero-exp{position:absolute;left:var(--gut);bottom:6.3rem}
  .motion .hero .btn{position:absolute;left:var(--gut);bottom:1.8rem;margin:0}
  .motion .hero-values{top:clamp(4.2rem,9svh,5.5rem);bottom:auto;padding-bottom:0}
  .motion .hero-offer{font-size:.86rem;line-height:1.5;max-width:15rem;position:absolute;top:calc(var(--offer-top,0) + 0px)}
  .motion .hero-prof{background:rgba(244,243,240,.72);padding:.1rem .6rem;margin-left:-.6rem;border-radius:99px}
  .motion .hero-exp{background:rgba(244,243,240,.72);padding:0 .6rem;margin-left:-.6rem;border-radius:99px}
}
@media(min-width:900px){
  .hero{--ph:100svh;--left:calc(100vw - var(--pw))}
  .hero-frame{transform-origin:100% 50%}
  .hero-name{font-size:min(25vw,47svh,calc(var(--left) * .68))}
  .hero-sur{font-size:min(5.3vw,calc(var(--left) * .1))}
  .hero-copy{padding-top:14svh}
  .motion .hero-h{position:absolute;left:var(--gut);top:17svh}
  .motion .hero-prof{position:absolute;left:var(--gut);bottom:19svh;font-size:1.3rem;font-weight:300}
  .motion .hero-exp{position:absolute;left:var(--gut);bottom:15.6svh;font-size:1rem}
  .motion .hero .btn{position:absolute;left:var(--gut);bottom:5.5svh;margin:0}
  .motion .hero-values{inset:0 auto 0 0;width:var(--left);padding:0 0 0 var(--gut);display:flex;flex-direction:column;justify-content:center;gap:.3em}
  .v1,.v3{font-size:min(6vw,calc(var(--left) * .1))}
  .v2{font-size:min(4.6vw,calc(var(--left) * .074));margin-left:clamp(0rem,2vw,3rem)}
  .v3{margin-left:clamp(0rem,3vw,5rem)}
  .hero-offer{margin-top:2.5rem;font-size:1rem}
  .hero-hint{display:block;position:absolute;z-index:3;left:calc(var(--left) + 1.2rem);bottom:1.4rem;font-size:.78rem;color:var(--ink);transition:opacity .6s}
  @media(hover:none){.hero-hint{display:none}}
}

/* ОБО МНЕ */
.about{position:relative;background:var(--chalk);--gap:1.5rem}
.about .stage{padding:5rem var(--gut) 3rem;display:flex;flex-direction:column;gap:2.4rem}
.about-geo{display:none}
.about-title{font-size:clamp(3.2rem,15vw,6rem);font-weight:100;letter-spacing:-.04em;line-height:1}
.about-photo{position:relative;width:min(82vw,28rem);aspect-ratio:2/3;margin-left:auto;border-radius:50vw 50vw 0 0;overflow:hidden;order:-1}
.about-photo img{width:100%;height:100%;object-fit:cover}
.ab-big{font:italic 400 clamp(2.1rem,9.6vw,4rem)/1.1 var(--serif)}
.ab-small{font-size:1.02rem}
.ab-huge{font-size:clamp(2.6rem,13vw,5.2rem);font-weight:200;letter-spacing:-.035em;line-height:1.05}
.ab-muse{font:italic 400 clamp(1.8rem,8vw,3.2rem)/1.15 var(--serif);color:var(--red);margin-top:.3rem}
.ab-lead{font:400 clamp(1.35rem,5.8vw,2.1rem)/1.32 var(--serif)}
.ab-body{margin-top:1.1rem;max-width:34rem}
@media(min-width:900px){
  .motion .about{height:520svh}
  .motion .about .stage{position:sticky;top:0;height:100svh;padding:0;display:block}
  .motion .about-geo{display:block;position:absolute;left:50%;top:50%;width:min(112svh,92vw);aspect-ratio:1;transform:translate(-50%,-50%);overflow:visible}
  .about-geo .d{stroke-width:1.1}
  .motion .about-photo{position:absolute;left:50%;top:13svh;margin:0 0 0 -27.2svh;height:87svh;width:54.4svh;z-index:2}
  .motion .about-title{position:absolute;left:0;right:0;top:50%;text-align:center;font-size:min(19vw,34svh);margin-top:-.6em;z-index:1;white-space:nowrap}
  .motion .ab{position:absolute;z-index:3}
  .motion .ab1{left:var(--gut);top:17svh;width:calc(50vw - 27.2svh - var(--gut) - 2.5vw)}
  .motion .ab2{left:var(--gut);bottom:12svh;width:calc(50vw - 27.2svh - var(--gut) - 2.5vw)}
  .motion .ab3{right:calc(var(--gut) + 1rem);top:24svh;width:calc(50vw - 27.2svh - var(--gut) - 3.5vw);max-width:24rem}
  .motion .ab4{right:calc(var(--gut) + 1rem);bottom:12svh;width:calc(50vw - 27.2svh - var(--gut) - 3.5vw);max-width:24rem}
  .motion .ab5{right:calc(var(--gut) + 2rem);top:50%;width:min(44vw,40rem);transform:translateY(-50%)}
  .ab-big{font-size:min(3.9vw,7.4svh)}
  .ab-huge{font-size:min(4.4vw,8svh)}
  .ab-muse{font-size:min(2.7vw,5svh)}
  .ab-lead{font-size:min(2.35vw,4.4svh)}
  .ab-small{font-size:clamp(.95rem,1.15vw,1.12rem)}
}

/* ПОДХОД */
.approach{position:relative;background:var(--chalk)}
.ap-side{position:sticky;top:0;height:100svh;z-index:0;overflow:hidden}
.ap-photo{position:absolute;inset:0}
.ap-photo img{width:100%;height:100%;object-fit:cover;object-position:80% 50%}
.ap-geo{display:none}
.ap-text{position:relative;z-index:2;margin-top:-100svh;padding:0 1rem 4rem}
.ap-title{display:block;padding:calc(100svh - 11rem) .3rem 3rem;font-size:clamp(3rem,14vw,6rem);line-height:1;letter-spacing:-.03em;color:#fff;text-shadow:0 1px 24px rgba(0,0,0,.28)}
.ap-title span{display:block;font-weight:200;font-variation-settings:"wght" var(--w,200)}
.chap{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:1.5rem;gap:.7rem}
.chap-in{background:rgba(244,243,240,.82);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(255,255,255,.7);padding:1.1rem 1.2rem .7rem;border-radius:1.1rem}
.chap h3{font:italic 400 clamp(1.8rem,8vw,2.6rem)/1.12 var(--serif);padding-bottom:.5rem}
.chap p{font-size:.97rem;padding-bottom:.6rem}
.chap-lead{font-weight:400}
@media(min-width:900px){
  .approach{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ap-side{overflow:visible}
  .ap-photo{inset:auto;left:var(--gut);top:10svh;height:84svh;width:56svh;overflow:hidden;border-radius:28svh 28svh 0 0}
  .ap-photo img{object-position:50% 50%}
  .ap-geo{display:block;position:absolute;left:calc(var(--gut) - 3.3svh);top:6.5svh;height:90svh;width:60svh;overflow:visible}
  .ap-geo .d{stroke-width:.7}
  .ap-text{margin:0;padding:0 var(--gut) 8svh 2vw}
  .ap-title{padding:26svh 0 8svh;color:var(--ink);text-shadow:none;font-size:clamp(4rem,7.6vw,9rem)}
  .chap{min-height:92svh;justify-content:center;gap:0}
  .chap-in{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;border:0;border-radius:0}
  .chap h3{font-size:clamp(2.1rem,3.85vw,5.4rem);padding-bottom:1.6rem}
  .chap p{max-width:32rem;font-size:1.05rem;padding-bottom:1rem}
  .chap p.chap-lead{font-size:clamp(1.2rem,1.75vw,1.65rem);font-weight:200;line-height:1.38;letter-spacing:-.01em}
}

/* НАПРАВЛЕНИЯ */
.dirs{position:relative;background:var(--chalk)}
.dirs .stage{padding:4rem var(--gut)}
.dirs-title{font-size:clamp(2.2rem,9.6vw,6rem);font-weight:200;letter-spacing:-.035em;line-height:1.05}
.dirs-geo{display:none}
.dir{margin-top:2.5rem}
.dir h3{font:italic 400 clamp(1.9rem,8vw,4.2rem)/1.1 var(--serif);margin-bottom:.9rem}
.dir li{padding:.5rem 0;border-top:1px solid var(--hair);font-size:1rem;line-height:1.35}
.motion .dirs:not(.flat){height:520svh}
.motion .dirs:not(.flat) .stage{position:sticky;top:0;height:100svh;padding:0}
.motion .dirs:not(.flat) .dirs-title{position:absolute;left:var(--gut);top:clamp(4.2rem,9svh,6.5rem);z-index:3;font-size:clamp(1.7rem,7.4vw,2.6rem)}
.motion .dirs:not(.flat) .dirs-geo{display:block;position:absolute;left:0;right:0;top:9svh;width:100%;height:34svh;overflow:visible}
.motion .dirs:not(.flat) .dir{position:absolute;left:var(--gut);right:var(--gut);top:44svh;margin:0}
.motion .dirs:not(.flat) .dir h3{font-size:clamp(1.65rem,7.4vw,2.4rem);margin-bottom:.35rem}
.motion .dirs:not(.flat) .dir li{font-size:clamp(.78rem,1.75svh,.92rem);padding:clamp(.14rem,.5svh,.35rem) 0;line-height:1.25}
.dirs-geo .d,.dirs-geo .d-keep{stroke-width:1.2}
.dirs-geo .cb-fill{fill:var(--red)}
@media(min-width:900px){
  .motion .dirs:not(.flat) .dirs-title{top:13svh;font-size:min(5.2vw,9svh);max-width:60vw}
  .motion .dirs:not(.flat) .dirs-geo{left:0;top:9svh;width:58vw;height:90svh}
  .motion .dirs:not(.flat) .dir{left:58vw;right:calc(var(--gut) + 1.5rem);top:50%;transform:translateY(-50%)}
  .motion .dirs:not(.flat) .dir h3{font-size:min(3.6vw,6.6svh);margin-bottom:1.1rem}
  .motion .dirs:not(.flat) .dir li{font-size:clamp(.92rem,1.1vw,1.08rem);padding:clamp(.34rem,.9svh,.62rem) 0}
}

/* ЦЕНЫ */
.prices{position:relative;background:var(--stone);padding-bottom:8svh}
.pr-back{position:sticky;top:0;height:100svh;margin-bottom:-100svh;overflow:hidden}
.pr-disc{position:absolute;left:50%;top:50%;width:min(66vw,70svh);aspect-ratio:1;margin:calc(min(66vw,70svh) / -2) 0 0 calc(min(66vw,70svh) / -2);border-radius:50%;background:var(--red)}
.pr-geo{position:absolute;inset:0;width:100%;height:100%}
.pr-geo .d{stroke:#fff;stroke-opacity:.95;stroke-width:1}
.pr-head{position:relative;padding:clamp(5rem,14svh,9rem) var(--gut) 3rem;z-index:2;overflow:hidden}
.pr-t1{font:italic 400 clamp(2.3rem,10.4vw,9rem)/1.05 var(--serif)}
.pr-t2{font-size:clamp(2.4rem,12.2vw,12rem);font-weight:100;letter-spacing:-.05em;line-height:1.05;margin-left:clamp(0rem,5.5vw,8rem)}
.plates{position:relative;z-index:2;padding:0 var(--gut);display:flex;flex-direction:column;gap:clamp(5svh,10svh,14svh)}
.plate{position:sticky;top:calc(clamp(4.2rem,10svh,6.5rem) + var(--i) * .7rem);display:grid;gap:1.2rem;padding:clamp(1.25rem,2.8vw,2.8rem);background:rgba(244,243,240,.66);-webkit-backdrop-filter:blur(26px) saturate(1.25);backdrop-filter:blur(26px) saturate(1.25);border:1px solid rgba(255,255,255,.75);border-radius:clamp(1rem,2vw,2rem);will-change:transform;transform-origin:50% 0}
.plate h3{font:italic 400 clamp(1.55rem,3vw,3rem)/1.12 var(--serif);margin-bottom:.45rem}
.pl-meta{font-size:.92rem;font-weight:400;margin-bottom:.5rem}
.pl-info>p:last-child{font-size:.95rem;max-width:30rem}
.pl-price b,.pl-table td,.pl-pair dd{font-weight:200;letter-spacing:-.03em;white-space:nowrap}
.pl-price{align-self:end}
.pl-price b{font-size:clamp(2rem,4.6vw,4.2rem);line-height:1}
.pl-table{border-collapse:collapse;width:100%;align-self:end}
.pl-table th{font-weight:400;font-size:.86rem;text-align:left;padding:.1rem .4rem .1rem 0}
.pl-table thead th{text-align:right}
.pl-table td{font-size:clamp(1.05rem,2.1vw,2rem);text-align:right;padding:.28rem 0 .28rem .6rem}
.pl-table tbody tr{border-top:1px solid var(--hair)}
.pl-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-self:end}
.pl-pair dt{font-size:.86rem;font-weight:400}
.pl-pair dd{font-size:clamp(1.45rem,3.2vw,3rem);line-height:1.1}
.pr-cta{position:relative;z-index:3;padding:6svh var(--gut) 0;text-align:center;min-height:62svh;display:grid;place-items:center}
.btn-big{justify-content:center;width:min(100%,44rem);min-height:clamp(5.2rem,13svh,8rem);padding:1rem 3.5rem;font-size:clamp(1.5rem,3.2vw,2.8rem);font-weight:300;letter-spacing:-.02em;background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 26px 60px -26px rgba(31,29,28,.75)}
.btn-big::before{left:clamp(1.5rem,3vw,2.6rem);width:.9rem;height:.9rem;margin-top:-.45rem}
.btn-big:hover,.btn-big:focus-visible{color:#fff}
.btn-big:hover::before,.btn-big:focus-visible::before{transform:scale(240)}
@media(min-width:900px){
  .plates{padding:0 calc(var(--gut) + 2rem) 0 var(--gut)}
  .plate{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3vw;width:min(78vw,74rem);min-height:min(40svh,22rem)}
  .plate:nth-child(even){margin-left:auto}
}

/* ТРЕНИНГИ */
.women{position:relative;background:var(--stone)}
.w-ink{display:none}
.w-flood{background:var(--red);color:#fff;padding:5rem var(--gut)}
.w-title{display:block;margin-bottom:2rem}
.w-statue{display:block;width:min(78vw,26rem);height:auto;margin:0 auto 2rem}
.motion .women:not(.flat) .w-statue{position:absolute;margin:0;left:50%;bottom:-1svh;height:54svh;width:auto;max-width:none;transform-origin:50% 100%;will-change:transform}
.w-geo{display:none}
.motion .women:not(.flat) .w-geo{display:block;position:absolute;inset:0;width:100%;height:100%}
.w-geo .d{stroke:#fff;stroke-opacity:.26;stroke-width:1}
.w-t1{display:block;font-size:clamp(1.8rem,9.2vw,10rem);font-weight:200;letter-spacing:-.035em;line-height:1.02}
.w-t2{display:block;font:italic 400 clamp(2.7rem,14.5vw,13rem)/1 var(--serif)}
.w-copy p{font-size:1rem;margin-bottom:.8rem;max-width:32rem}
.w-copy .w-lead{font:italic 400 clamp(1.4rem,5.5vw,2.2rem)/1.2 var(--serif);max-width:26rem}
.w-copy .w-note{font-weight:400;margin:1.2rem 0}
.motion .women:not(.flat){height:470svh}
.motion .women.flat .w-flood{padding-bottom:18vh}
.motion .women:not(.flat) .stage{position:sticky;top:0;height:100svh}
.motion .women:not(.flat) .w-ink{display:block;position:absolute;inset:0}
.motion .women:not(.flat) .w-flood{position:absolute;inset:0;padding:0;clip-path:circle(0 at 70% 62%)}
.motion .women:not(.flat) .w-t1,.motion .women:not(.flat) .w-t2{position:absolute;left:var(--gut);margin:0;white-space:nowrap}
.motion .women:not(.flat) .w-title{margin:0}
.motion .women:not(.flat) .w-t1{top:34svh}
.motion .women:not(.flat) .w-t2{top:calc(34svh + clamp(1.8rem,9.2vw,10rem) * 1.02)}
.motion .women:not(.flat) .w-copy{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(1.2rem,4svh,3rem)}
.motion .women:not(.flat) .w-copy p{font-size:clamp(.8rem,1.9svh,1rem);margin-bottom:.45rem;line-height:1.42}
.motion .women:not(.flat) .w-copy .w-lead{font-size:clamp(1.15rem,3svh,1.7rem)}
.motion .women:not(.flat) .w-copy .w-note{margin:.5rem 0 .7rem}
@media(min-width:900px){
  .motion .women:not(.flat) .w-statue{left:48%;height:98svh}
  .motion .women:not(.flat) .w-copy{left:auto;right:calc(var(--gut) + 1.5rem);top:52%;bottom:auto;transform:translateY(-50%);width:min(33vw,32rem)}
  .motion .women:not(.flat) .w-copy p{font-size:clamp(.95rem,1.12vw,1.1rem);margin-bottom:.8rem}
  .motion .women:not(.flat) .w-copy .w-lead{font-size:min(2.5vw,4.6svh)}
}

/* ОБУЧЕНИЕ */
.edu{position:relative;background:var(--chalk);padding:clamp(5rem,14svh,10rem) 0 clamp(4rem,10svh,8rem);overflow:clip}
.edu-kicker{padding:0 var(--gut);font:italic 400 clamp(1.5rem,3vw,3rem)/1.1 var(--serif)}
.edu-word{font-size:15.2vw;font-weight:100;letter-spacing:-.05em;line-height:1.08;margin:.2rem 0 .5rem;padding:0 var(--gut)}
.ew{display:block;white-space:nowrap;will-change:transform}
@media(min-width:900px){.edu-word{font-size:9.15vw;white-space:nowrap}.ew{display:inline-block}}
.edu-sub{padding:0 var(--gut);margin-left:auto;max-width:32rem;font-size:1.1rem;font-weight:400;text-align:left}
.edu-grid{display:grid;gap:2.5rem;padding:3.5rem var(--gut) 0}
.edu-ring{position:relative;width:min(84vw,26rem);margin:24vw auto 0}
.edu-ring>svg{width:100%;overflow:visible}
.edu-bust{position:absolute;left:8.5%;bottom:-3%;width:83%;aspect-ratio:2/3;will-change:transform}
.edu-bust img{width:100%;height:100%;display:block}
.edu-q{position:absolute;inset:0;mix-blend-mode:multiply;-webkit-mask:url(../assets/photo/bust.webp) 0 0/100% 100% no-repeat;mask:url(../assets/photo/bust.webp) 0 0/100% 100% no-repeat}
.edu-q i{position:absolute;left:46%;top:7.33%;width:44%;aspect-ratio:1;background:#BE3A28;border-radius:0 100% 0 0;transform-origin:0 100%}
.edu-geo{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.edu-geo .d{stroke:var(--ink);stroke-width:.16;stroke-opacity:.7}
.ring-c{fill:none;stroke:var(--ink);stroke-opacity:.4;stroke-width:.8}
.ring-segs path{fill:none;stroke:var(--red);stroke-width:12;stroke-dasharray:1}
.edu-six{position:absolute;right:-3%;top:-27%;display:flex;flex-direction:column;align-items:center;line-height:1;z-index:2}
.edu-six b{font:italic 400 clamp(4rem,19vw,7rem)/.85 var(--serif)}
.edu-six span{font-size:1.05rem;font-weight:300;margin-top:.3rem}
.edu-lead{font:400 clamp(1.35rem,2.2vw,2.1rem)/1.32 var(--serif);margin-bottom:1rem}
.edu-body h3,.fact h3{font-weight:400;font-size:1.02rem;margin:2.2rem 0 .8rem}
.edu-list li{padding:.7rem 0;border-top:1px solid var(--hair);font-size:1rem;line-height:1.4}
.edu-facts{display:grid;gap:1.5rem;padding:2rem var(--gut) 0}
.fact p{font-size:.98rem;margin-bottom:.5rem;max-width:34rem}
.fact b{font-weight:400}
.edu-cta{padding:3rem var(--gut) 0}
@media(min-width:900px){
  .edu-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:5vw;align-items:center;padding-top:7svh}
  .edu-body{order:1}
  .edu-ring{order:2;width:min(36vw,66svh);margin:min(9vw,16svh) 0 0}
  .edu-six b{font-size:min(8.6vw,17svh)}
  .edu-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;padding-top:8svh}
  .edu-cta{text-align:right;padding-right:calc(var(--gut) + 2rem)}
}

/* ОБРАЗОВАНИЕ */
.docs{position:relative;background:var(--ink);color:#F4F3F0}
.docs .stage{padding:5rem 0 3rem;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.docs .stage::before{content:"";position:absolute;left:50%;top:56%;width:120vmax;height:120vmax;margin:-60vmax 0 0 -60vmax;background:radial-gradient(closest-side,rgba(255,236,214,.2),rgba(255,236,214,0) 58%);pointer-events:none}
.docs-geo{display:none}
.docs-title{position:relative;overflow:hidden;padding:0 var(--gut) .12em;font-size:clamp(2.6rem,11vw,10rem);font-weight:100;letter-spacing:-.045em;line-height:1;margin-bottom:clamp(1rem,3svh,2.5rem)}
.docs-view{position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.motion .docs-view{overflow:visible}
.docs-track{display:flex;gap:clamp(1.5rem,5vw,5.5rem);padding:0 var(--gut);width:max-content;align-items:flex-start;will-change:transform}
.doc-b{display:flex;flex-direction:column;align-items:flex-start;width:min-content;min-width:min(72vw,21rem);text-align:left}
.doc-sheet{position:relative;display:block;overflow:hidden;background:#fff;padding:.5rem;box-shadow:0 34px 80px -20px rgba(0,0,0,.85),0 0 60px rgba(255,236,214,.09);border-radius:2px}
.doc-sheet img{display:block;height:auto;width:auto;max-height:var(--sheet-h,min(42svh,72vw));max-width:min(82vw,var(--sheet-w,100vw))}
.doc-sheen{position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.72) 50%,transparent 58%);pointer-events:none;will-change:transform;mix-blend-mode:screen}
.doc-cap{display:block;margin-top:.9rem;font-size:.88rem;line-height:1.38;width:0;min-width:100%;font-weight:300}
.doc-cap b{display:block;font-weight:400;font-size:.98rem;margin-bottom:.18rem}
.doc-b:hover .doc-sheet,.doc-b:focus-visible .doc-sheet{box-shadow:0 34px 80px -18px rgba(190,58,40,.85)}
.docs-line{position:relative;margin:clamp(1rem,3svh,2rem) var(--gut) 0;height:1px;background:rgba(255,255,255,.22)}
.docs-line i{position:absolute;left:0;top:-1px;height:3px;width:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(0)}
@media(min-width:900px){
}
.motion .docs .stage{position:sticky;top:0;height:100svh;padding:var(--docs-top,22svh) 0 3svh;justify-content:space-between}
.motion .docs-view{margin:auto 0}
.motion .docs .docs-title{position:absolute;left:0;top:clamp(3.4rem,9svh,5rem);margin:0;font-size:12vw;line-height:1.14;z-index:2;white-space:nowrap}
.motion .docs-geo{display:block;position:absolute;left:50%;top:50%;width:min(96svh,104vw);aspect-ratio:1;margin:calc(min(96svh,104vw) / -2) 0 0 calc(min(96svh,104vw) / -2);overflow:visible;pointer-events:none}
.docs-geo .d{stroke:#fff;stroke-opacity:.42;stroke-width:1}
.docs-q{fill:var(--red);transform-origin:500px 500px}
.t-u{display:none}
.motion .t-u{display:block;height:2px;width:100%;margin-top:.04em;background:var(--red);transform:scaleX(0);transform-origin:0 50%}

.motion .t-a{display:inline-block;padding-right:.12em;color:transparent;background:linear-gradient(105deg,#8f8b85 0%,#fff 28%,#fff 64%,#8f8b85 100%) 100% 0/280% 100%;-webkit-background-clip:text;background-clip:text}
@media(min-width:900px){.motion .docs .docs-title{font-size:min(5.6vw,10svh);top:clamp(3rem,7svh,4.6rem)}}

/* следующая сцена поднимается аркой поверх предыдущей */
.motion .edu,.motion .docs,.motion .contact{--rise:clamp(3rem,11svh,7.5rem);margin-top:calc(var(--rise) * -1);border-radius:50vw 50vw 0 0 / var(--rise) var(--rise) 0 0;overflow:clip}
.motion .edu{z-index:3;padding-top:calc(var(--rise) + clamp(4rem,10svh,7rem));padding-bottom:calc(var(--rise) + clamp(3rem,6svh,5rem))}
.motion .docs{z-index:4}
.motion .contact{z-index:5;position:relative;padding-top:calc(var(--rise) + clamp(3rem,8svh,6rem));padding-bottom:calc(var(--rise) * .3 + 3rem)}
.foot{position:relative;z-index:6}

/* КОНТАКТЫ */
.contact{position:relative;background:var(--chalk);padding:clamp(4.5rem,12svh,9rem) var(--gut) 3rem;display:grid;gap:2.5rem}
.ct-photo{position:relative;width:min(76vw,27rem);aspect-ratio:2/3;overflow:hidden;border-radius:50vw 50vw 0 0;margin:0 auto}
.ct-photo img{width:100%;height:100%;object-fit:cover}
.ct-name{display:block;line-height:1}
.ct-name span:first-child{display:block;font:italic 400 clamp(4.5rem,23vw,13rem)/.9 var(--serif)}
.ct-name span:last-child{display:block;font-size:clamp(2rem,9.6vw,6.2rem);font-weight:100;letter-spacing:-.04em;line-height:1.05}
.ct-prof{font-weight:400;margin-top:1rem}
.ct-place{margin-bottom:1.8rem}
.ct-small{font-size:.92rem}
.ct-tel a{display:inline-block;font-size:clamp(1.8rem,8.4vw,4.2rem);font-weight:200;letter-spacing:-.03em;line-height:1.2;text-decoration:none;white-space:nowrap;transition:color .25s}
.ct-tel a:hover{color:var(--red)}
.ct-hours{margin-top:1.8rem;max-width:32rem}
.ct-hours h3{font:italic 400 clamp(1.5rem,2.2vw,2rem)/1.2 var(--serif);margin-bottom:.5rem}
.ct-hours p,.ct-hours li{font-size:.98rem}
.ct-hours ul{margin:.4rem 0}
.ct-actions{display:flex;flex-wrap:wrap;gap:1rem 1.8rem;align-items:center;margin-top:2rem}
.foot{background:var(--chalk);display:flex;flex-wrap:wrap;gap:.2rem .5rem;padding:1.5rem var(--gut) 1.8rem;font-size:.85rem;border-top:1px solid var(--hair);margin:0}
@media(min-width:900px){
  .contact{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6vw;align-items:center}
  .ct-photo{width:min(100%,54svh);margin:0}
}

/* документ */
.box{margin:auto;border:0;background:var(--chalk);padding:clamp(.8rem,2vw,1.6rem);max-width:min(94vw,1200px);max-height:94svh;overflow:auto}
.box::backdrop{background:rgba(31,29,28,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.box img{max-width:100%;max-height:74svh;width:auto;height:auto;margin:0 auto}
.box-cap{margin-top:.9rem;font-size:.98rem;max-width:44rem}
.box-x{position:sticky;top:0;float:right;width:44px;height:44px;margin:0 0 .4rem .6rem;background:var(--chalk);border-radius:50%;z-index:2}
.box-x i{position:absolute;left:10px;right:10px;top:50%;height:1px;background:var(--ink)}
.box-x i:first-child{transform:rotate(45deg)}
.box-x i:last-child{transform:rotate(-45deg)}
.box-x:hover i{background:var(--red)}

/* спокойный режим и запасной вид без скриптов */
html:not(.motion) .hero .stage{padding-bottom:1rem}
@media(max-width:899px){html:not(.motion) .hero-photo{position:relative;margin-left:auto;display:block}}
@media(min-width:900px){html:not(.motion) .hero-copy,html:not(.motion) .hero-values{padding-right:calc(var(--pw) + 2rem)}html:not(.motion) .hero-photo{top:0;bottom:auto}}
html:not(.motion) .hero-frame,html:not(.motion) .hero-hint,html:not(.motion) .fl{display:none}
html:not(.motion) .about-photo,html:not(.motion) .ct-photo{transform:none}
html:not(.motion) .glass{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
