:root { --color-obsidian:#0b090c; --color-dark-surface:#12100f; --color-dark-walnut:#50311d; --color-walnut:#806248; --color-taupe:#a5907b; --color-ivory:#d4cabc; --color-paper:#e4ddd4; --color-light-text:#e7e0d7; --color-muted-text:#a69d94; --color-dark-text:#171310; --container:1440px; --page-padding:clamp(24px,4vw,72px); --transition:360ms ease; font-family:'Manrope',sans-serif; color:var(--color-light-text); background:var(--color-obsidian); font-synthesis:none; }
* { box-sizing:border-box; }
html { background:var(--color-obsidian); scroll-behavior:smooth; }
body { margin:0; min-width:320px; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
[hidden] { display:none !important; }
.container { width:min(100%,var(--container)); margin-inline:auto; padding-inline:var(--page-padding); }
.hero { position:relative; isolation:isolate; width:100%; height:100svh; min-height:700px; overflow:hidden; background:var(--color-obsidian); }
.hero__art { position:absolute; z-index:-3; inset:0; background-image:url('../images/hero-guitar.png'),radial-gradient(ellipse at 72% 44%,rgba(128,98,72,.32),transparent 26%),linear-gradient(152deg,transparent 49%,rgba(165,144,123,.13) 49.2%,transparent 49.5%),linear-gradient(154deg,transparent 55%,rgba(128,98,72,.12) 55.2%,transparent 55.5%); background-position:center; background-size:cover; background-repeat:no-repeat; }
.hero-haze { position:absolute; z-index:-2; inset:-8%; overflow:hidden; opacity:.66; mix-blend-mode:screen; animation:haze-drift 28s ease-in-out infinite alternate; will-change:transform; }
.hero-haze::before,.hero-haze::after { content:''; position:absolute; border-radius:50%; pointer-events:none; }
.hero-haze::before { width:72%; height:78%; top:0; left:34%; background:radial-gradient(ellipse at 42% 46%,rgba(128,98,72,.075),rgba(80,49,29,.045) 38%,transparent 72%),radial-gradient(ellipse at 72% 38%,rgba(165,144,123,.028),transparent 62%); filter:blur(110px); transform:rotate(-8deg); }
.hero-haze::after { width:58%; height:68%; top:20%; left:48%; background:radial-gradient(ellipse at 48% 44%,rgba(80,49,29,.08),rgba(128,98,72,.025) 44%,transparent 75%); filter:blur(145px); transform:rotate(11deg); }
.hero__ambient { position:absolute; z-index:-2; inset:0; background:radial-gradient(ellipse 54% 64% at 76% 43%,rgba(33,21,15,.2) 0%,rgba(27,18,14,.11) 38%,transparent 72%); }
.hero__shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(11,9,12,.98) 0%,rgba(11,9,12,.87) 25%,rgba(11,9,12,.2) 58%,rgba(11,9,12,.13) 76%,rgba(11,9,12,.62) 100%),linear-gradient(180deg,rgba(11,9,12,.7),transparent 24%,transparent 72%,rgba(11,9,12,.78)),radial-gradient(ellipse at center,transparent 42%,rgba(11,9,12,.42) 100%); }
.hero-grain { position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.02; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); background-size:180px 180px; }
@keyframes haze-drift { from { transform:translate3d(-1.2%,.4%,0) scale(1); } to { transform:translate3d(1.4%,-.8%,0) scale(1.025); } }
.hero__header { height:112px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:flex; align-items:center; align-self:stretch; flex:0 0 auto; }
.brand__logo { display:block; width:auto; height:128px; max-height:none; object-fit:contain; filter:brightness(1.45) contrast(.92) saturate(.78) drop-shadow(0 1px 2px rgba(212,202,188,.12)); transition:height 300ms ease,filter 300ms ease; }
.desktop-nav { display:flex; align-items:center; gap:clamp(16px,1.8vw,32px); font-size:10px; font-weight:500; letter-spacing:.12em; }
.desktop-nav>a { position:relative; padding-bottom:5px; margin-bottom:-5px; }
.desktop-nav>a::after { content:''; position:absolute; right:0; bottom:0; left:0; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform 360ms ease; }
.desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.desktop-nav>a,.social-links a { transition:color var(--transition),opacity var(--transition); }
.desktop-nav>a:hover,.social-links a:hover { color:var(--color-taupe); }
.nav-dot { color:var(--color-walnut); font-size:10px; opacity:.48; }
.social-links { display:flex; gap:18px; }
.social-links a { display:grid; place-items:center; }
.social-links svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.social-links__icon { width:18px; height:18px; display:block; object-fit:contain; object-position:center; }
.social-links__icon--max { width:17px; height:17px; opacity:.86; filter:brightness(0) saturate(100%) invert(86%) sepia(10%) saturate(470%) hue-rotate(347deg) brightness(92%) contrast(87%); }
.desktop-nav .social-links__instagram { display:none; }
.social-links__instagram span { font-size:8px; letter-spacing:.1em; }
.mobile-nav { display:none; }
.hero__body { height:calc(100% - 112px); display:flex; align-items:center; padding-bottom:7vh; }
.hero__copy { margin-left:clamp(58px,8vw,132px); width:min(460px,38vw); }
.hero__text-group { display:flow-root; }
.eyebrow { margin:0 0 20px; color:var(--color-taupe); font-size:11px; font-weight:600; letter-spacing:.13em; }
h1 { margin:0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(64px,5.2vw,88px); font-weight:400; line-height:.82; letter-spacing:-.035em; }
.hero__lead { width:min(100%,360px); margin:26px 0 28px; color:var(--color-muted-text); font-size:14px; line-height:1.7; }
.cta { width:min(100%,335px); min-height:58px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(212,202,188,.16); border-radius:1px; background:linear-gradient(105deg,var(--color-dark-walnut),#68452e); font-size:11px; font-weight:500; letter-spacing:.09em; transition:background 350ms ease,border-color 350ms ease; }
.cta__arrow { font-size:22px; font-weight:400; transition:transform var(--transition); }
.cta:hover { border-color:rgba(212,202,188,.24); background:linear-gradient(105deg,#624029,var(--color-walnut)); }
.cta:hover .cta__arrow { transform:translateX(5px); }
.section-indicator { position:absolute; left:var(--page-padding); margin:0; padding:0; list-style:none; color:rgba(166,157,148,.5); font-size:9px; line-height:3.1; }
.section-indicator li::before { content:''; display:inline-block; width:7px; height:7px; margin-right:10px; border:1px solid currentColor; border-radius:50%; }
.section-indicator .active { color:var(--color-taupe); }
.section-indicator .active::before { background:currentColor; }
.hero__meta { margin:0; color:var(--color-taupe); font-size:10px; font-weight:500; line-height:1.9; letter-spacing:.08em; text-align:right; }
.hero__meta--desktop { position:absolute; right:var(--page-padding); bottom:80px; }
.hero__meta--desktop::after { content:''; position:absolute; top:0; right:-18px; width:1px; height:100%; background:rgba(165,144,123,.6); }
.hero__meta--mobile { display:none; }
.guitar-annotations { position:absolute; z-index:1; inset:0; pointer-events:none; color:var(--color-taupe); font-family:'Manrope',sans-serif; font-size:8px; font-weight:400; line-height:1.55; letter-spacing:.16em; }
.annotation-lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; fill:none; stroke:currentColor; stroke-width:1; opacity:.52; }
.annotation-lines path { vector-effect:non-scaling-stroke; }
.string-lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; fill:none; stroke:currentColor; stroke-width:1; opacity:.44; }
.string-lines path { vector-effect:non-scaling-stroke; }
.lines--tablet { display:none; }
.annotation { position:absolute; opacity:.5; }
.annotation b,.annotation i { display:block; font:inherit; }
.annotation b { margin-bottom:7px; }
.annotation--instrument { top:76%; right:clamp(28px,5vw,96px); }
.annotation--tuners { top:18.5%; left:67.5%; }
.annotation--nut { top:37%; left:54.5%; }
.string-annotations { position:absolute; top:59.5%; left:92%; margin:0; padding:0; list-style:none; line-height:1.65; letter-spacing:.18em; white-space:nowrap; }
.string-annotations li { display:grid; grid-template-columns:18px auto; gap:7px; }
.string-annotations span { opacity:.4; }
.string-annotations strong { font:inherit; opacity:.62; }
.scroll-indicator { position:absolute; left:50%; bottom:38px; display:flex; align-items:center; gap:14px; color:rgba(165,144,123,.68); font-size:9px; font-weight:500; letter-spacing:.18em; transform:translateX(-50%); }
.scroll-indicator__arrow { position:relative; top:-1px; font-size:14px; }
:focus-visible { outline:1px solid var(--color-taupe); outline-offset:5px; }
@media (min-width:901px) {
  .hero__art { background-position:40% center,center,center,center; background-size:110% auto,cover,cover,cover; }
  .hero__copy { transform:translateY(-86px); }
}
@media (max-width:1439px) {
  .string-lines,.string-annotations { display:none; }
}
@media (max-width:900px) {
  .desktop-nav { display:none; }
  .hero-haze { animation:none; opacity:.42; }
  .lines--desktop,.string-annotations { display:none; }
  .lines--tablet { display:inline; }
  .annotation--instrument { top:75%; right:5%; }
  .annotation--tuners { top:15%; left:67%; }
  .annotation--nut { top:36%; left:48%; }
  .mobile-nav { display:block; position:relative; }
  .mobile-nav__toggle { width:42px; height:42px; display:grid; align-content:center; gap:7px; padding:10px; border:0; background:transparent; cursor:pointer; }
  .mobile-nav__toggle span { display:block; height:1px; background:var(--color-ivory); transition:transform var(--transition); }
  .mobile-nav.is-open .mobile-nav__toggle span:first-child { transform:translateY(4px) rotate(45deg); }
  .mobile-nav.is-open .mobile-nav__toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .mobile-nav__panel { position:absolute; top:48px; right:0; width:220px; padding:28px; display:grid; gap:22px; border:1px solid rgba(212,202,188,.14); background:rgba(18,16,15,.97); font-size:11px; letter-spacing:.1em; }
  .mobile-nav__panel .social-links { margin-top:8px; }
  .hero__copy { width:min(470px,60vw); }
}
@media (min-width:621px) and (max-width:1100px) {
  .hero__text-group { --hero-text-lift:clamp(80px,10vw,104px); margin-top:calc(var(--hero-text-lift) * -1); margin-bottom:var(--hero-text-lift); }
}
@media (max-width:620px) {
  :root { --page-padding:clamp(20px,6vw,32px); }
  .hero { height:auto; min-height:max(760px,100svh); }
  .hero__art { background-position:62% center; opacity:.66; }
  .hero-haze,.hero-grain { display:none; }
  .hero__shade { background:linear-gradient(90deg,rgba(11,9,12,.94),rgba(11,9,12,.36)),linear-gradient(180deg,rgba(11,9,12,.68),rgba(11,9,12,.08) 30%,rgba(11,9,12,.88) 88%); }
  .hero__header { height:88px; }
  .brand__logo { height:90px; max-height:none; }
  .hero__body { min-height:calc(max(760px,100svh) - 88px); align-items:flex-start; padding-top:clamp(96px,18vh,150px); padding-bottom:48px; }
  .hero__copy { width:100%; margin-left:0; }
  .hero__text-group { --hero-text-lift:clamp(56px,16vw,72px); margin-top:calc(var(--hero-text-lift) * -1); margin-bottom:var(--hero-text-lift); }
  .eyebrow { margin-bottom:18px; font-size:9px; }
  h1 { font-size:clamp(50px,16.5vw,72px); line-height:.86; }
  .hero__lead { width:min(88%,350px); margin-block:24px; font-size:13px; }
  .cta { width:min(100%,350px); min-height:56px; font-size:10px; }
  .section-indicator,.hero__meta--desktop,.guitar-annotations { display:none; }
  .hero__meta--mobile { display:block; width:fit-content; margin-top:26px; text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hero-haze { animation:none; }
  *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* 02 / МЕТОДИКА */
.method { position:relative; overflow:hidden; color:#2a1a12; background:var(--color-paper); border-top:1px solid rgba(80,49,29,.16); }
.method__inner { position:relative; z-index:1; padding-top:clamp(88px,9vw,136px); padding-bottom:clamp(96px,10vw,152px); }
.method__eyebrow { display:flex; align-items:center; gap:24px; color:var(--color-walnut); font-size:10px; font-weight:600; letter-spacing:.16em; }
.method__eyebrow-line { width:min(120px,12vw); height:1px; background:rgba(80,49,29,.28); }
.method__intro { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr); gap:clamp(56px,8vw,136px); align-items:end; margin-top:clamp(36px,4vw,64px); }
.method h2 { max-width:930px; margin:0; color:var(--color-dark-text); font-family:'Cormorant Garamond',serif; font-size:clamp(64px,5vw,88px); font-weight:400; line-height:.87; letter-spacing:-.035em; }
.method__summary { max-width:390px; padding-bottom:7px; }
.method__summary p { margin:0; color:#50311d; font-size:14px; line-height:1.85; }
.method__summary span { display:block; margin-top:28px; color:var(--color-walnut); font-size:9px; font-weight:600; letter-spacing:.18em; }
.method__levels { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:clamp(80px,7.4vw,112px) 0 0; padding:0; list-style:none; }
.method-level { min-width:0; padding-right:clamp(18px,2.5vw,42px); }
.method-level__number { display:block; color:rgba(80,49,29,.32); font-family:'Cormorant Garamond',serif; font-size:clamp(72px,6vw,104px); font-weight:400; line-height:.78; transition:color 380ms ease; }
.method-level__track { position:relative; height:1px; display:block; margin:30px 0 34px; background:rgba(80,49,29,.2); }
.method-level__track::before { content:''; position:absolute; top:50%; left:0; width:7px; height:7px; border:1px solid rgba(80,49,29,.54); border-radius:50%; background:var(--color-paper); transform:translateY(-50%); transition:width 380ms ease,height 380ms ease,background 380ms ease; }
.method-level__track i { position:absolute; inset:0 auto 0 0; width:0; background:rgba(80,49,29,.58); transition:width 420ms ease; }
.method-level h3 { margin:0; color:#50311d; font-size:11px; font-weight:600; letter-spacing:.14em; transition:color 380ms ease; }
.method-level p { max-width:210px; min-height:76px; margin:18px 0 0; color:rgba(42,26,18,.72); font-size:12px; line-height:1.75; }
.method-level small { display:block; max-width:210px; margin-top:22px; color:var(--color-walnut); font-size:8px; line-height:1.65; letter-spacing:.13em; }
.method-level:hover .method-level__number { color:rgba(80,49,29,.58); }
.method-level:hover .method-level__track::before { width:9px; height:9px; background:var(--color-walnut); }
.method-level:hover .method-level__track i { width:100%; }
.method-level:hover h3 { color:var(--color-dark-text); }
.method__closing { width:min(100%,500px); margin:clamp(96px,8vw,128px) 0 0; }
.method__closing p { margin:0; color:#50311d; font-family:'Cormorant Garamond',serif; font-size:clamp(25px,1.75vw,30px); font-weight:400; line-height:1.1; letter-spacing:-.01em; }
.method__closing em { color:var(--color-walnut); font-weight:400; font-style:normal; }
.method__next { display:flex; align-items:center; gap:18px; width:max-content; max-width:100%; margin-top:40px; color:var(--color-walnut); font-family:'Manrope',sans-serif; font-size:10px; font-weight:400; letter-spacing:.19em; transition:color 300ms ease; }
.method__next i { width:72px; height:1px; flex:0 0 auto; background:rgba(80,49,29,.32); transition:width 300ms ease,background-color 300ms ease; }
.method__next b { display:inline-block; font-size:13px; font-weight:400; letter-spacing:0; transition:transform 300ms ease; }
.method__next:hover,.method__next:focus-visible { color:#50311d; }
.method__next:hover i,.method__next:focus-visible i { width:94px; background:rgba(80,49,29,.5); }
.method__next:hover b,.method__next:focus-visible b { transform:translateY(3px); }
.method__pick { position:absolute; z-index:2; right:clamp(5%,6vw,7%); bottom:clamp(40px,3.5vw,58px); width:clamp(240px,18vw,300px); aspect-ratio:1184/1328; pointer-events:auto; opacity:.74; filter:saturate(.72) contrast(.9) sepia(.08) drop-shadow(0 10px 18px rgba(80,49,29,.1)); transform:rotate(11deg); transform-origin:center; }
.pick-flip { perspective:1000px; pointer-events:auto; }
.pick-flip__inner { position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform 620ms cubic-bezier(.45,.05,.25,1); }
.pick-flip__face { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.pick-flip__front { transform:rotateY(0deg); }
.pick-flip__back { transform:rotateY(180deg); }
.pick-flip__face img { width:100%; height:100%; display:block; object-fit:contain; pointer-events:none; }

@media (hover:hover) and (pointer:fine) {
  .pick-flip:hover .pick-flip__inner { transform:rotateY(180deg); }
}

@media (prefers-reduced-motion:reduce) {
  .pick-flip__inner { transition:none; }
  .pick-flip:hover .pick-flip__inner { transform:none; }
}

@media (max-width:1100px) {
  .method__intro { grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); gap:48px; }
  .method h2 { font-size:clamp(54px,6.2vw,72px); }
  .method__levels { grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px 0; }
  .method-level__number { font-size:76px; }
  .method__closing { width:min(100%,460px); }
  .method__pick { right:4%; bottom:42px; width:clamp(190px,21vw,230px); }
}

@media (max-width:700px) {
  .method__inner { padding-top:80px; padding-bottom:96px; }
  .method__eyebrow { gap:16px; font-size:9px; }
  .method__eyebrow-line { flex:1; width:auto; }
  .method__intro { display:block; margin-top:36px; }
  .method h2 { font-size:clamp(43px,13.5vw,60px); line-height:.9; }
  .method__summary { max-width:100%; margin-top:40px; padding:0; }
  .method__summary p { font-size:13px; line-height:1.75; }
  .method__summary span { margin-top:24px; }
  .method__levels { position:relative; display:block; margin-top:60px; padding-left:34px; }
  .method__levels::before { content:''; position:absolute; top:8px; bottom:12px; left:3px; width:1px; background:rgba(80,49,29,.24); }
  .method-level { position:relative; padding:0 0 64px 18px; }
  .method-level:last-child { padding-bottom:0; }
  .method-level__number { font-size:64px; line-height:.8; }
  .method-level__track { position:absolute; top:8px; left:-34px; width:16px; margin:0; background:transparent; }
  .method-level__track::before { left:0; }
  .method-level__track i { display:none; }
  .method-level h3 { margin-top:26px; }
  .method-level p { max-width:300px; min-height:0; margin-top:14px; font-size:12px; }
  .method-level small { max-width:280px; margin-top:18px; }
  .method__closing { width:100%; margin-top:80px; }
  .method__closing p { font-size:clamp(24px,7vw,28px); }
  .method__next { gap:14px; margin-top:36px; font-size:9px; letter-spacing:.16em; }
  .method__next i { width:48px; }
  .method__next:hover i,.method__next:focus-visible i { width:70px; }
  .method__pick { position:absolute; right:22px; bottom:84px; width:clamp(120px,38vw,150px); margin:0; opacity:.6; transform:rotate(10deg); }
}

/* 03 / КАК ПРОХОДЯТ ЗАНЯТИЯ */
.lessons { --lessons-bg:#120d0a; --lessons-outer-gutter:max(0px,calc((100vw - var(--container))/2)); position:relative; overflow:hidden; color:var(--color-light-text); background:var(--lessons-bg); }
.lessons::before { content:none; }
.lessons__inner { position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr); gap:clamp(40px,4.5vw,80px); align-items:center; min-height:1080px; padding-top:clamp(112px,9vw,144px); padding-bottom:clamp(112px,9vw,144px); }
.lessons__media { position:relative; min-width:0; height:min(78vw,920px); max-height:920px; margin:0 0 0 calc((var(--page-padding) + var(--lessons-outer-gutter)) * -1); overflow:hidden; background:var(--lessons-bg); }
.lessons__media::after { content:''; position:absolute; z-index:1; top:0; right:var(--lessons-outer-gutter); bottom:0; width:clamp(280px,48%,400px); pointer-events:none; background:linear-gradient(90deg,rgba(18,13,10,0) 0%,rgba(18,13,10,.06) 14%,rgba(18,13,10,.15) 28%,rgba(18,13,10,.3) 44%,rgba(18,13,10,.5) 61%,rgba(18,13,10,.7) 76%,rgba(18,13,10,.88) 90%,var(--lessons-bg) 100%); }
.lessons__media img { position:absolute; inset:0 auto 0 0; width:calc(100% - var(--lessons-outer-gutter)); height:100%; display:block; object-fit:cover; object-position:48% 45%; }
.lessons__content { position:relative; z-index:1; padding-right:clamp(0px,2vw,28px); }
.lessons__eyebrow { margin:0 0 30px; color:var(--color-taupe); font-size:10px; font-weight:500; letter-spacing:.17em; }
.lessons h2 { margin:0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(58px,4.6vw,78px); font-weight:400; line-height:.86; letter-spacing:-.035em; }
.lessons__lead { max-width:460px; margin:32px 0 0; color:var(--color-muted-text); font-size:13px; line-height:1.8; }
.lessons__detail { margin:24px 0 0; color:rgba(165,144,123,.72); font-size:8px; font-weight:500; letter-spacing:.18em; }
.lessons__principles { margin:32px 0 0; padding:0; list-style:none; border-bottom:1px solid rgba(165,144,123,.18); }
.lessons__principles li { display:grid; grid-template-columns:48px minmax(140px,.72fr) minmax(180px,1.28fr); gap:18px; align-items:start; padding:22px 0; border-top:1px solid rgba(165,144,123,.18); }
.lessons__number { color:rgba(165,144,123,.66); font-family:'Cormorant Garamond',serif; font-size:28px; line-height:.8; }
.lessons__principles h3 { margin:2px 0 0; color:var(--color-light-text); font-size:10px; font-weight:500; letter-spacing:.13em; }
.lessons__principles p { margin:0; color:#afa69d; font-size:11px; line-height:1.65; }
.lessons__text-accent { color:var(--color-light-text); border-bottom:1px solid rgba(165,144,123,.38); }
.lessons__principle--accent { padding-top:27px !important; padding-bottom:27px !important; border-top-color:rgba(165,144,123,.34) !important; }
.lessons__principle--accent .lessons__number { color:rgba(165,144,123,.78); }
.lessons__principle--accent h3 { color:var(--color-ivory); }
.lessons__principles li { transition:border-color 340ms ease; }
.lessons__principles li:hover { border-top-color:rgba(165,144,123,.38); }
.lessons__principles li:hover .lessons__number { color:rgba(165,144,123,.86); }
.lessons__principles li:hover h3 { color:var(--color-ivory); }
.lessons__number,.lessons__principles h3 { transition:color 340ms ease; }
.lessons__next { display:flex; align-items:center; gap:18px; width:max-content; max-width:100%; margin:70px 0 30px; color:var(--color-taupe); font-size:9px; font-weight:400; letter-spacing:.19em; transition:color 320ms ease; }
.lessons__next i { width:64px; height:1px; flex:0 0 auto; background:rgba(165,144,123,.35); transition:width 320ms ease,background-color 320ms ease; }
.lessons__next b { display:inline-block; font-size:13px; font-weight:400; letter-spacing:0; transition:transform 320ms ease; }
.lessons__next:hover,.lessons__next:focus-visible { color:var(--color-ivory); }
.lessons__next:hover i,.lessons__next:focus-visible i { width:84px; background:rgba(165,144,123,.58); }
.lessons__next:hover b,.lessons__next:focus-visible b { transform:translateY(3px); }

@media (min-width:861px) {
  .lessons__principles { height:clamp(460px,34vw,500px); display:grid; grid-template-rows:repeat(5,minmax(0,1fr)); }
  .lessons__principles li,.lessons__principle--accent { min-height:0; align-items:center; padding:12px 0 !important; }
  .lessons__principles li:nth-child(2) p { line-height:1.4; overflow-wrap:anywhere; }
  .lessons__next { margin-top:clamp(36px,3.5vw,50px); }
}

.js .lessons[data-reveal] .lessons__media { opacity:0; transform:scale(.985); }
.js .lessons[data-reveal] .lessons__eyebrow,.js .lessons[data-reveal] h2,.js .lessons[data-reveal] .lessons__lead,.js .lessons[data-reveal] .lessons__detail,.js .lessons[data-reveal] .lessons__principles li,.js .lessons[data-reveal] .lessons__next { opacity:0; transform:translateY(18px); }
.js .lessons[data-reveal].is-visible .lessons__media { opacity:1; transform:scale(1); transition:opacity 700ms ease,transform 900ms ease; }
.js .lessons[data-reveal].is-visible .lessons__eyebrow,.js .lessons[data-reveal].is-visible h2,.js .lessons[data-reveal].is-visible .lessons__lead,.js .lessons[data-reveal].is-visible .lessons__detail,.js .lessons[data-reveal].is-visible .lessons__principles li,.js .lessons[data-reveal].is-visible .lessons__next { opacity:1; transform:translateY(0); transition:opacity 600ms ease,transform 600ms ease; }
.js .lessons[data-reveal].is-visible .lessons__eyebrow { transition-delay:60ms; }
.js .lessons[data-reveal].is-visible h2 { transition-delay:120ms; }
.js .lessons[data-reveal].is-visible .lessons__lead { transition-delay:180ms; }
.js .lessons[data-reveal].is-visible .lessons__detail { transition-delay:230ms; }
.js .lessons[data-reveal].is-visible .lessons__principles li:nth-child(1) { transition-delay:280ms; }
.js .lessons[data-reveal].is-visible .lessons__principles li:nth-child(2) { transition-delay:335ms; }
.js .lessons[data-reveal].is-visible .lessons__principles li:nth-child(3) { transition-delay:390ms; }
.js .lessons[data-reveal].is-visible .lessons__principles li:nth-child(4) { transition-delay:445ms; }
.js .lessons[data-reveal].is-visible .lessons__principles li:nth-child(5) { transition-delay:500ms; }
.js .lessons[data-reveal].is-visible .lessons__next { transition-delay:555ms; }

@media (max-width:1100px) {
  .lessons__inner { grid-template-columns:minmax(0,.94fr) minmax(410px,1.06fr); gap:40px; min-height:auto; }
  .lessons__media { height:820px; }
  .lessons h2 { font-size:clamp(52px,6vw,68px); }
  .lessons__principles li { grid-template-columns:42px 128px minmax(160px,1fr); gap:14px; }
  .lessons__principles { height:500px; }
  .lessons__principles li:nth-child(2) p { font-size:10px; line-height:1.35; }
}

@media (max-width:860px) {
  .lessons__inner { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-top:88px; padding-bottom:96px; }
  .lessons__content { display:contents; }
  .lessons__eyebrow { order:1; margin-bottom:34px; }
  .lessons h2 { order:2; font-size:clamp(48px,15vw,66px); line-height:.86; }
  .lessons__lead { order:3; margin-top:28px; font-size:13px; }
  .lessons__detail { order:4; margin-top:22px; }
  .lessons__media { order:5; width:calc(100% + var(--page-padding) * 2); height:min(118vw,650px); margin:48px calc(var(--page-padding) * -1) 0; }
  .lessons__media::after { right:0; width:52%; background:linear-gradient(90deg,rgba(18,13,10,0),rgba(18,13,10,.12) 30%,rgba(18,13,10,.42) 62%,rgba(18,13,10,.78) 86%,var(--lessons-bg)); }
  .lessons__media img { object-position:50% 44%; }
  .lessons__principles { order:6; margin-top:48px; }
  .lessons__principles { height:auto; display:block; }
  .lessons__principles li { grid-template-columns:42px 1fr; gap:8px 14px; padding:24px 0; }
  .lessons__principles li:nth-child(2) p { font-size:11px; line-height:1.65; overflow-wrap:normal; }
  .lessons__principles h3 { margin-top:1px; }
  .lessons__principles p { grid-column:2; font-size:11px; }
  .lessons__next { order:7; gap:14px; margin:68px 0 30px; }
  .lessons__next i { width:48px; }
  .lessons__next:hover i,.lessons__next:focus-visible i { width:68px; }
}

@media (prefers-reduced-motion:reduce) {
  .js .lessons[data-reveal] .lessons__media,.js .lessons[data-reveal] .lessons__eyebrow,.js .lessons[data-reveal] h2,.js .lessons[data-reveal] .lessons__lead,.js .lessons[data-reveal] .lessons__detail,.js .lessons[data-reveal] .lessons__principles li,.js .lessons[data-reveal] .lessons__next { opacity:1; transform:none; transition:none; }
}

/* 04 / ФОРМАТЫ И СТОИМОСТЬ */
.pricing { position:relative; overflow:hidden; color:var(--color-dark-text); background:var(--color-paper); border-top:1px solid rgba(80,49,29,.16); }
.pricing__inner { padding-top:clamp(80px,7.5vw,112px); padding-bottom:clamp(112px,10vw,148px); }
.pricing__eyebrow { display:flex; align-items:center; gap:24px; color:var(--color-walnut); font-size:10px; font-weight:600; letter-spacing:.16em; }
.pricing__eyebrow i { width:min(120px,12vw); height:1px; background:rgba(80,49,29,.28); }
.pricing__intro { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr); gap:clamp(64px,9vw,144px); align-items:end; margin-top:clamp(32px,3.6vw,54px); }
.pricing h2 { margin:0; color:var(--color-dark-text); font-family:'Cormorant Garamond',serif; font-size:clamp(64px,5vw,86px); font-weight:400; line-height:.84; letter-spacing:-.04em; }
.pricing__summary { max-width:390px; padding-bottom:8px; }
.pricing__summary p { margin:0; color:#50311d; font-size:14px; line-height:1.85; }
.pricing__summary span { display:block; margin-top:20px; color:var(--color-walnut); font-size:9px; font-weight:600; letter-spacing:.18em; }
.pricing__formats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:clamp(66px,6vw,90px) 0 0; padding:0; list-style:none; border-top:1px solid rgba(80,49,29,.28); border-bottom:1px solid rgba(80,49,29,.28); }
.pricing-format { position:relative; min-height:330px; padding:clamp(30px,3.2vw,48px) clamp(34px,4.5vw,70px) clamp(34px,3.6vw,54px) 0; transition:background-color 340ms ease; }
.pricing-format:nth-child(even) { padding-right:0; padding-left:clamp(34px,4.5vw,70px); border-left:1px solid rgba(80,49,29,.2); }
.pricing-format:nth-child(n+3) { border-top:1px solid rgba(80,49,29,.2); }
.pricing-format__heading { display:flex; align-items:baseline; gap:24px; }
.pricing-format__number { color:rgba(80,49,29,.34); font-family:'Cormorant Garamond',serif; font-size:40px; line-height:.8; transition:color 340ms ease; }
.pricing-format h3 { margin:0; color:#50311d; font-size:11px; font-weight:600; letter-spacing:.15em; }
.pricing-format__price { margin:clamp(34px,3.2vw,46px) 0 0; color:var(--color-dark-text); font-family:'Cormorant Garamond',serif; font-size:clamp(52px,4.2vw,66px); font-weight:400; line-height:.82; letter-spacing:-.025em; }
.pricing-format__unit { margin:12px 0 0; color:var(--color-walnut); font-size:9px; font-weight:600; letter-spacing:.16em; }
.pricing-format__description { max-width:440px; margin:26px 0 0; color:rgba(42,26,18,.72); font-size:12px; line-height:1.75; }
.pricing-format small { display:block; max-width:470px; margin-top:16px; color:var(--color-walnut); font-size:8px; line-height:1.7; letter-spacing:.12em; }
.pricing-format--secondary .pricing-format__price { color:#50311d; font-size:clamp(43px,3.55vw,54px); }
.pricing-format__prices { margin-top:clamp(34px,3.2vw,46px); }
.pricing-format__prices .pricing-format__price { white-space:nowrap; }
.pricing-format__separator { flex:0 0 auto; color:rgba(128,98,72,.55); font-family:'Cormorant Garamond',serif; font-size:clamp(30px,2.8vw,42px); font-weight:400; line-height:.82; }
.pricing-format__duration { margin-top:18px; }
.pricing-format__location { margin-top:8px; }
.pricing-format--secondary { color:rgba(42,26,18,.84); }
.pricing-format--trial { background:rgba(128,98,72,.075); }
.pricing-format--trial::after { content:''; position:absolute; top:-1px; right:0; left:0; height:2px; background:rgba(128,98,72,.5); transform:scaleX(.28); transform-origin:left; transition:transform 360ms ease,background-color 360ms ease; }
.pricing-format--trial .pricing-format__price { font-size:clamp(58px,4.7vw,74px); color:#50311d; }
.pricing-format__accent { display:flex; align-items:center; gap:14px; margin-top:20px; color:var(--color-walnut); font-size:9px; letter-spacing:.16em; }
.pricing-format__accent b { font-size:15px; font-weight:400; transition:transform 340ms ease; }
.pricing-format:hover .pricing-format__number { color:rgba(80,49,29,.62); }
.pricing-format--trial:hover { background:rgba(128,98,72,.11); }
.pricing-format--trial:hover::after { transform:scaleX(1); background:rgba(128,98,72,.68); }
.pricing-format--trial:hover .pricing-format__accent b { transform:translateX(5px); }
.pricing__action { display:flex; align-items:center; gap:clamp(28px,4vw,58px); margin-top:clamp(82px,7vw,104px); }
.pricing__cta { width:min(100%,390px); min-height:62px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(80,49,29,.18); background:var(--color-dark-walnut); color:var(--color-light-text); font-size:10px; font-weight:500; letter-spacing:.1em; transition:background-color 350ms ease,border-color 350ms ease; }
.pricing__cta b { font-size:20px; font-weight:400; transition:transform 350ms ease; }
.pricing__cta:hover,.pricing__cta:focus-visible { background:var(--color-walnut); border-color:rgba(80,49,29,.35); }
.pricing__cta:hover b,.pricing__cta:focus-visible b { transform:translateX(5px); }
.pricing__action p { margin:0; color:rgba(42,26,18,.62); font-size:11px; line-height:1.6; }

@media (min-width:701px) {
  .pricing-format__prices { width:fit-content; max-width:100%; display:flex; align-items:baseline; column-gap:clamp(60px,5vw,80px); }
  .pricing-format__tariff { display:flex; flex-direction:column; align-items:center; }
  .pricing-format__tariff .pricing-format__price { margin-top:0; }
}

.js .pricing[data-reveal] .pricing__eyebrow,.js .pricing[data-reveal] h2,.js .pricing[data-reveal] .pricing__summary,.js .pricing[data-reveal] .pricing-format,.js .pricing[data-reveal] .pricing__action { opacity:0; transform:translateY(18px); }
.js .pricing[data-reveal].is-visible .pricing__eyebrow,.js .pricing[data-reveal].is-visible h2,.js .pricing[data-reveal].is-visible .pricing__summary,.js .pricing[data-reveal].is-visible .pricing-format,.js .pricing[data-reveal].is-visible .pricing__action { opacity:1; transform:translateY(0); transition:opacity 600ms ease,transform 600ms ease; }
.js .pricing[data-reveal].is-visible .pricing-format { transition-property:opacity,transform,background-color; transition-duration:600ms,600ms,340ms; transition-timing-function:ease; }
.js .pricing[data-reveal].is-visible h2 { transition-delay:70ms; }
.js .pricing[data-reveal].is-visible .pricing__summary { transition-delay:130ms; }
.js .pricing[data-reveal].is-visible .pricing-format:nth-child(1) { transition-delay:190ms; }
.js .pricing[data-reveal].is-visible .pricing-format:nth-child(2) { transition-delay:250ms; }
.js .pricing[data-reveal].is-visible .pricing-format:nth-child(3) { transition-delay:310ms; }
.js .pricing[data-reveal].is-visible .pricing-format:nth-child(4) { transition-delay:370ms; }
.js .pricing[data-reveal].is-visible .pricing__action { transition-delay:430ms; }

@media (max-width:900px) {
  .pricing__intro { grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); gap:48px; }
  .pricing h2 { font-size:clamp(54px,7.5vw,70px); }
  .pricing-format { min-height:340px; padding-right:32px; }
  .pricing-format:nth-child(even) { padding-left:32px; }
}

@media (max-width:700px) {
  .pricing__inner { padding-top:68px; padding-bottom:104px; }
  .pricing__eyebrow { gap:16px; font-size:9px; }
  .pricing__eyebrow i { flex:1; width:auto; }
  .pricing__intro { display:block; margin-top:30px; }
  .pricing h2 { font-size:clamp(48px,13.5vw,60px); line-height:.86; }
  .pricing__summary { max-width:100%; margin-top:30px; padding:0; }
  .pricing__summary p { font-size:13px; line-height:1.75; }
  .pricing__summary span { margin-top:18px; }
  .pricing__formats { display:block; margin-top:54px; }
  .pricing-format,.pricing-format:nth-child(even) { min-height:0; padding:32px 0 38px; border-left:0; }
  .pricing-format:nth-child(n+2) { border-top:1px solid rgba(80,49,29,.2); }
  .pricing-format__heading { gap:20px; }
  .pricing-format__number { font-size:36px; }
  .pricing-format__price { margin-top:30px; font-size:clamp(50px,16vw,62px); }
  .pricing-format--secondary .pricing-format__price { font-size:clamp(41px,12.2vw,51px); }
  .pricing-format--trial { margin-inline:0; padding-inline:0; }
  .pricing-format__prices { margin-top:30px; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); column-gap:clamp(4px,2vw,10px); align-items:baseline; }
  .pricing-format__tariff { display:contents; }
  .pricing-format__tariff:first-child .pricing-format__price { grid-column:1; grid-row:1; }
  .pricing-format__tariff:first-child .pricing-format__unit { grid-column:1; grid-row:2; }
  .pricing-format__separator { grid-column:2; grid-row:1; }
  .pricing-format__tariff:last-child .pricing-format__price { grid-column:3; grid-row:1; }
  .pricing-format__tariff:last-child .pricing-format__unit { grid-column:3; grid-row:2; text-align:right; }
  .pricing-format__tariff .pricing-format__price { margin-top:0; }
  .pricing-format__separator { font-size:clamp(28px,10vw,36px); }
  .pricing-format--trial .pricing-format__price { font-size:clamp(56px,17vw,68px); }
  .pricing-format__description { margin-top:22px; }
  .pricing__action { display:block; margin-top:80px; }
  .pricing__cta { min-height:60px; font-size:9px; }
  .pricing__action p { margin-top:20px; }
}

@media (prefers-reduced-motion:reduce) {
  .js .pricing[data-reveal] .pricing__eyebrow,.js .pricing[data-reveal] h2,.js .pricing[data-reveal] .pricing__summary,.js .pricing[data-reveal] .pricing-format,.js .pricing[data-reveal] .pricing__action { opacity:1; transform:none; transition:none; }
}

/* 05 / ОБО МНЕ */
.about { position:relative; overflow:hidden; color:var(--color-light-text); background:var(--color-obsidian); }
.about::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 46% 34% at 78% 18%,rgba(80,49,29,.09),transparent 75%); }
.about__inner { position:relative; padding-top:clamp(96px,9vw,136px); padding-bottom:clamp(104px,10vw,152px); }
.about__eyebrow { display:flex; align-items:center; gap:24px; color:var(--color-taupe); font-size:10px; font-weight:500; letter-spacing:.17em; }
.about__eyebrow i { width:min(120px,12vw); height:1px; background:rgba(165,144,123,.28); }
.about__intro { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.62fr); gap:clamp(64px,9vw,144px); align-items:end; margin-top:clamp(40px,4.5vw,68px); }
.about h2 { max-width:900px; margin:0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(68px,5.4vw,92px); font-weight:400; line-height:.86; letter-spacing:-.04em; }
.about__summary { max-width:410px; padding-bottom:8px; }
.about__summary p { margin:0; color:var(--color-muted-text); font-size:13px; line-height:1.85; }
.about__summary span,.about__note { display:block; margin-top:28px; color:var(--color-taupe); font-size:8px; font-weight:500; line-height:1.7; letter-spacing:.17em; }
.about__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:clamp(80px,7vw,104px) 0 0; padding:0; list-style:none; border-top:1px solid rgba(165,144,123,.2); border-bottom:1px solid rgba(165,144,123,.2); }
.about__facts li { min-height:250px; padding:clamp(36px,4vw,56px) clamp(30px,4vw,64px); }
.about__facts li:first-child { padding-left:0; }
.about__facts li+li { border-left:1px solid rgba(165,144,123,.18); }
.about__facts strong { color:var(--color-taupe); font-family:'Cormorant Garamond',serif; font-size:clamp(82px,7vw,112px); font-weight:400; line-height:.72; letter-spacing:-.04em; }
.about__facts span { margin-left:16px; color:rgba(165,144,123,.7); font-size:9px; letter-spacing:.18em; }
.about__facts p { margin:34px 0 0; color:var(--color-light-text); font-size:10px; font-weight:500; letter-spacing:.16em; }
.about__narrative { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr); gap:clamp(72px,10vw,160px); margin-top:clamp(88px,8vw,120px); }
.about__label { margin:0; color:var(--color-taupe); font-size:9px; font-weight:500; letter-spacing:.18em; }
.about__narrative h3 { margin:30px 0 0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(36px,3vw,50px); font-weight:400; line-height:.98; letter-spacing:-.02em; }
.about__text { max-width:590px; margin-top:38px; columns:2; column-gap:clamp(32px,4vw,64px); }
.about__text p { margin:0; color:var(--color-muted-text); font-size:12px; line-height:1.85; break-inside:avoid; }
.about__text p+p { margin-top:20px; }
.about__stage { padding-top:clamp(64px,7vw,104px); }
.about__stage .about__text { max-width:430px; columns:1; }
.about__education { display:grid; grid-template-columns:minmax(150px,.45fr) minmax(300px,1.15fr) minmax(260px,.8fr); gap:clamp(32px,5vw,80px); align-items:start; margin-top:clamp(88px,8vw,120px); padding:38px 0; border-top:1px solid rgba(165,144,123,.2); border-bottom:1px solid rgba(165,144,123,.2); }
.about__education h3 { margin:0; color:var(--color-light-text); font-size:10px; font-weight:500; line-height:1.8; letter-spacing:.12em; }
.about__education>p:last-child { margin:0; color:var(--color-muted-text); font-size:11px; line-height:1.75; }
.about__next { display:flex; align-items:center; gap:18px; width:max-content; max-width:100%; margin-top:clamp(64px,6vw,88px); color:var(--color-taupe); font-size:9px; letter-spacing:.19em; transition:color 320ms ease; }
.about__next i { width:64px; height:1px; flex:0 0 auto; background:rgba(165,144,123,.35); transition:width 320ms ease,background-color 320ms ease; }
.about__next b { display:inline-block; font-size:13px; font-weight:400; letter-spacing:0; transition:transform 320ms ease; }
.about__next:hover,.about__next:focus-visible { color:var(--color-ivory); }
.about__next:hover i,.about__next:focus-visible i { width:84px; background:rgba(165,144,123,.58); }
.about__next:hover b,.about__next:focus-visible b { transform:translateY(3px); }

.js .about[data-reveal] .about__eyebrow,.js .about[data-reveal] h2,.js .about[data-reveal] .about__summary,.js .about[data-reveal] .about__facts li,.js .about[data-reveal] .about__narrative article,.js .about[data-reveal] .about__education,.js .about[data-reveal] .about__next { opacity:0; transform:translateY(18px); }
.js .about[data-reveal].is-visible .about__eyebrow,.js .about[data-reveal].is-visible h2,.js .about[data-reveal].is-visible .about__summary,.js .about[data-reveal].is-visible .about__facts li,.js .about[data-reveal].is-visible .about__narrative article,.js .about[data-reveal].is-visible .about__education,.js .about[data-reveal].is-visible .about__next { opacity:1; transform:translateY(0); transition:opacity 600ms ease,transform 600ms ease; }
.js .about[data-reveal].is-visible h2 { transition-delay:70ms; }
.js .about[data-reveal].is-visible .about__summary { transition-delay:130ms; }
.js .about[data-reveal].is-visible .about__facts li:nth-child(1) { transition-delay:190ms; }
.js .about[data-reveal].is-visible .about__facts li:nth-child(2) { transition-delay:250ms; }
.js .about[data-reveal].is-visible .about__facts li:nth-child(3) { transition-delay:310ms; }
.js .about[data-reveal].is-visible .about__story { transition-delay:370ms; }
.js .about[data-reveal].is-visible .about__stage { transition-delay:430ms; }
.js .about[data-reveal].is-visible .about__education { transition-delay:490ms; }
.js .about[data-reveal].is-visible .about__next { transition-delay:550ms; }

@media (max-width:1000px) {
  .about__intro { grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:48px; }
  .about h2 { font-size:clamp(58px,7vw,76px); }
  .about__narrative { grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); gap:56px; }
  .about__story .about__text { columns:1; max-width:500px; }
  .about__education { grid-template-columns:140px minmax(260px,1fr) minmax(220px,.8fr); gap:30px; }
}

@media (max-width:760px) {
  .about__inner { padding-top:80px; padding-bottom:96px; }
  .about__eyebrow { gap:16px; font-size:9px; }
  .about__eyebrow i { flex:1; width:auto; }
  .about__intro { display:block; margin-top:38px; }
  .about h2 { font-size:clamp(48px,14vw,64px); line-height:.88; }
  .about__summary { max-width:100%; margin-top:36px; padding:0; }
  .about__summary p { font-size:13px; line-height:1.75; }
  .about__summary span { margin-top:24px; }
  .about__facts { display:block; margin-top:68px; }
  .about__facts li { min-height:0; display:grid; grid-template-columns:90px 50px 1fr; align-items:baseline; padding:30px 0; }
  .about__facts li+li { border-top:1px solid rgba(165,144,123,.18); border-left:0; }
  .about__facts strong { font-size:68px; }
  .about__facts span { margin:0; }
  .about__facts p { margin:0; font-size:9px; }
  .about__narrative { display:block; margin-top:72px; }
  .about__narrative h3 { margin-top:24px; font-size:clamp(34px,10.5vw,44px); }
  .about__text { columns:1; margin-top:30px; }
  .about__stage { margin-top:72px; padding-top:0; }
  .about__note { margin-top:24px; }
  .about__education { display:block; margin-top:72px; padding:32px 0; }
  .about__education h3 { margin-top:24px; }
  .about__education>p:last-child { margin-top:24px; }
  .about__next { gap:14px; margin-top:64px; }
  .about__next i { width:48px; }
  .about__next:hover i,.about__next:focus-visible i { width:68px; }
}

@media (prefers-reduced-motion:reduce) {
  .js .about[data-reveal] .about__eyebrow,.js .about[data-reveal] h2,.js .about[data-reveal] .about__summary,.js .about[data-reveal] .about__facts li,.js .about[data-reveal] .about__narrative article,.js .about[data-reveal] .about__education,.js .about[data-reveal] .about__next { opacity:1; transform:none; transition:none; }
}

/* 05 / ОБО МНЕ — personal editorial composition */
.about__inner { padding-top:clamp(88px,8vw,120px); padding-bottom:clamp(96px,9vw,136px); }
.about__intro { margin-top:clamp(34px,4vw,56px); }
.about__statement { position:relative; margin-top:clamp(72px,7vw,104px); padding-top:clamp(42px,4vw,58px); border-top:1px solid rgba(165,144,123,.22); font-family:'Cormorant Garamond',serif; font-size:clamp(48px,4.15vw,70px); font-weight:400; line-height:.91; letter-spacing:-.03em; }
.about__statement p { margin:0; color:var(--color-ivory); }
.about__statement p:last-child { width:max-content; max-width:72%; margin:clamp(30px,3vw,48px) 0 0 28%; color:var(--color-taupe); }
.about__profile { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.5fr); gap:clamp(72px,10vw,160px); align-items:end; margin-top:clamp(80px,7vw,104px); }
.about__profile h3 { margin:28px 0 0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(38px,3.2vw,52px); font-weight:400; line-height:.98; letter-spacing:-.02em; }
.about__profile .about__text { max-width:720px; margin-top:34px; columns:2; column-gap:clamp(32px,4vw,60px); }
.about__mini-facts { display:grid; grid-template-columns:1fr; margin:0; border-top:1px solid rgba(165,144,123,.22); border-bottom:1px solid rgba(165,144,123,.22); }
.about__mini-facts div { padding:28px 0 30px; }
.about__mini-facts div+div { border-top:1px solid rgba(165,144,123,.18); }
.about__mini-facts dt { color:var(--color-taupe); font-size:9px; letter-spacing:.17em; }
.about__mini-facts strong { margin-right:10px; font-family:'Cormorant Garamond',serif; font-size:clamp(52px,4.5vw,68px); font-weight:400; line-height:.72; letter-spacing:-.03em; }
.about__mini-facts dd { margin:20px 0 0; color:var(--color-light-text); font-size:9px; font-weight:500; letter-spacing:.16em; }
.about__education { margin-top:clamp(72px,7vw,104px); }
.about__next { margin-top:clamp(56px,5vw,76px); }

.js .about[data-reveal] .about__statement,.js .about[data-reveal] .about__profile,.js .about[data-reveal] .about__mini-facts { opacity:0; transform:translateY(18px); }
.js .about[data-reveal].is-visible .about__statement,.js .about[data-reveal].is-visible .about__profile,.js .about[data-reveal].is-visible .about__mini-facts { opacity:1; transform:translateY(0); transition:opacity 600ms ease,transform 600ms ease; }
.js .about[data-reveal].is-visible .about__statement { transition-delay:190ms; }
.js .about[data-reveal].is-visible .about__profile { transition-delay:280ms; }
.js .about[data-reveal].is-visible .about__mini-facts { transition-delay:350ms; }
.js .about[data-reveal].is-visible .about__education { transition-delay:420ms; }
.js .about[data-reveal].is-visible .about__next { transition-delay:480ms; }

@media (max-width:1000px) {
  .about__statement { font-size:clamp(44px,6vw,62px); }
  .about__profile { grid-template-columns:minmax(0,1fr) 240px; gap:54px; }
  .about__profile .about__text { columns:1; max-width:520px; }
}

@media (max-width:760px) {
  .about__inner { padding-top:76px; padding-bottom:96px; }
  .about__statement { margin-top:64px; padding-top:38px; font-size:clamp(38px,11.5vw,50px); line-height:.94; }
  .about__statement p:last-child { width:auto; max-width:100%; margin:30px 0 0; }
  .about__profile { display:block; margin-top:68px; }
  .about__profile h3 { margin-top:24px; font-size:clamp(34px,10.5vw,44px); }
  .about__profile .about__text { columns:1; margin-top:28px; }
  .about__mini-facts { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:52px; }
  .about__mini-facts div { padding:24px 14px 26px 0; }
  .about__mini-facts div+div { padding-left:20px; border-top:0; border-left:1px solid rgba(165,144,123,.18); }
  .about__mini-facts strong { display:block; margin:0 0 10px; font-size:54px; }
  .about__mini-facts dd { margin-top:18px; line-height:1.6; }
  .about__education { margin-top:64px; }
  .about__next { margin-top:56px; }
}

@media (prefers-reduced-motion:reduce) {
  .js .about[data-reveal] .about__statement,.js .about[data-reveal] .about__profile,.js .about[data-reveal] .about__mini-facts { opacity:1; transform:none; transition:none; }
}

/* 05 / ОБО МНЕ — artist portrait composition */
.about__inner { padding-top:clamp(70px,6vw,92px); padding-bottom:clamp(74px,6.5vw,100px); }
.about__portrait-layout { display:grid; grid-template-columns:minmax(0,.76fr) minmax(480px,1.04fr); grid-template-areas:'portrait heading' 'portrait bio' 'portrait listen' 'portrait facts' 'portrait credentials' 'portrait next'; gap:0 clamp(56px,7vw,112px); align-items:start; margin-top:clamp(28px,3vw,40px); }
.about__portrait { grid-area:portrait; width:100%; height:clamp(560px,42vw,650px); margin:clamp(18px,2vw,28px) 0 0; overflow:hidden; }
.about__portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:55% 50%; }
.about__heading { grid-area:heading; max-width:720px !important; font-size:clamp(52px,4.5vw,76px) !important; line-height:.86 !important; }
.about__bio { grid-area:bio; max-width:520px; margin-top:clamp(24px,2.4vw,34px); }
.about__bio p { margin:0; color:var(--color-muted-text); font-size:12px; line-height:1.8; }
.about__bio p+p { margin-top:16px; }
.about__listen { grid-area:listen; margin-top:clamp(20px,2vw,26px); }
.about__listen-label { margin:0; color:rgba(165,144,123,.72); font-size:8px; font-weight:500; letter-spacing:.18em; }
.about__listen-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2.5vw,32px); margin-top:14px; }
.about__listen-links a { min-width:0; min-height:42px; display:flex; align-items:center; gap:12px; color:rgba(212,202,188,.74); }
.about__play { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border:1px solid rgba(165,144,123,.54); border-radius:50%; transition:background-color 260ms ease,border-color 260ms ease; }
.about__play i { width:0; height:0; margin-left:2px; border-top:4px solid transparent; border-bottom:4px solid transparent; border-left:6px solid var(--color-taupe); transition:border-left-color 260ms ease,transform 260ms ease; }
.about__listen-copy { min-width:0; display:block; }
.about__listen-copy strong,.about__listen-copy small { display:block; }
.about__listen-copy strong { color:var(--color-light-text); font-size:9px; font-weight:500; line-height:1.35; letter-spacing:.13em; transition:color 260ms ease; }
.about__listen-copy small { margin-top:5px; color:rgba(165,144,123,.58); font-size:7px; font-weight:400; line-height:1.45; letter-spacing:.12em; }
@media (hover:hover) and (pointer:fine) {
  .about__listen-links a:hover .about__play,.about__listen-links a:focus-visible .about__play { border-color:var(--color-walnut); background:var(--color-walnut); }
  .about__listen-links a:hover .about__play i,.about__listen-links a:focus-visible .about__play i { border-left-color:var(--color-dark-surface); transform:translateX(1px); }
  .about__listen-links a:hover .about__listen-copy strong,.about__listen-links a:focus-visible .about__listen-copy strong { color:var(--color-ivory); }
}
.about__compact-facts { grid-area:facts; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:clamp(28px,3vw,38px) 0 0; border-top:1px solid rgba(165,144,123,.2); border-bottom:1px solid rgba(165,144,123,.2); }
.about__compact-facts div { min-width:0; padding:19px clamp(14px,2vw,28px) 21px; }
.about__compact-facts div:first-child { padding-left:0; }
.about__compact-facts div+div { border-left:1px solid rgba(165,144,123,.18); }
.about__compact-facts dt { color:var(--color-taupe); font-family:'Cormorant Garamond',serif; font-size:clamp(48px,3.8vw,58px); line-height:.8; }
.about__compact-facts dd { margin:14px 0 0; color:var(--color-light-text); font-size:8px; font-weight:500; line-height:1.6; letter-spacing:.13em; }
.about__credentials { grid-area:credentials; display:grid; grid-template-columns:max-content minmax(250px,1.35fr) minmax(210px,.75fr); gap:clamp(20px,2.5vw,34px); margin-top:clamp(24px,2.5vw,32px); padding-top:22px; border-top:1px solid rgba(165,144,123,.2); }
.about__credentials p,.about__credentials h3 { margin:0; }
.about__credentials-label { color:var(--color-taupe); font-size:8px; line-height:1.8; letter-spacing:.17em; }
.about__credentials-label span { color:rgba(165,144,123,.65); }
.about__credentials h3 { color:var(--color-light-text); font-size:10px; font-weight:500; line-height:1.65; letter-spacing:.07em; }
.about__credentials>p:last-child { color:var(--color-muted-text); font-size:9px; line-height:1.6; }
.about__portrait-layout .about__next { grid-area:next; margin-top:clamp(26px,3vw,36px); }

.js .about[data-reveal] .about__portrait,.js .about[data-reveal] .about__heading,.js .about[data-reveal] .about__bio,.js .about[data-reveal] .about__listen,.js .about[data-reveal] .about__compact-facts,.js .about[data-reveal] .about__credentials,.js .about[data-reveal] .about__portrait-layout .about__next { opacity:0; transform:translateY(16px); }
.js .about[data-reveal].is-visible .about__portrait,.js .about[data-reveal].is-visible .about__heading,.js .about[data-reveal].is-visible .about__bio,.js .about[data-reveal].is-visible .about__listen,.js .about[data-reveal].is-visible .about__compact-facts,.js .about[data-reveal].is-visible .about__credentials,.js .about[data-reveal].is-visible .about__portrait-layout .about__next { opacity:1; transform:translateY(0); transition:opacity 600ms ease,transform 600ms ease; }
.js .about[data-reveal].is-visible .about__portrait { transition-delay:50ms; }
.js .about[data-reveal].is-visible .about__heading { transition-delay:100ms; }
.js .about[data-reveal].is-visible .about__bio { transition-delay:160ms; }
.js .about[data-reveal].is-visible .about__listen { transition-delay:190ms; }
.js .about[data-reveal].is-visible .about__compact-facts { transition-delay:220ms; }
.js .about[data-reveal].is-visible .about__credentials { transition-delay:280ms; }
.js .about[data-reveal].is-visible .about__portrait-layout .about__next { transition-delay:340ms; }

@media (max-width:1050px) {
  .about__portrait-layout { grid-template-columns:minmax(280px,.72fr) minmax(420px,1.08fr); gap:0 48px; }
  .about__portrait { height:560px; }
  .about__heading { font-size:clamp(48px,5.6vw,64px) !important; }
  .about__credentials { grid-template-columns:90px 1fr; }
  .about__credentials>p:last-child { grid-column:2; }
}

@media (max-width:780px) {
  .about__inner { padding-top:68px; padding-bottom:80px; }
  .about__portrait-layout { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:'heading' 'portrait' 'bio' 'listen' 'facts' 'credentials' 'next'; margin-top:36px; }
  .about__heading { font-size:clamp(46px,13.5vw,62px) !important; }
  .about__portrait { width:calc(100% + var(--page-padding) * 2); height:min(110vw,540px); margin:36px calc(var(--page-padding) * -1) 0; }
  .about__portrait img { object-position:55% 48%; }
  .about__bio { max-width:100%; margin-top:32px; }
  .about__bio p { font-size:12px; }
  .about__listen { margin-top:24px; }
  .about__compact-facts { display:block; margin-top:34px; }
  .about__compact-facts div,.about__compact-facts div:first-child { display:grid; grid-template-columns:72px 1fr; align-items:baseline; padding:17px 0 19px; }
  .about__compact-facts div+div { border-top:1px solid rgba(165,144,123,.18); border-left:0; }
  .about__compact-facts dt { font-size:48px; }
  .about__compact-facts dd { margin:0; }
  .about__credentials { display:block; margin-top:30px; padding-top:22px; }
  .about__credentials h3 { margin-top:20px; }
  .about__credentials>p:last-child { margin-top:20px; }
  .about__portrait-layout .about__next { margin-top:38px; }
}

@media (prefers-reduced-motion:reduce) {
  .about__play,.about__play i,.about__listen-copy strong { transition:none; }
  .js .about[data-reveal] .about__portrait,.js .about[data-reveal] .about__heading,.js .about[data-reveal] .about__bio,.js .about[data-reveal] .about__listen,.js .about[data-reveal] .about__compact-facts,.js .about[data-reveal] .about__credentials,.js .about[data-reveal] .about__portrait-layout .about__next { opacity:1; transform:none; transition:none; }
}

@media (max-width:430px) {
  .about__listen-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .about__listen-links a { gap:8px; }
  .about__play { width:32px; height:32px; flex-basis:32px; }
  .about__listen-copy strong { font-size:8px; letter-spacing:.08em; white-space:nowrap; }
}

/* 06 / АТМОСФЕРА ЗАНЯТИЙ */
.atmosphere { position:relative; overflow:hidden; color:var(--color-dark-text); background:var(--color-paper); border-top:1px solid rgba(80,49,29,.16); }
.atmosphere__inner { padding-top:clamp(88px,8vw,120px); padding-bottom:clamp(96px,9vw,136px); }
.atmosphere__eyebrow { display:flex; align-items:center; gap:24px; color:var(--color-walnut); font-size:10px; font-weight:600; letter-spacing:.16em; }
.atmosphere__eyebrow i { width:min(120px,12vw); height:1px; background:rgba(80,49,29,.28); }
.atmosphere__layout { display:grid; grid-template-columns:minmax(360px,.76fr) minmax(0,1.04fr); grid-template-areas:'heading media' 'lead media' 'audience media' 'markers media' 'next media'; gap:0 clamp(52px,7vw,112px); align-items:start; margin-top:clamp(40px,4.5vw,64px); }
.atmosphere h2 { grid-area:heading; margin:0; color:var(--color-dark-text); font-family:'Cormorant Garamond',serif; font-size:clamp(52px,4.2vw,70px); font-weight:400; line-height:.88; letter-spacing:-.035em; }
.atmosphere__lead { grid-area:lead; max-width:480px; margin:clamp(30px,3vw,42px) 0 0; color:#50311d; font-size:13px; line-height:1.8; }
.atmosphere__audience { grid-area:audience; margin:24px 0 0; color:var(--color-walnut); font-size:8px; font-weight:600; letter-spacing:.18em; }
.atmosphere__markers { grid-area:markers; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:clamp(42px,4vw,58px) 0 0; padding:0; list-style:none; border-top:1px solid rgba(80,49,29,.22); border-bottom:1px solid rgba(80,49,29,.22); }
.atmosphere__markers li { min-width:0; padding:21px 20px 22px 0; }
.atmosphere__markers li:nth-child(even) { padding-left:24px; border-left:1px solid rgba(80,49,29,.18); }
.atmosphere__markers li:nth-child(n+3) { border-top:1px solid rgba(80,49,29,.18); }
.atmosphere__markers span { color:rgba(80,49,29,.5); font-family:'Cormorant Garamond',serif; font-size:22px; }
.atmosphere__markers p { margin:11px 0 0; color:#50311d; font-size:8px; font-weight:600; line-height:1.55; letter-spacing:.13em; }
.atmosphere__media { grid-area:media; width:100%; height:clamp(610px,49vw,750px); margin:clamp(18px,2vw,32px) 0 0; overflow:hidden; }
.atmosphere__media img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 50%; }
.atmosphere__next { grid-area:next; display:flex; align-items:center; gap:18px; width:max-content; max-width:100%; margin-top:clamp(42px,4vw,58px); color:var(--color-walnut); font-size:9px; letter-spacing:.19em; transition:color 320ms ease; }
.atmosphere__next i { width:64px; height:1px; flex:0 0 auto; background:rgba(80,49,29,.34); transition:width 320ms ease,background-color 320ms ease; }
.atmosphere__next b { display:inline-block; font-size:13px; font-weight:400; letter-spacing:0; transition:transform 320ms ease; }
.atmosphere__next:hover,.atmosphere__next:focus-visible { color:var(--color-dark-walnut); }
.atmosphere__next:hover i,.atmosphere__next:focus-visible i { width:84px; background:rgba(80,49,29,.56); }
.atmosphere__next:hover b,.atmosphere__next:focus-visible b { transform:translateY(3px); }

.js .atmosphere[data-reveal] .atmosphere__eyebrow,.js .atmosphere[data-reveal] h2,.js .atmosphere[data-reveal] .atmosphere__lead,.js .atmosphere[data-reveal] .atmosphere__audience,.js .atmosphere[data-reveal] .atmosphere__markers li,.js .atmosphere[data-reveal] .atmosphere__media,.js .atmosphere[data-reveal] .atmosphere__next { opacity:0; transform:translateY(16px); }
.js .atmosphere[data-reveal].is-visible .atmosphere__eyebrow,.js .atmosphere[data-reveal].is-visible h2,.js .atmosphere[data-reveal].is-visible .atmosphere__lead,.js .atmosphere[data-reveal].is-visible .atmosphere__audience,.js .atmosphere[data-reveal].is-visible .atmosphere__markers li,.js .atmosphere[data-reveal].is-visible .atmosphere__media,.js .atmosphere[data-reveal].is-visible .atmosphere__next { opacity:1; transform:translateY(0); transition:opacity 600ms ease,transform 600ms ease; }
.js .atmosphere[data-reveal].is-visible .atmosphere__media { transition-delay:40ms; }
.js .atmosphere[data-reveal].is-visible h2 { transition-delay:80ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__lead { transition-delay:140ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__audience { transition-delay:190ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__markers li:nth-child(1) { transition-delay:240ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__markers li:nth-child(2) { transition-delay:290ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__markers li:nth-child(3) { transition-delay:340ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__markers li:nth-child(4) { transition-delay:390ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__next { transition-delay:440ms; }

@media (max-width:1000px) {
  .atmosphere__layout { grid-template-columns:minmax(320px,.82fr) minmax(0,1fr); gap:0 48px; }
  .atmosphere__media { height:580px; }
  .atmosphere h2 { font-size:clamp(48px,5.8vw,62px); }
  .atmosphere__markers li { padding-right:12px; }
  .atmosphere__markers li:nth-child(even) { padding-left:18px; }
}

@media (max-width:860px) {
  .atmosphere__inner { padding-top:76px; padding-bottom:96px; }
  .atmosphere__eyebrow { gap:16px; font-size:9px; }
  .atmosphere__eyebrow i { flex:1; width:auto; }
  .atmosphere__layout { grid-template-columns:minmax(0,1fr); grid-template-areas:'heading' 'lead' 'audience' 'media' 'markers' 'next'; margin-top:36px; }
  .atmosphere h2 { font-size:clamp(46px,13vw,58px); }
  .atmosphere__lead { margin-top:28px; font-size:12px; }
  .atmosphere__audience { margin-top:22px; }
  .atmosphere__media { width:calc(100% + var(--page-padding) * 2); height:min(108vw,540px); margin:42px calc(var(--page-padding) * -1) 0; }
  .atmosphere__media img { object-position:50% 48%; }
  .atmosphere__markers { margin-top:42px; }
  .atmosphere__next { gap:14px; margin-top:48px; }
  .atmosphere__next i { width:48px; }
  .atmosphere__next:hover i,.atmosphere__next:focus-visible i { width:68px; }
}

@media (prefers-reduced-motion:reduce) {
  .js .atmosphere[data-reveal] .atmosphere__eyebrow,.js .atmosphere[data-reveal] h2,.js .atmosphere[data-reveal] .atmosphere__lead,.js .atmosphere[data-reveal] .atmosphere__audience,.js .atmosphere[data-reveal] .atmosphere__markers li,.js .atmosphere[data-reveal] .atmosphere__media,.js .atmosphere[data-reveal] .atmosphere__next { opacity:1; transform:none; transition:none; }
}

/* 06 / АТМОСФЕРА ЗАНЯТИЙ — editorial photo layout */
.atmosphere__inner { padding-top:clamp(80px,7vw,108px); padding-bottom:clamp(88px,8vw,120px); }
.atmosphere__layout { grid-template-columns:minmax(300px,.58fr) minmax(0,1.22fr); grid-template-areas:'heading gallery' 'lead gallery' 'details gallery' 'next gallery'; gap:0 clamp(48px,6vw,96px); margin-top:clamp(34px,4vw,52px); }
.atmosphere h2 { max-width:460px; font-size:clamp(46px,3.8vw,62px); line-height:.9; }
.atmosphere__lead { max-width:430px; margin-top:clamp(24px,2.2vw,32px); }
.atmosphere__details { grid-area:details; margin:clamp(28px,3vw,40px) 0 0; padding:0; list-style:none; border-bottom:1px solid rgba(80,49,29,.22); }
.atmosphere__details li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:14px; padding:14px 0 15px; border-top:1px solid rgba(80,49,29,.22); }
.atmosphere__details span { color:rgba(80,49,29,.52); font-family:'Cormorant Garamond',serif; font-size:18px; line-height:1; }
.atmosphere__details h3 { margin:1px 0 0; color:#50311d; font-size:8px; font-weight:600; letter-spacing:.14em; }
.atmosphere__details p { margin:8px 0 0; color:rgba(42,26,18,.7); font-size:10px; line-height:1.55; }
.atmosphere__gallery { grid-area:gallery; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); grid-template-rows:220px 330px; gap:12px; height:562px; margin-top:8px; }
.atmosphere__photo { min-width:0; min-height:0; margin:0; overflow:hidden; }
.atmosphere__photo--lesson { grid-row:1/3; }
.atmosphere__photo img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.92) contrast(.97); }
.atmosphere__photo--lesson img { object-position:54% 62%; }
.atmosphere__photo--group img { object-position:50% 48%; }
.atmosphere__photo--portrait img { object-position:50% 45%; }
.atmosphere__next { align-self:end; margin-top:clamp(20px,2.4vw,30px); }

.js .atmosphere[data-reveal] .atmosphere__gallery { opacity:0; transform:translateY(16px); }
.js .atmosphere[data-reveal].is-visible .atmosphere__gallery { opacity:1; transform:translateY(0); transition:opacity 700ms ease,transform 700ms ease; transition-delay:40ms; }
.js .atmosphere[data-reveal] .atmosphere__details li { opacity:0; transform:translateY(12px); }
.js .atmosphere[data-reveal].is-visible .atmosphere__details li { opacity:1; transform:translateY(0); transition:opacity 520ms ease,transform 520ms ease; }
.js .atmosphere[data-reveal].is-visible .atmosphere__details li:nth-child(1) { transition-delay:200ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__details li:nth-child(2) { transition-delay:250ms; }
.js .atmosphere[data-reveal].is-visible .atmosphere__details li:nth-child(3) { transition-delay:300ms; }

@media (max-width:1050px) {
  .atmosphere__layout { grid-template-columns:minmax(280px,.65fr) minmax(0,1.15fr); gap:0 42px; }
  .atmosphere__gallery { grid-template-rows:190px 280px; height:482px; gap:10px; }
  .atmosphere h2 { font-size:clamp(42px,5vw,54px); }
}

@media (max-width:860px) {
  .atmosphere__inner { padding-top:72px; padding-bottom:92px; }
  .atmosphere__layout { grid-template-columns:minmax(0,1fr); grid-template-areas:'heading' 'lead' 'details' 'gallery' 'next'; margin-top:34px; }
  .atmosphere h2 { font-size:clamp(44px,12vw,56px); }
  .atmosphere__gallery { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; height:auto; margin-top:40px; gap:12px; }
  .atmosphere__details { margin-top:32px; }
  .atmosphere__details li { padding:16px 0 17px; }
  .atmosphere__photo--lesson { grid-row:auto; height:min(112vw,590px); }
  .atmosphere__photo--group { height:min(68vw,360px); }
  .atmosphere__photo--portrait { height:min(88vw,460px); }
  .atmosphere__photo--lesson img { object-position:54% 68%; }
  .atmosphere__next { margin-top:46px; }
}

@media (prefers-reduced-motion:reduce) {
  .js .atmosphere[data-reveal] .atmosphere__gallery,.js .atmosphere[data-reveal] .atmosphere__details li { opacity:1; transform:none; transition:none; }
}

/* 07 / КВАРТИРНИКИ */
.events { color:var(--color-light-text); background:var(--color-obsidian); }
.events__inner { padding-top:clamp(88px,8vw,120px); padding-bottom:clamp(104px,9vw,140px); }
.events__eyebrow { display:flex; align-items:center; gap:24px; color:var(--color-taupe); font-size:10px; font-weight:500; letter-spacing:.17em; }
.events__eyebrow i { width:min(120px,12vw); height:1px; background:rgba(165,144,123,.28); }
.events__intro { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:clamp(64px,9vw,144px); align-items:end; margin-top:clamp(34px,3.5vw,50px); }
.events h2 { margin:0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(64px,5.2vw,88px); font-weight:400; line-height:.86; letter-spacing:-.04em; }
.events__bands { align-self:end; margin-bottom:clamp(12px,1.4vw,22px); }
.events__bands-label { margin:0 0 14px; }
.events__bands-label span,.events__bands-label small { display:block; }
.events__bands-label span { color:rgba(165,144,123,.82); font-size:13px; font-weight:500; letter-spacing:.15em; }
.events__bands-label small { margin-top:7px; color:rgba(165,144,123,.48); font-size:9.5px; font-weight:400; letter-spacing:.16em; }
.events__bands-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,3vw,46px); }
.events__band { min-width:0; display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(212,202,188,.72); font-size:9.5px; font-weight:500; line-height:1.35; letter-spacing:.14em; text-align:center; cursor:pointer; opacity:.76; transition:opacity 260ms ease,transform 260ms ease; }
.events__band:hover,.events__band:focus-visible { opacity:1; transform:translateY(-2px); }
.events__band-logo { width:100%; height:128px; display:flex; align-items:center; justify-content:center; }
.events__band-logo img { display:block; width:auto; max-width:100%; height:auto; max-height:128px; object-fit:contain; }
.events__band--atom .events__band-logo img { max-width:140px; }
.events__band--sky .events__band-logo img { max-width:190px; filter:brightness(2.2) contrast(.9); }
.atom-logo { position:relative; width:140px; height:128px; display:block; }
.atom-logo__fallback { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; object-fit:contain; }
.atom-logo__layers { position:absolute; inset:0; display:none; }
.atom-logo__layer { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; object-fit:contain; transform-origin:50% 50%; }
.atom-logo__base { z-index:1; transform:scale(.84); }
.atom-logo__gear { z-index:2; transform:scale(1.04) rotate(0deg); }
.atom-logo__propeller { z-index:3; transform:translateY(2px) scale(.66); }
.atom-logo__rotor { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; object-fit:contain; transform:rotate(0deg); transform-origin:47.35% 42.5%; }
.atom-logo__text { z-index:4; transform:scale(1.07); }
@keyframes atom-gear-spin {
  from { transform:scale(1.04) rotate(0deg); }
  to { transform:scale(1.04) rotate(360deg); }
}
@keyframes atom-propeller-spin {
  from { transform:rotate(0deg); }
  to { transform:rotate(-360deg); }
}
@media (hover:hover) and (pointer:fine) {
  .atom-logo__fallback { display:none; }
  .atom-logo__layers { display:block; }
  .events__band--atom:hover .atom-logo__gear { animation:atom-gear-spin 7.2s linear infinite; }
  .events__band--atom:hover .atom-logo__rotor { animation:atom-propeller-spin 3.2s linear infinite; }
}
.events__gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:220px 220px auto auto; gap:10px; margin-top:clamp(44px,4.2vw,60px); }
.events__photo { position:relative; min-width:0; min-height:0; padding:0; overflow:hidden; border:0; border-radius:0; background:#17110e; color:var(--color-taupe); cursor:pointer; }
.events__photo--01 { grid-column:1/6; grid-row:3; align-self:start; aspect-ratio:1.52/1; }
.events__photo--02 { grid-column:6/13; grid-row:3; align-self:start; aspect-ratio:1.62/1; }
.events__photo--03 { grid-column:9/13; grid-row:1/3; }
.events__photo--04 { grid-column:1/7; grid-row:4; align-self:start; aspect-ratio:1.58/1; }
.events__photo--05 { grid-column:1/9; grid-row:1/3; }
.events__photo--06 { grid-column:7/13; grid-row:4; align-self:start; aspect-ratio:1.5/1; }
.events__photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform 500ms ease; }
.events__photo:hover img { transform:scale(1.025); }
.events__photo--01 img { object-position:50% 48%; }
.events__photo--02 img { object-position:50% 50%; }
.events__photo--03 img { object-position:50% 45%; }
.events__photo--04 img { object-position:52% 48%; }
.events__photo--05 img { object-position:50% 50%; }
.events__photo--06 img { object-position:48% 50%; }
.events__caption { margin:22px 0 0; color:rgba(165,144,123,.7); font-size:8px; letter-spacing:.18em; }
.events__closing { display:flex; align-items:center; justify-content:space-between; gap:36px; margin-top:clamp(52px,5vw,72px); padding-top:28px; border-top:1px solid rgba(165,144,123,.2); }
.events__closing>p { margin:0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(28px,2.3vw,38px); }
.events__cta { width:min(100%,330px); min-height:58px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(212,202,188,.16); background:var(--color-dark-walnut); font-size:9px; letter-spacing:.11em; transition:background-color 350ms ease; }
.events__cta b { font-size:20px; font-weight:400; transition:transform 350ms ease; }
.events__cta:hover,.events__cta:focus-visible { background:var(--color-walnut); }
.events__cta:hover b,.events__cta:focus-visible b { transform:translateX(5px); }

.lightbox { width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:clamp(56px,7vw,92px); border:0; background:rgba(11,9,12,.94); color:var(--color-light-text); overflow:hidden; }
.lightbox::backdrop { background:rgba(11,9,12,.84); }
.lightbox[open] { display:grid; grid-template-columns:52px minmax(0,1fr) 52px; grid-template-rows:minmax(0,1fr) auto; align-items:center; gap:20px; }
.lightbox__content { width:100%; height:100%; display:grid; place-items:center; overflow:hidden; }
.lightbox__image { max-width:100%; max-height:100%; object-fit:contain; }
.lightbox__placeholder { width:min(100%,1000px); height:min(70vh,680px); display:grid; place-items:center; border:1px solid rgba(165,144,123,.2); color:var(--color-taupe); font-family:'Cormorant Garamond',serif; font-size:clamp(32px,5vw,64px); }
.lightbox__close,.lightbox__nav { padding:0; border:0; background:transparent; color:var(--color-ivory); cursor:pointer; }
.lightbox__close { position:absolute; top:24px; right:28px; font-size:34px; font-weight:300; }
.lightbox__nav { width:48px; height:48px; font-size:24px; }
.lightbox__counter { grid-column:1/-1; margin:0; color:var(--color-taupe); font-size:9px; letter-spacing:.18em; text-align:center; }
body.has-lightbox { overflow:hidden; }

.js .events[data-reveal] .events__eyebrow,.js .events[data-reveal] h2,.js .events[data-reveal] .events__bands,.js .events[data-reveal] .events__photo,.js .events[data-reveal] .events__caption,.js .events[data-reveal] .events__closing { opacity:0; transform:translateY(16px); }
.js .events[data-reveal].is-visible .events__eyebrow,.js .events[data-reveal].is-visible h2,.js .events[data-reveal].is-visible .events__bands,.js .events[data-reveal].is-visible .events__photo,.js .events[data-reveal].is-visible .events__caption,.js .events[data-reveal].is-visible .events__closing { opacity:1; transform:translateY(0); transition:opacity 600ms ease,transform 600ms ease; }
.js .events[data-reveal].is-visible .events__photo:nth-child(1) { transition-delay:120ms; }
.js .events[data-reveal].is-visible .events__photo:nth-child(2) { transition-delay:170ms; }
.js .events[data-reveal].is-visible .events__photo:nth-child(3) { transition-delay:220ms; }
.js .events[data-reveal].is-visible .events__photo:nth-child(4) { transition-delay:270ms; }
.js .events[data-reveal].is-visible .events__photo:nth-child(5) { transition-delay:320ms; }
.js .events[data-reveal].is-visible .events__photo:nth-child(6) { transition-delay:370ms; }

@media (max-width:1100px) {
  .events__gallery { grid-template-rows:180px 180px auto auto; }
}

@media (min-width:761px) {
  .events__bands-list { margin-right:50px; margin-left:-50px; }
}

@media (max-width:760px) {
  .events__inner { padding-top:76px; padding-bottom:96px; }
  .events__eyebrow { gap:16px; font-size:9px; }
  .events__eyebrow i { flex:1; width:auto; }
  .events__intro { display:block; margin-top:32px; }
  .events h2 { font-size:clamp(50px,14vw,64px); }
  .events__bands { margin:36px 0 0; }
  .events__bands-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(8px,3vw,18px); }
  .events__band-logo { height:clamp(130px,34vw,150px); }
  .events__band-logo img,.events__band--atom .events__band-logo img,.events__band--sky .events__band-logo img { width:100%; max-width:100%; height:100%; max-height:100%; object-fit:contain; }
  .atom-logo { width:100%; height:100%; }
  .events__gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:10px; margin-top:38px; }
  .events__photo,.events__photo--01,.events__photo--02,.events__photo--03,.events__photo--04,.events__photo--05,.events__photo--06 { grid-column:auto; grid-row:auto; height:auto; aspect-ratio:3/2; }
  .events__photo--05 { grid-column:1/-1; aspect-ratio:3/2; }
  .events__photo--03 { aspect-ratio:2/3; }
  .events__photo--01 { aspect-ratio:1.52/1; }
  .events__photo--02 { aspect-ratio:1.62/1; }
  .events__photo--04 { aspect-ratio:1.58/1; }
  .events__photo--06 { aspect-ratio:1.5/1; }
  .events__photo img { position:absolute; inset:0; }
  .events__closing { display:block; margin-top:56px; }
  .events__cta { margin-top:30px; }
  .lightbox { padding:54px 14px 24px; }
  .lightbox[open] { grid-template-columns:38px minmax(0,1fr) 38px; gap:6px; }
  .lightbox__nav { width:36px; }
  .lightbox__placeholder { height:60vh; }
}

@media (max-width:620px) {
  .events__gallery {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(5,calc(29.333vw - 4px));
    gap:12px;
  }
  .events__photo,.events__photo--01,.events__photo--02,.events__photo--03,.events__photo--04,.events__photo--05,.events__photo--06 { width:100%; height:100%; aspect-ratio:auto; align-self:stretch; }
  .events__photo--01 { grid-column:1; grid-row:1; }
  .events__photo--02 { grid-column:2; grid-row:1; }
  .events__photo--03 { grid-column:1; grid-row:2/span 2; }
  .events__photo--04 { grid-column:2; grid-row:2; }
  .events__photo--06 { grid-column:2; grid-row:3; }
  .events__photo--05 { grid-column:1/-1; grid-row:4/span 2; }
}

@media (prefers-reduced-motion:reduce) {
  .events__band--atom:hover .atom-logo__gear,.events__band--atom:hover .atom-logo__rotor { animation:none; }
  .events__photo img { transition:none; }
  .events__photo:hover img { transform:none; }
  .js .events[data-reveal] .events__eyebrow,.js .events[data-reveal] h2,.js .events[data-reveal] .events__bands,.js .events[data-reveal] .events__photo,.js .events[data-reveal] .events__caption,.js .events[data-reveal] .events__closing { opacity:1; transform:none; transition:none; }
}

/* 08 / КОНТАКТЫ */
.contacts { color:var(--color-light-text); background:var(--color-dark-surface); border-top:1px solid rgba(165,144,123,.12); }
.contacts__inner { padding-top:clamp(96px,8vw,128px); padding-bottom:clamp(36px,4vw,56px); }
.contacts__eyebrow { display:flex; align-items:center; gap:24px; color:var(--color-taupe); font-size:10px; font-weight:500; letter-spacing:.17em; }
.contacts__eyebrow i { width:min(120px,12vw); height:1px; background:rgba(165,144,123,.28); }
.contacts__layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr); gap:clamp(72px,10vw,160px); align-items:end; margin-top:clamp(52px,5vw,76px); }
.contacts h2 { margin:0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(72px,6.4vw,104px); font-weight:400; line-height:.82; letter-spacing:-.04em; }
.contacts__intro>p { max-width:420px; margin:clamp(30px,3vw,42px) 0 0; color:var(--color-muted-text); font-size:13px; line-height:1.8; }
.contacts__details { min-width:0; margin:0; font-style:normal; }
.contacts__phone>span,.contacts__socials>p { display:block; margin:0; color:rgba(165,144,123,.68); font-size:9px; font-weight:500; letter-spacing:.18em; }
.contacts__phone>a { display:block; width:fit-content; max-width:100%; margin-top:18px; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(48px,4.3vw,68px); font-weight:400; line-height:1; letter-spacing:-.025em; white-space:nowrap; transition:color 300ms ease; }
.contacts__phone>a:hover,.contacts__phone>a:focus-visible { color:var(--color-taupe); }
.contacts__socials { margin-top:clamp(62px,6vw,88px); padding-top:28px; border-top:1px solid rgba(165,144,123,.18); }
.contacts__social-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,3vw,46px); margin-top:28px; }
.contacts__social-list a { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:13px; color:rgba(212,202,188,.66); font-size:8px; font-weight:500; letter-spacing:.14em; transition:color 300ms ease; }
.contacts__social-list .contacts__social--instagram { justify-content:center; }
.contacts__social-list svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; transition:transform 300ms ease; }
.contacts__social-icon { width:25px; height:25px; display:block; object-fit:contain; object-position:center; transition:transform 300ms ease,opacity 300ms ease; }
.contacts__social-icon--max { width:24px; height:24px; opacity:.82; filter:brightness(0) saturate(100%) invert(86%) sepia(10%) saturate(470%) hue-rotate(347deg) brightness(92%) contrast(87%); }
.contacts__social-list a:hover,.contacts__social-list a:focus-visible { color:var(--color-ivory); }
.contacts__social-list a:hover svg,.contacts__social-list a:focus-visible svg,.contacts__social-list a:hover .contacts__social-icon,.contacts__social-list a:focus-visible .contacts__social-icon { transform:translateY(-3px); }
.contacts__footer { display:grid; gap:18px; margin-top:clamp(104px,10vw,148px); padding-top:28px; border-top:1px solid rgba(165,144,123,.18); color:rgba(165,144,123,.58); font-size:8px; letter-spacing:.15em; }
.contacts__footer-meta,.contacts__legal { display:flex; justify-content:space-between; gap:24px; }
.contacts__legal { justify-content:flex-start; color:rgba(212,202,188,.54); }
.contacts__legal a { transition:color 280ms ease; }
.contacts__legal a:hover,.contacts__legal a:focus-visible { color:var(--color-ivory); }

.js .contacts[data-reveal] .contacts__eyebrow,.js .contacts[data-reveal] .contacts__intro,.js .contacts[data-reveal] .contacts__details,.js .contacts[data-reveal] .contacts__footer { opacity:0; transform:translateY(16px); }
.js .contacts[data-reveal].is-visible .contacts__eyebrow,.js .contacts[data-reveal].is-visible .contacts__intro,.js .contacts[data-reveal].is-visible .contacts__details,.js .contacts[data-reveal].is-visible .contacts__footer { opacity:1; transform:translateY(0); transition:opacity 650ms ease,transform 650ms ease; }
.js .contacts[data-reveal].is-visible .contacts__details { transition-delay:100ms; }
.js .contacts[data-reveal].is-visible .contacts__footer { transition-delay:180ms; }

@media (max-width:900px) {
  .contacts__layout { grid-template-columns:minmax(0,1fr); gap:64px; align-items:start; }
  .contacts__intro>p { max-width:100%; }
  .contacts__details { max-width:680px; }
}

@media (max-width:620px) {
  .contacts__inner { padding-top:78px; padding-bottom:34px; }
  .contacts__eyebrow { gap:16px; font-size:9px; }
  .contacts__eyebrow i { flex:1; width:auto; }
  .contacts__layout { gap:54px; margin-top:38px; }
  .contacts h2 { font-size:clamp(56px,17vw,76px); line-height:.84; }
  .contacts__intro>p { margin-top:28px; font-size:12px; }
  .contacts__phone>a { margin-top:16px; font-size:clamp(37px,11vw,48px); white-space:normal; }
  .contacts__socials { margin-top:54px; padding-top:24px; }
  .contacts__social-list { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; width:100%; }
  .contacts__social-list a { align-items:center; gap:12px; text-align:center; font-size:clamp(6px,1.85vw,8px); letter-spacing:.08em; white-space:nowrap; }
  .contacts__footer { gap:18px; margin-top:86px; padding-top:24px; line-height:1.6; }
  .contacts__footer-meta { display:grid; justify-content:start; gap:10px; }
  .contacts__legal { display:flex; justify-content:flex-start; gap:clamp(7px,2.5vw,12px); font-size:clamp(6px,1.85vw,8px); letter-spacing:.06em; white-space:nowrap; }
}

@media (max-width:430px) {
  .contacts__social-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
  .contacts__social-list svg,.contacts__social-icon { transition:none; }
  .contacts__social-list a:hover svg,.contacts__social-list a:focus-visible svg,.contacts__social-list a:hover .contacts__social-icon,.contacts__social-list a:focus-visible .contacts__social-icon { transform:none; }
  .js .contacts[data-reveal] .contacts__eyebrow,.js .contacts[data-reveal] .contacts__intro,.js .contacts[data-reveal] .contacts__details,.js .contacts[data-reveal] .contacts__footer { opacity:1; transform:none; transition:none; }
}

/* Универсальная форма заявки */
.lead-modal { width:min(620px,calc(100vw - 40px)); max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:0; overflow:hidden; border:1px solid rgba(165,144,123,.18); border-radius:0; background:#120e0c; color:var(--color-light-text); }
.lead-modal::backdrop { background:rgba(0,0,0,.7); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.lead-modal__panel { position:relative; max-height:calc(100dvh - 40px); padding:clamp(38px,5vw,60px); overflow-y:auto; overscroll-behavior:contain; }
.lead-modal__close { position:absolute; top:18px; right:22px; width:38px; height:38px; padding:0; border:0; background:transparent; color:rgba(212,202,188,.68); font-family:'Manrope',sans-serif; font-size:30px; font-weight:300; line-height:1; cursor:pointer; transition:color 280ms ease; }
.lead-modal__close:hover,.lead-modal__close:focus-visible { color:var(--color-ivory); }
.lead-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }
.lead-form__eyebrow { margin:0; color:var(--color-taupe); font-size:9px; font-weight:500; letter-spacing:.18em; }
.lead-form h2 { margin:24px 0 0; color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:clamp(54px,7vw,72px); font-weight:400; line-height:.82; letter-spacing:-.035em; }
.lead-form__intro { max-width:450px; margin:24px 0 0; color:var(--color-muted-text); font-size:12px; line-height:1.75; }
.lead-form__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 30px; margin-top:40px; }
.lead-field { min-width:0; display:block; }
.lead-field:last-child { grid-column:1/-1; }
.lead-field>span { display:block; margin-bottom:9px; color:rgba(165,144,123,.76); font-size:8px; font-weight:500; letter-spacing:.16em; }
.lead-field input,.lead-field select,.lead-field textarea { width:100%; margin:0; padding:10px 0 11px; border:0; border-bottom:1px solid rgba(165,144,123,.25); border-radius:0; outline:0; background:transparent; color:var(--color-light-text); font:400 13px/1.5 'Manrope',sans-serif; transition:border-color 280ms ease; }
.lead-field textarea { min-height:76px; resize:vertical; }
.lead-field select { color-scheme:dark; cursor:pointer; }
.lead-field input::placeholder,.lead-field textarea::placeholder { color:rgba(166,157,148,.5); opacity:1; }
.lead-field input:focus,.lead-field select:focus,.lead-field textarea:focus { border-bottom-color:var(--color-taupe); }
.lead-field.is-invalid input { border-bottom-color:rgba(196,139,111,.72); }
.lead-field__error { min-height:14px; display:block; margin-top:6px; color:rgba(212,156,128,.82); font-size:8px; line-height:1.4; letter-spacing:.06em; }
.lead-consent { margin-top:28px; }
.lead-consent__label { position:relative; display:grid; grid-template-columns:16px minmax(0,1fr); gap:12px; align-items:start; cursor:pointer; }
.lead-consent__label input { position:absolute; width:1px; height:1px; margin:0; opacity:0; }
.lead-consent__box { position:relative; width:16px; height:16px; margin-top:2px; border:1px solid rgba(165,144,123,.6); background:transparent; transition:border-color 250ms ease,background-color 250ms ease; }
.lead-consent__box::after { content:''; position:absolute; left:4px; top:1px; width:5px; height:9px; border:solid var(--color-ivory); border-width:0 1px 1px 0; opacity:0; transform:rotate(45deg); transition:opacity 200ms ease; }
.lead-consent__label input:checked+.lead-consent__box { border-color:var(--color-taupe); background:rgba(128,98,72,.32); }
.lead-consent__label input:checked+.lead-consent__box::after { opacity:1; }
.lead-consent__label input:focus-visible+.lead-consent__box { outline:1px solid var(--color-taupe); outline-offset:4px; }
.lead-consent__text { color:rgba(166,157,148,.82); font-size:9px; line-height:1.65; }
.lead-consent__text a { color:var(--color-ivory); text-decoration:underline; text-decoration-color:rgba(165,144,123,.45); text-underline-offset:3px; transition:color 250ms ease,text-decoration-color 250ms ease; }
.lead-consent__text a:hover,.lead-consent__text a:focus-visible { color:var(--color-taupe); text-decoration-color:currentColor; }
.lead-consent__error { min-height:13px; display:block; margin:7px 0 0 28px; color:rgba(212,156,128,.82); font-size:8px; line-height:1.4; letter-spacing:.03em; }
.lead-consent.is-invalid .lead-consent__box { border-color:rgba(196,139,111,.72); }
.lead-form__submit { width:100%; min-height:58px; margin-top:34px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(212,202,188,.16); border-radius:0; background:var(--color-dark-walnut); color:var(--color-light-text); font-size:10px; font-weight:500; letter-spacing:.1em; cursor:pointer; transition:background-color 320ms ease,opacity 320ms ease; }
.lead-form__submit b { font-size:20px; font-weight:400; transition:transform 320ms ease; }
.lead-form__submit:hover,.lead-form__submit:focus-visible { background:var(--color-walnut); }
.lead-form__submit:hover b,.lead-form__submit:focus-visible b { transform:translateX(5px); }
.lead-form__submit:disabled { cursor:wait; opacity:.58; }
.lead-form__status { margin-top:30px; padding-top:24px; border-top:1px solid rgba(165,144,123,.18); }
.lead-form__status strong { color:var(--color-ivory); font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:400; }
.lead-form__status p { margin:10px 0 0; color:var(--color-muted-text); font-size:11px; line-height:1.7; }
.lead-form.is-complete .lead-form__fields,.lead-form.is-complete .lead-consent,.lead-form.is-complete .lead-form__submit { display:none; }
body.has-lead-modal { overflow:hidden; }

@media (max-width:620px) {
  .lead-modal { width:100vw; height:100dvh; max-height:100dvh; border:0; }
  .lead-modal__panel { min-height:100%; max-height:100dvh; padding:62px var(--page-padding) 34px; }
  .lead-modal__close { top:16px; right:var(--page-padding); }
  .lead-form h2 { font-size:clamp(48px,15vw,64px); }
  .lead-form__intro { font-size:11px; }
  .lead-form__fields { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:32px; }
  .lead-field:last-child { grid-column:auto; }
  .lead-field input,.lead-field select,.lead-field textarea { font-size:16px; }
  .lead-consent { margin-top:24px; }
  .lead-consent__text { font-size:10px; }
  .lead-form__submit { margin-top:28px; }
}

@media (prefers-reduced-motion:reduce) {
  .lead-modal__close,.lead-field input,.lead-field select,.lead-field textarea,.lead-consent__box,.lead-consent__box::after,.lead-consent__text a,.lead-form__submit,.lead-form__submit b { transition:none; }
  .lead-form__submit:hover b,.lead-form__submit:focus-visible b { transform:none; }
}

/* Юридические страницы */
.legal-page { min-height:100vh; background:var(--color-obsidian); color:var(--color-light-text); }
.legal-header { width:min(100%,980px); margin-inline:auto; padding:clamp(30px,5vw,64px) var(--page-padding) 0; }
.legal-header a { color:var(--color-taupe); font-size:9px; font-weight:500; letter-spacing:.17em; transition:color 280ms ease; }
.legal-header a:hover,.legal-header a:focus-visible { color:var(--color-ivory); }
.legal-document { width:min(100%,980px); margin-inline:auto; padding:clamp(72px,10vw,140px) var(--page-padding) clamp(90px,12vw,170px); }
.legal-document__eyebrow { margin:0; color:var(--color-taupe); font-size:9px; font-weight:500; letter-spacing:.18em; }
.legal-document>h1 { max-width:850px; margin:28px 0 0; font-size:clamp(48px,7.4vw,92px); line-height:.84; overflow-wrap:anywhere; }
.legal-document__content { width:min(100%,700px); margin-top:clamp(80px,10vw,132px); }
.legal-document__content section { padding:0 0 42px; margin:0 0 42px; border-bottom:1px solid rgba(165,144,123,.16); }
.legal-document__content section:last-child { margin-bottom:0; }
.legal-document__content h2 { margin:0 0 20px; color:var(--color-ivory); font-family:'Manrope',sans-serif; font-size:10px; font-weight:500; line-height:1.5; letter-spacing:.14em; }
.legal-document__content p,.legal-document__content li { color:var(--color-muted-text); font-size:13px; line-height:1.85; }
.legal-document__content p { margin:0 0 16px; }
.legal-document__content p:last-child { margin-bottom:0; }
.legal-document__content ul { margin:0 0 18px; padding:0; list-style:none; }
.legal-document__content li { position:relative; padding-left:19px; }
.legal-document__content li::before { content:'—'; position:absolute; left:0; color:var(--color-taupe); }
.legal-document__content a { color:var(--color-ivory); text-decoration:underline; text-decoration-color:rgba(165,144,123,.45); text-underline-offset:3px; transition:color 280ms ease; }
.legal-document__content a:hover,.legal-document__content a:focus-visible { color:var(--color-taupe); }

@media (max-width:620px) {
  .legal-document { padding-top:70px; }
  .legal-document>h1 { font-size:clamp(40px,12.5vw,58px); }
  .legal-document__content { margin-top:70px; }
  .legal-document__content section { padding-bottom:34px; margin-bottom:34px; }
  .legal-document__content p,.legal-document__content li { font-size:12px; line-height:1.8; }
}

/* Global navigation */
.hero__header { position:fixed; z-index:1000; top:0; left:0; width:100%; height:112px; margin:0; border-bottom:1px solid transparent; background:rgba(11,9,12,0); transition:height 300ms ease,background-color 300ms ease,border-color 300ms ease,backdrop-filter 300ms ease; }
.site-header__inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.hero__header.is-scrolled { height:78px; border-bottom-color:rgba(165,144,123,.1); background:rgba(10,8,7,.87); -webkit-backdrop-filter:blur(15px); backdrop-filter:blur(15px); }
.hero__body { margin-top:112px; }
.hero__header.is-scrolled .brand__logo { height:88px; filter:brightness(1.5) contrast(.92) saturate(.76) drop-shadow(0 1px 2px rgba(212,202,188,.1)); }
.desktop-nav { gap:clamp(13px,1.25vw,22px); font-size:9px; }
@media (min-width:1181px) {
  .desktop-nav { transform:translateX(16px); }
}
.desktop-nav>a.is-active { color:var(--color-ivory); }
.desktop-nav>a.is-active::before { content:''; position:absolute; top:50%; left:-8px; width:3px; height:3px; border-radius:50%; background:var(--color-taupe); transform:translateY(-50%); }
#home,#method,#lessons,#pricing,#about,#atmosphere,#gallery,#contacts { scroll-margin-top:96px; }

.section-nav { position:fixed; z-index:500; top:50%; left:calc(var(--page-padding) - 10px); display:grid; gap:13px; transform:translateY(-50%); color:rgba(212,202,188,.48); transition:color 300ms ease; }
.section-nav a { display:flex; align-items:center; gap:10px; min-width:38px; color:inherit; font-size:9px; line-height:1; letter-spacing:.08em; opacity:.72; transition:color 300ms ease,opacity 300ms ease; }
.section-nav i { width:7px; height:7px; flex:0 0 auto; border:1px solid currentColor; border-radius:50%; background:transparent; transition:background-color 300ms ease,border-color 300ms ease,opacity 300ms ease; }
.section-nav a:hover,.section-nav a:focus-visible { opacity:1; }
.section-nav a.is-active { color:var(--color-taupe); opacity:1; }
.section-nav a.is-active i { border-color:var(--color-taupe); background:var(--color-taupe); }
.section-nav.is-light { color:rgba(42,26,18,.55); }
.section-nav.is-light a.is-active { color:var(--color-walnut); }
.section-nav.is-light a.is-active i { border-color:var(--color-walnut); background:var(--color-walnut); }

.scroll-indicator { cursor:pointer; transition:color 300ms ease; }
.scroll-indicator__arrow { transition:transform 300ms ease; }
.scroll-indicator:hover,.scroll-indicator:focus-visible { color:rgba(212,202,188,.88); }
.scroll-indicator:hover .scroll-indicator__arrow,.scroll-indicator:focus-visible .scroll-indicator__arrow { transform:translateY(4px); }

@media (max-width:1180px) {
  .desktop-nav { display:none; }
  .mobile-nav { display:block; position:relative; }
  .mobile-nav__toggle { width:42px; height:42px; display:grid; align-content:center; gap:7px; padding:10px; border:0; background:transparent; cursor:pointer; }
  .mobile-nav__toggle span { display:block; height:1px; background:var(--color-ivory); transition:transform var(--transition); }
  .mobile-nav.is-open .mobile-nav__toggle span:first-child { transform:translateY(4px) rotate(45deg); }
  .mobile-nav.is-open .mobile-nav__toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .mobile-nav__panel { position:fixed; top:112px; right:var(--page-padding); width:min(300px,calc(100vw - var(--page-padding) * 2)); max-height:calc(100vh - 128px); overflow:auto; padding:30px; display:grid; gap:20px; border:1px solid rgba(212,202,188,.14); background:rgba(18,16,15,.97); font-size:10px; letter-spacing:.12em; transition:top 300ms ease; }
  .hero__header.is-scrolled .mobile-nav__panel { top:78px; max-height:calc(100vh - 94px); }
  .mobile-nav__panel>a.is-active { color:var(--color-taupe); }
  .mobile-nav__panel .social-links { margin-top:10px; }
}

@media (max-width:1100px) {
  .section-nav { display:none; }
}

@media (max-width:620px) {
  .hero__header { height:88px; }
  .hero__header.is-scrolled { height:68px; }
  .hero__header.is-scrolled .brand__logo { height:70px; }
  .hero__body { margin-top:88px; }
  .mobile-nav__panel { top:88px; right:0; width:100vw; max-height:calc(100vh - 88px); padding:34px var(--page-padding); border-right:0; border-left:0; }
  .hero__header.is-scrolled .mobile-nav__panel { top:68px; max-height:calc(100vh - 68px); }
}
