:root{--bg: #0a0908;--bg-card: #121110;--text: #f3efe9;--text-dim: #9b948b;--line: rgba(243, 239, 233, .12);--line-strong: rgba(243, 239, 233, .3);--maxw: 1200px;--serif: "Playfair Display", Georgia, "Times New Roman", serif;--brand: "Forum", Georgia, "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:1.5rem;-webkit-text-size-adjust:100%;overflow-x:hidden}body{background-color:var(--bg);color:var(--text);scrollbar-color:rgba(243,239,233,.22) transparent;font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:3px}::selection{background:var(--text);color:var(--bg)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#f3efe929;border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#f3efe94d;background-clip:padding-box}body:before{content:"";position:fixed;top:0;left:0;right:0;height:100vh;height:100lvh;z-index:-1;pointer-events:none;background-color:var(--bg);background-image:radial-gradient(65% 50% at 50% -8%,rgba(255,255,255,.06),transparent 60%),radial-gradient(40% 40% at 10% 15%,rgba(255,255,255,.05),transparent 55%),radial-gradient(42% 42% at 90% 78%,rgba(255,255,255,.04),transparent 55%),radial-gradient(125% 120% at 50% 45%,transparent 60%,rgba(0,0,0,.6) 100%);background-repeat:no-repeat;transform:translateZ(0)}body:after{content:"";position:fixed;top:0;left:0;right:0;height:100vh;height:100lvh;z-index:100;pointer-events:none;opacity:.045;transform:translateZ(0);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)'/%3E%3C/svg%3E")}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.25rem,5vw,4rem)}.section{padding:clamp(4.5rem,12vh,9rem) 0}.eyebrow{font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--text-dim);font-weight:500}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 4rem;overflow:hidden}.hero:before{content:"";position:absolute;z-index:0;left:50%;top:47%;width:min(82vw,720px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.12),rgba(255,255,255,.035) 42%,transparent 68%);filter:blur(10px);pointer-events:none;animation:auraBreath 7.5s ease-in-out infinite}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(120% 80% at 50% 35%,rgba(255,255,255,.05),transparent 60%);pointer-events:none}.hero__inner{position:relative;z-index:1}.hero__eyebrow{margin-bottom:clamp(1.4rem,4vh,2.4rem);opacity:0;animation:fadeUp 1s ease .5s forwards}.hero__title{font-family:var(--brand);font-weight:400;font-size:clamp(5rem,24vw,17rem);line-height:.9;letter-spacing:.1em;text-indent:.1em;animation:heroIn 1.7s var(--ease) both}.hero__subtitle{margin-top:clamp(1.4rem,4vh,2.4rem);color:var(--text-dim);font-size:clamp(.95rem,2.4vw,1.2rem);letter-spacing:.04em;max-width:28ch;margin-inline:auto;opacity:0;animation:fadeUp 1s ease .9s forwards}.hero__scroll{position:absolute;bottom:2rem;left:0;right:0;margin-inline:auto;width:fit-content;display:flex;flex-direction:column;align-items:center;gap:.9rem;color:var(--text-dim);font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;opacity:0;animation:fadeUp 1s ease 1.4s forwards;z-index:1}.hero__scroll-line{width:1px;height:56px;background:linear-gradient(var(--text-dim),transparent);position:relative;overflow:hidden}.hero__scroll-line:after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--text);animation:scrollLine 2.2s ease-in-out infinite}@keyframes heroIn{0%{opacity:0;letter-spacing:.6em;text-indent:.6em;filter:blur(8px)}to{opacity:1;letter-spacing:.1em;text-indent:.1em;filter:blur(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes scrollLine{0%{top:-50%}to{top:100%}}@keyframes auraBreath{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.07)}}.about__intro{max-width:760px;margin:0 auto;text-align:center}.about__intro h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4.5vw,3rem);line-height:1.18;margin:1.4rem 0 1.6rem}.about__lead-text{color:var(--text-dim);font-size:clamp(1rem,2.2vw,1.18rem)}.about__grid{max-width:880px;margin:clamp(3rem,8vh,5rem) auto 0;display:grid;gap:clamp(2rem,5vw,3rem)}.about__block{border-top:1px solid var(--line);padding-top:1.8rem}.about__block h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin-bottom:1.3rem}.about__list,.about__apply-list{list-style:none;display:grid;gap:.85rem}.about__list li,.about__apply-list li{position:relative;padding-left:1.7rem}.about__list li:before,.about__apply-list li:before{content:"";position:absolute;left:0;top:.72em;width:.8rem;height:1px;background:var(--line-strong)}.about__apply{max-width:680px;margin:clamp(3rem,8vh,5rem) auto 0;text-align:center}.about__apply-lead{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.3;margin-bottom:2rem}.about__apply-title{color:var(--text);letter-spacing:.02em;margin-bottom:1.1rem}.about__apply-list{display:inline-grid;text-align:left;margin-bottom:2rem}.about__apply-closing{font-family:var(--serif);font-size:1.25rem;color:var(--text)}.gallery__head{text-align:center;margin-bottom:clamp(2.5rem,6vh,4rem)}.gallery__head h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4.5vw,3rem);margin-top:1rem}.about__intro h2:after,.gallery__head h2:after{content:"";display:block;width:48px;height:1px;margin:1.5rem auto 0;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}.gallery__viewport{position:relative}.gallery__track{position:relative;display:flex;gap:clamp(1rem,2.5vw,1.75rem);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:0 clamp(1.25rem,5vw,4rem)}.gallery__track::-webkit-scrollbar{display:none}.gallery__slide{position:relative;flex:0 0 auto;width:min(78vw,420px);aspect-ratio:3 / 4;scroll-snap-align:center;background:linear-gradient(145deg,#1a1917,#0e0d0c);border:1px solid var(--line);box-shadow:0 34px 70px -36px #000000d9,inset 0 1px #ffffff0d;overflow:hidden}.gallery__slide:before{content:"Фото " attr(data-index);position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-dim);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase}.gallery__slide img{position:relative;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03);transition:transform .9s var(--ease)}.gallery__slide img.is-broken{display:none}.gallery__slide:hover img{transform:scale(1.04)}.gallery__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:3.2rem;height:3.2rem;border:1px solid var(--line-strong);border-radius:50%;background:#0a09088c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;font-size:1.5rem;line-height:1;padding-bottom:.2rem;color:var(--text);transition:background .3s,border-color .3s,opacity .3s}.gallery__btn:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.gallery__btn:disabled{opacity:.25;cursor:default}.gallery__btn--prev{left:clamp(.5rem,3vw,2rem)}.gallery__btn--next{right:clamp(.5rem,3vw,2rem)}.gallery__dots{display:flex;justify-content:center;gap:.2rem;margin-top:1.8rem}.gallery__dot{width:28px;height:28px;display:grid;place-items:center}.gallery__dot:before{content:"";width:8px;height:8px;border-radius:50%;border:1px solid rgba(243,239,233,.45);transition:transform .3s var(--ease),background .3s,border-color .3s}.gallery__dot.is-active:before{background:var(--text);border-color:var(--text);transform:scale(1.3)}.offices__grid{display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}.offices__title{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4.5vw,3.2rem);line-height:1.12;margin:1rem 0 1.6rem}.offices__text{color:var(--text-dim);max-width:38ch;margin-bottom:2.4rem}.offices__cities{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem}.offices__cities li{border:1px solid var(--line);border-radius:100px;padding:.55rem 1.1rem;font-size:.92rem;letter-spacing:.02em;background:linear-gradient(180deg,#ffffff0d,#ffffff04);box-shadow:inset 0 1px #ffffff0f;transition:border-color .3s,transform .3s,background .3s}.offices__cities li:hover{border-color:var(--line-strong);transform:translateY(-2px)}.offices__cta{border:1px solid var(--line);padding:clamp(2rem,5vw,3rem);background:linear-gradient(160deg,#15140f,#0c0b0a);box-shadow:0 40px 80px -48px #000000e6,inset 0 1px #ffffff0f}.offices__cta h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3.5vw,2.1rem);margin-bottom:.8rem}.offices__cta p{color:var(--text-dim);margin-bottom:1.8rem}@media (min-width: 880px){.offices__grid{grid-template-columns:1.1fr .9fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:1.05rem 2.2rem;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;border:1px solid var(--text);color:var(--text);background:transparent;position:relative;overflow:hidden;isolation:isolate;transition:color .4s var(--ease)}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.btn:hover{color:var(--bg)}.btn:hover:before{transform:scaleX(1)}.btn__arrow{font-size:1.1rem;transition:transform .4s var(--ease)}.btn:hover .btn__arrow{transform:translate(4px)}.btn--block{width:100%}.contact{border-top:1px solid var(--line)}.contact__grid{display:grid;grid-template-columns:1fr;gap:2.5rem}.contact__item .label{font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.9rem}.contact__value{font-family:var(--serif);font-size:clamp(1.3rem,3.5vw,2rem);font-weight:400;display:inline-flex;align-items:center;gap:.8rem;transition:opacity .3s}.contact__value:hover{opacity:.65}@media (min-width: 720px){.contact__grid{grid-template-columns:1fr 1fr}}.footer{border-top:1px solid var(--line);padding:clamp(3rem,8vh,5rem) 0 2.5rem}.footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 2rem}.footer__brand{font-family:var(--brand);font-size:2.1rem;letter-spacing:.1em;text-indent:.1em}.footer__nav{display:flex;flex-wrap:wrap;gap:1.1rem 1.8rem}.footer__nav a{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);transition:color .3s;position:relative}.footer__nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--text);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.footer__nav a:hover{color:var(--text)}.footer__nav a:hover:after{transform:scaleX(1);transform-origin:left}.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:clamp(2.5rem,6vh,4rem);padding-top:2rem;border-top:1px solid var(--line);color:var(--text-dim);font-size:.8rem}.footer__age{border:1px solid var(--line-strong);border-radius:50%;width:2.6rem;height:2.6rem;display:inline-grid;place-items:center;font-size:.72rem;letter-spacing:.05em;flex:0 0 auto}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero__eyebrow,.hero__subtitle,.hero__scroll,.hero__title{opacity:1;animation:none}}
