@font-face{font-family:Heebo;src:url('assets/fonts/heebo.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Heebo;src:url('assets/fonts/heebo-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Frank;src:url('assets/fonts/frank-ruhl.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ivory:#f7f3ea;--charcoal:#30332d;--olive:#9a9e84;--taupe:#b8a999;--line:rgba(48,51,45,.22);--gutter:clamp(22px,5vw,76px);--header-height:88px;--ease:cubic-bezier(.22,1,.36,1);--display:Frank,Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;background:var(--ivory)}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:Heebo,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
html[lang=ru]{--display:Cormorant,Georgia,serif}
html[lang=ru] body{font-family:Arial,sans-serif}
button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}figure,dl,dd,p,h1,h2,h3{margin:0}button{border-radius:0}body.dialog-open{overflow:hidden}
.shell{width:min(100% - var(--gutter)*2,1280px);margin-inline:auto}
.skip-link{position:fixed;top:0;left:1rem;z-index:100;background:var(--charcoal);color:var(--ivory);padding:1rem;transform:translateY(-110%)}.skip-link:focus{transform:none}
.site-header{height:var(--header-height);position:sticky;top:0;z-index:40;background:rgba(247,243,234,.96);backdrop-filter:blur(12px)}
.header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);gap:24px}
.desktop-nav{display:flex;gap:28px}.desktop-nav a{font-size:14px;padding-block:12px;position:relative}.desktop-nav a::after{content:'';height:1px;background:currentColor;position:absolute;bottom:9px;inset-inline:0;transform:scaleX(0);transition:transform .25s}.desktop-nav a:hover::after{transform:scaleX(1)}
.wordmark{display:inline-flex;align-items:center;gap:14px;direction:ltr;white-space:nowrap;font-family:Arial,sans-serif;font-size:19px;font-weight:300;letter-spacing:.24em;line-height:1}
.wordmark i{height:28px;width:1px;background:var(--olive)}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:25px}.language-toggle{border:0;background:none;font:13px Arial,sans-serif;min-height:44px;min-width:44px}.text-button{background:none;border:0;border-bottom:1px solid currentColor;padding:9px 0;font-size:14px;min-height:44px}
.eyebrow{font:12px/1.5 Arial,sans-serif;letter-spacing:.16em;font-weight:400}.hero .eyebrow{text-align:start}
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,7vw,112px);padding-block:48px 56px;align-items:center}
.hero-copy{padding-block:12px}.hero h1{font:400 clamp(56px,5.85vw,88px)/1.02 var(--display);letter-spacing:-.035em;margin-top:23px}.hero h1>span{display:block}.hero h1 .title-second{color:var(--charcoal)}
.hero-lead{max-width:355px;margin-top:24px;font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:28px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;border:1px solid transparent;padding:12px 28px;font-size:14px;line-height:1.4;transition:background .25s,color .25s}
.button-dark{background:var(--charcoal);color:var(--ivory)}.button-dark:hover{background:var(--olive);color:var(--charcoal)}.button-outline{border-color:var(--line);background:transparent}.button-outline:hover{background:var(--charcoal);color:var(--ivory)}.button-light{background:var(--ivory);color:var(--charcoal)}.button-light:hover{background:var(--taupe)}
.text-link{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid var(--line);font-size:14px;padding:4px 0;background:transparent;transition:border-color .2s}.text-link:hover{border-color:currentColor}.text-link-button{border:0;border-bottom:1px solid currentColor;cursor:pointer}
.hero-image{position:relative;align-self:start}.hero-image>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 36%}.hero-image figcaption{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-top:12px;color:rgba(48,51,45,.75)}.hero-image figcaption span:last-child{font:10px/1.8 Arial,sans-serif;letter-spacing:.11em;white-space:nowrap}
.hero-detail{display:flex;align-items:center;gap:22px;max-width:360px;margin-top:44px}.hero-detail img{width:102px;height:auto;aspect-ratio:4/5;object-fit:cover;flex-shrink:0}.hero-detail p{font:400 22px/1.25 var(--display);margin-top:10px;max-width:180px}.hero-detail .eyebrow{font-size:10px;letter-spacing:.1em}
.essentials{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:19px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.section{padding-block:96px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:32px}.section-heading h2,.approach h2,.visit h2,.booking-cta h2{font:400 clamp(40px,4vw,60px)/1.08 var(--display);letter-spacing:-.025em;margin-top:14px}.section-heading>p{max-width:380px;font-size:15px;color:rgba(48,51,45,.78)}
.filters-wrap{border-bottom:1px solid var(--line);margin-bottom:28px}.filters{display:flex;gap:30px;flex-wrap:wrap}.filter-button{position:relative;border:0;border-bottom:2px solid transparent;padding:10px 0 13px;background:none;font-size:14px;min-height:44px;color:rgba(48,51,45,.62)}.filter-button.active{color:var(--charcoal);border-bottom-color:var(--charcoal)}.filter-button:hover{color:var(--charcoal)}
.look-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.look-card{border:0;padding:0;background:none;text-align:start;min-width:0;align-self:start}.look-media{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--taupe)}.look-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.look-card:hover img{transform:scale(1.045)}.look-count{position:absolute;bottom:12px;inset-inline-end:12px;display:grid;place-items:center;min-width:28px;height:28px;background:var(--ivory);color:var(--charcoal);font:12px Arial,sans-serif;padding:0 7px}.look-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-top:12px}.look-meta strong{font-size:15px;font-weight:400}.look-meta>span{font-size:12px;opacity:.65;white-space:nowrap}.center-action{display:flex;justify-content:center;margin-top:40px}
.services{background:rgba(184,169,153,.14);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services>.shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.services-heading{display:block;margin:0}.services-heading>p{margin-top:24px;max-width:280px}.service-groups{border-top:1px solid var(--line)}.service-group{border-bottom:1px solid var(--line)}.service-group summary{display:flex;align-items:center;gap:20px;cursor:pointer;list-style:none;min-height:93px;padding-block:16px}.service-group summary::-webkit-details-marker{display:none}.service-index{font:12px Arial,sans-serif;opacity:.6}.service-group h3{font:400 36px/1.15 var(--display)}.service-english{margin-inline-start:auto;font:11px Arial,sans-serif;letter-spacing:.15em}.service-plus{position:relative;width:16px;height:16px;flex-shrink:0;margin-inline-start:12px}.service-plus::before,.service-plus::after{content:'';position:absolute;background:currentColor;left:0;top:7px;width:16px;height:1px}.service-plus::after{transform:rotate(90deg);transition:transform .2s}.service-group[open] .service-plus::after{transform:rotate(0)}
.service-list{list-style:none;margin:0;padding:0 0 20px}.service-item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:15px 0;border-top:1px solid var(--line)}.service-name{font-size:15px}.service-name small{display:block;font-size:12px;opacity:.65;line-height:1.6;margin-top:4px}.service-time{font-size:13px;display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.approach{background:var(--charcoal);color:var(--ivory)}.approach-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.approach-image{position:relative;padding:0 30px 30px 0}.approach-image::before{content:'';position:absolute;inset:40px 0 0 40px;border:1px solid var(--olive);pointer-events:none}.approach-image img{position:relative;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}.approach .eyebrow{color:var(--olive)}.approach-copy>p:not(.eyebrow){font-size:16px;line-height:1.95;margin-top:26px;max-width:430px}.training-list{margin-top:30px;border-top:1px solid rgba(247,243,234,.25)}.training-list>div{display:flex;gap:28px;padding:16px 0;border-bottom:1px solid rgba(247,243,234,.25)}.training-list>div>span{font:13px Arial,sans-serif;color:var(--olive);padding-top:4px}.training-list strong{font-size:14px;font-weight:400}.training-list small{display:block;opacity:.6;font-size:12px;margin-top:3px}.approach-copy .text-link{margin-top:20px;color:var(--ivory)}
.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px 80px}.visit-title{grid-row:span 2}.visit-options{display:grid;grid-template-columns:1fr 1fr;gap:26px}.visit-options article:last-child{grid-column:span 2}.visit-options article{border-top:1px solid var(--line);padding-top:16px}.visit-options h3{font-size:17px;font-weight:400}.visit-options p{font-size:14px;margin-top:7px;opacity:.78}.visit-hours{grid-column:2;border-top:1px solid var(--line);padding-top:22px}.visit-hours>p:first-child{display:flex;justify-content:space-between;gap:20px;align-items:center}.visit-hours strong{font:26px Cormorant,Georgia,serif;direction:ltr}.visit-hours span{font-size:14px}.visit-hours>p:last-child{font-size:13px;opacity:.7;margin-top:12px;max-width:460px}
.booking-cta{background:var(--olive);padding-block:64px}.booking-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}.booking-cta h2{font-size:clamp(40px,4.5vw,68px)}.booking-cta p:not(.eyebrow){max-width:480px;font-size:15px;margin-top:18px}.booking-cta .button{flex-shrink:0;min-width:170px}
.site-footer{padding-block:64px 24px}.footer-signature{display:flex;justify-content:space-between;align-items:center;gap:4vw;direction:ltr;font:300 clamp(36px,9.9vw,155px)/1 Arial,sans-serif;letter-spacing:.065em}.footer-signature i{height:8vw;max-height:100px;width:1px;background:var(--taupe)}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);padding-top:25px;margin-top:45px}.footer-inner>.wordmark{display:none}.footer-inner p{font-size:12px;opacity:.7}

dialog {
  border: 0;
  padding: 0;
  background: var(--ivory);
  color: var(--charcoal);
}

dialog::backdrop {
  background: rgba(48, 51, 45, .72);
  backdrop-filter: blur(5px);
}

.booking-dialog {
  width: 100%;
  max-width: none;
  max-height: 92svh;
  margin: auto 0 0;
  padding: 1.35rem var(--gutter) calc(1.75rem + env(safe-area-inset-bottom));
  overflow-y: auto;
}

.dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(48, 51, 45, .24);
}

.dialog-head h2 { font-size: clamp(2.2rem, 9vw, 4.2rem); }

.icon-button {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(48, 51, 45, .35);
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1;
}

.dialog-intro { margin: 1.35rem 0 1.8rem; max-width: 34rem; }

#booking-form { display: grid; gap: 1rem; }

#booking-form label { display: grid; gap: .45rem; }
#booking-form label > span { font-size: .8rem; font-weight: 600; }

input, select, textarea {
  width: 100%;
  min-height: 3.1rem;
  border: 1px solid rgba(48, 51, 45, .35);
  border-radius: 0;
  padding: .72rem .82rem;
  background: var(--ivory);
  color: var(--charcoal);
  outline: none;
}

textarea { min-height: 6.5rem; resize: vertical; }

input:focus, select:focus, textarea:focus { border-color: var(--charcoal); box-shadow: 0 0 0 1px var(--charcoal); }

.form-row { display: grid; grid-template-columns: 1fr; gap: .85rem; }
.form-row label { min-width: 0; }
.form-note { font-size: .78rem; }
.form-submit { width: 100%; margin-top: .35rem; }

.request-result { padding-top: 1.5rem; }
.request-result h3 { font-size: 1.5rem; font-weight: 400; }
.request-result textarea { margin-top: 1rem; }
.result-actions { display: grid; gap: .75rem; margin-top: 1rem; }
.request-result .text-link { margin-top: 1rem; }
.copy-status { min-height: 1.5rem; margin-top: .75rem; font-size: .82rem; }

.lightbox {
  width: 100vw;
  height: 100svh;
  max-width: none;
  max-height: none;
  background: var(--charcoal);
  color: var(--ivory);
  overflow: hidden;
}

.lightbox .icon-button { background: transparent; border-color: rgba(247, 243, 234, .5); color: var(--ivory); }

.lightbox-close {
  position: absolute;
  z-index: 3;
  inset-block-start: 1rem;
  inset-inline-end: 1rem;
}

.lightbox figure {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  padding: 4.75rem 1rem 1.2rem;
}

.lightbox img,
.lightbox video {
  width: 100%;
  height: 100%;
  max-height: calc(100svh - 8.5rem);
  object-fit: contain;
}

.lightbox figcaption {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .85rem;
  font-size: .86rem;
}

.lightbox figcaption small { color: var(--olive); }

.lightbox-control {
  position: absolute;
  z-index: 3;
  inset-block-start: 50%;
  width: 2.9rem;
  height: 3.5rem;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  background: rgba(48, 51, 45, .78);
  color: var(--ivory);
  font-size: 2.2rem;
}

.lightbox-prev { inset-inline-start: .35rem; }
.lightbox-next { inset-inline-end: .35rem; }
.lightbox-control[hidden] { display: none; }

.certificates-dialog {
  width: min(100% - 2rem, 70rem);
  max-height: 90svh;
  padding: 1.35rem;
  overflow-y: auto;
}

.certificate-grid { display: grid; gap: 1.5rem; margin-top: 1.5rem; }
.certificate-grid figure { background: var(--taupe); }
.certificate-grid img { width: 100%; height: auto; }
.certificate-grid figcaption { padding: .85rem 1rem; font-size: .85rem; }

:focus-visible {
  outline: 2px solid var(--charcoal);
  outline-offset: 3px;
}

.services :focus-visible,
.lightbox :focus-visible,
.booking-cta :focus-visible {
  outline-color: var(--ivory);
}

[hidden] { display: none !important; }



.dialog-head h2{font:400 38px/1.1 var(--display);margin-top:10px}.dialog-intro{font-size:15px}.booking-dialog{max-height:92svh}.icon-button{flex-shrink:0}.form-row{grid-template-columns:1fr 1fr}.form-row input{min-width:0}#booking-form label>span{font-size:14px}.result-actions{grid-template-columns:1fr 1fr}.certificate-grid{grid-template-columns:1fr 1fr}.lightbox-control{color:var(--ivory)}.approach :focus-visible{outline-color:var(--ivory)}
@media(min-width:800px){.booking-dialog{width:min(540px,100%);height:100svh;max-height:100svh;margin:0 0 0 auto;padding:32px}.lightbox figure{padding:60px 80px 24px}.certificates-dialog{padding:32px}}
@media(min-width:1500px){.hero{gap:110px}.hero h1{font-size:92px}}
@media(max-width:1050px){.hero{gap:40px}.hero h1{font-size:60px}.hero-detail{margin-top:26px}.hero-detail img{width:80px}.hero-detail p{font-size:21px}.desktop-nav{gap:16px}.wordmark{font-size:16px;gap:10px}.services>.shell,.visit-grid{gap:40px}.approach-inner{gap:50px}.hero-image figcaption span:first-child{max-width:170px}}
@media(max-width:799px){:root{--header-height:72px;--gutter:24px}.header-inner{display:flex;justify-content:space-between;gap:16px}.desktop-nav{display:none}.wordmark{font-size:15px;gap:9px;letter-spacing:.16em}.wordmark i{height:24px}.header-actions{gap:15px}.header-book{font-size:13px}.language-toggle{font-size:12px;min-width:32px}.hero{display:grid;grid-template-columns:1fr;gap:28px;padding-block:32px}.hero-copy{display:contents}.hero-copy>.eyebrow{grid-row:1;text-align:center;font-size:11px}.hero h1{grid-row:2;margin: -10px 0 0;font-size:clamp(48px,10.5vw,72px);line-height:1.04;text-align:center}.hero h1>span{display:block}.hero h1>span+span::before{content:none}.hero-image{grid-row:3;width:100%;margin:0}.hero-image>img{aspect-ratio:1.06;object-position:50% 29%}.hero-image figcaption{font-size:11px;margin-top:10px}.hero-image figcaption span:last-child{font-size:9px}.hero-lead{grid-row:4;text-align:center;margin:0 auto;font-size:16px;max-width:330px}.hero-actions{grid-row:5;justify-content:center;margin: -8px 0 0;gap:24px}.hero-detail{display:none}.essentials{font-size:12px;flex-wrap:wrap;justify-content:center;gap:5px 18px;text-align:center;padding-block:17px}.essentials>span:first-child{width:100%}.section{padding-block:60px}.section-heading{display:block;margin-bottom:24px}.section-heading h2,.approach h2,.visit h2{font-size:42px}.section-heading>p{font-size:14px;margin-top:16px;max-width:350px}.eyebrow{font-size:11px}.filters{gap:23px}.filter-button{font-size:13px}.look-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.look-meta{display:block;padding-top:9px}.look-meta strong{font-size:14px;line-height:1.35;display:block}.look-meta>span{font-size:12px}.look-count{bottom:8px;inset-inline-end:8px;min-width:25px;height:25px;font-size:11px}.center-action{margin-top:30px}.services>.shell{display:block}.services-heading>p{max-width:350px}.service-groups{margin-top:30px}.service-group summary{min-height:80px;gap:16px}.service-group h3{font-size:32px}.service-english{font-size:10px}.service-name{font-size:14px}.service-time{font-size:12px}.service-name small{font-size:12px}.approach-inner{display:flex;flex-direction:column;gap:32px}.approach-image{width:100%;padding:0 20px 20px 0}.approach-image img{aspect-ratio:1.1;object-position:50% 25%}.approach-image::before{inset:30px 0 0 30px}.approach-copy>p:not(.eyebrow){margin-top:18px;font-size:16px}.visit-grid{display:block}.visit-options{margin-top:30px;gap:22px}.visit-hours{margin-top:25px}.booking-cta{padding-block:48px}.booking-cta-inner{display:block}.booking-cta h2{font-size:44px}.booking-cta .button{margin-top:28px}.booking-cta p:not(.eyebrow){font-size:15px}.site-footer{padding-block:40px 24px}.footer-signature{font-size:9.3vw;gap:12px}.footer-inner{margin-top:28px;padding-top:20px;gap:12px;flex-wrap:wrap}.footer-inner p{font-size:11px}.certificate-grid{grid-template-columns:1fr}.dialog-head h2{font-size:34px}.dialog-intro{font-size:14px}.result-actions{grid-template-columns:1fr}}
@media(max-width:370px){:root{--gutter:18px}.header-actions{gap:8px}.wordmark{font-size:13px}.hero h1{font-size:46px}.service-group summary{gap:12px}.filters{gap:19px}.form-row{grid-template-columns:1fr}.footer-inner{display:block}.footer-inner p+p{margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

html[dir=rtl] .eyebrow{text-align:right}html[dir=ltr] .eyebrow{text-align:left}html[dir=rtl] .service-english{margin-right:auto;margin-left:0}html[dir=ltr] .service-english{margin-left:auto;margin-right:0}
@media(max-width:799px){html .hero .eyebrow{text-align:center}}

.work-caption{position:relative;margin-top:10px;font-size:12px;opacity:.7}.section-heading>p,.service-name,.visit-options p,.booking-cta p:not(.eyebrow){font-size:16px}.service-name small{font-size:13px}.filters .filter-button{font-size:14px}

/* A lighter, contemporary Hebrew voice paired with the existing Latin wordmark. */
html[lang=he]{--display:Heebo,Arial,sans-serif}
html[lang=he] .hero h1{font-size:clamp(48px,4.7vw,72px);font-weight:300;line-height:1.16;letter-spacing:-.045em}
html[lang=he] .section-heading h2,html[lang=he] .approach h2,html[lang=he] .visit h2,html[lang=he] .booking-cta h2{font-size:clamp(34px,3.35vw,48px);font-weight:300;line-height:1.22;letter-spacing:-.035em}
html[lang=he] .service-group h3{font-size:30px;font-weight:300;line-height:1.3;letter-spacing:-.025em}
html[lang=he] .hero-detail p{font-size:18px;font-weight:300;line-height:1.65;letter-spacing:-.015em}
html[lang=he] .dialog-head h2{font-size:32px;font-weight:300;line-height:1.3;letter-spacing:-.025em}
@media(max-width:799px){html[lang=he] .hero h1{font-size:clamp(38px,10.5vw,58px);line-height:1.2}html[lang=he] .section-heading h2,html[lang=he] .approach h2,html[lang=he] .visit h2,html[lang=he] .booking-cta h2{font-size:34px}html[lang=he] .service-group h3{font-size:28px}}

html[lang=ru]{--display:Manrope,Arial,sans-serif}html[lang=ru] body{font-family:Manrope,Arial,sans-serif}html[lang=ru] .hero h1{font-size:clamp(40px,4.15vw,64px);font-weight:300;line-height:1.2;letter-spacing:-.045em}html[lang=ru] .section-heading h2,html[lang=ru] .approach h2,html[lang=ru] .visit h2,html[lang=ru] .booking-cta h2{font-size:clamp(32px,3vw,44px);line-height:1.2;font-weight:300;letter-spacing:-.035em}html[lang=ru] .hero-detail p{font:300 17px/1.6 Manrope,Arial,sans-serif}html[lang=ru] .service-group h3{font-weight:300;font-size:28px}html[lang=ru] .dialog-head h2{font-weight:300;font-size:30px}
.look-media .look-alternate{position:absolute;inset:0;opacity:0;transition:opacity .5s,transform .7s;pointer-events:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.look-card:hover .look-alternate{opacity:1}}
.look-grid.gallery-editorial{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:48px 24px}.gallery-editorial .look-card{grid-column:span 4;align-self:center}.gallery-editorial .look-card:first-child{grid-column:span 6}.gallery-editorial .look-card:nth-child(2),.gallery-editorial .look-card:nth-child(3){grid-column:span 3}.gallery-editorial .look-card:nth-child(2){align-self:start;margin-top:70px}.gallery-editorial .look-card:nth-child(3){align-self:end;margin-bottom:35px}.gallery-editorial .look-card:first-child .look-media{aspect-ratio:1}.gallery-editorial .look-card:first-child .look-meta strong{font-size:18px}.gallery-editorial .look-meta{flex-wrap:wrap;gap:3px 12px}
.films{margin-top:80px;padding-top:52px;border-top:1px solid var(--line)}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.film-card{border:0;padding:0;background:transparent;text-align:start;min-width:0}.film-media{display:block;position:relative;aspect-ratio:9/13;overflow:hidden;background:var(--charcoal)}.film-media>img,.film-media>video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.film-media>video{opacity:0;transition:opacity .3s}.is-playing .film-media>video{opacity:1}.film-media::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(48,51,45,.75));pointer-events:none}.film-play{position:absolute;inset:0;margin:auto;display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(247,243,234,.8);border-radius:50%;color:var(--ivory);background:rgba(48,51,45,.35);font:18px Arial,sans-serif;z-index:1}.film-label{position:absolute;bottom:18px;left:18px;color:var(--ivory);font:11px Arial,sans-serif;letter-spacing:.14em;z-index:1}.film-caption{display:flex;justify-content:space-between;gap:12px;padding-top:14px;align-items:baseline}.film-caption strong{font-size:16px;font-weight:400}.film-caption>span{font-size:12px;border-bottom:1px solid var(--line)}.is-playing .film-play{opacity:.3}
.lightbox figure{grid-template-rows:minmax(0,1fr) auto auto;gap:12px}.lightbox figure>img,.lightbox figure>video{max-height:calc(100svh - 190px)}.lightbox-thumbs{display:flex;justify-content:center;gap:8px;overflow-x:auto;direction:ltr;padding:4px;max-width:100%;scrollbar-width:thin}.lightbox-thumbs button{flex:0 0 44px;height:56px;background:none;padding:0;border:1px solid transparent;opacity:.5}.lightbox-thumbs button[aria-pressed=true]{border-color:var(--ivory);opacity:1}.lightbox .lightbox-thumbs img{width:100%;height:100%;max-height:none;object-fit:cover}.lightbox-thumbs button:focus-visible{outline:2px solid var(--ivory);outline-offset:2px}
@media(max-width:799px){html[lang=ru] .hero h1{font-size:clamp(32px,8.5vw,46px)}html[lang=ru] .section-heading h2,html[lang=ru] .approach h2,html[lang=ru] .visit h2,html[lang=ru] .booking-cta h2{font-size:32px}.look-grid.gallery-editorial{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.gallery-editorial .look-card,.gallery-editorial .look-card:nth-child(2),.gallery-editorial .look-card:nth-child(3){grid-column:span 1;margin:0;align-self:start}.gallery-editorial .look-card:first-child{grid-column:span 2}.gallery-editorial .look-card:first-child .look-media{aspect-ratio:5/4}.gallery-editorial .look-card:nth-child(6){grid-column:span 2}.gallery-editorial .look-card:nth-child(6) .look-media{aspect-ratio:5/4}.films{margin-top:52px;padding-top:36px}.film-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:thin}.film-card{flex:0 0 78%;scroll-snap-align:start}.film-media{aspect-ratio:9/12}.film-caption{display:block}.film-caption strong{display:block;margin-bottom:4px}.lightbox-thumbs{justify-content:flex-start}.lightbox figure{padding-top:64px;padding-bottom:16px}.lightbox figure>img,.lightbox figure>video{max-height:calc(100svh - 200px)}}

/* Keep portrait films at their native 720 × 1280 proportions. */
.film-media{aspect-ratio:9/16}
.film-media>video,.film-media>img{object-fit:contain}
.lightbox.is-video figure{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:64px 16px 24px}
.lightbox.is-video figure>video{flex:none;width:min(100%,calc((100svh - 150px)*9/16));height:auto;aspect-ratio:9/16;max-height:calc(100svh - 150px);object-fit:contain}
.lightbox.is-video figcaption{width:min(100%,calc((100svh - 150px)*9/16));padding-top:0}

/* Consistent editorial rhythm, legibility and responsive navigation. */
:root{--line:rgba(48,51,45,.24)}
.section{padding-block:clamp(64px,7vw,104px)}
.section-heading{gap:40px;margin-bottom:36px}
.section-heading h2,.approach h2,.visit h2,.booking-cta h2{text-wrap:balance}
.hero-lead,.section-heading>p,.approach-copy>p,.booking-cta p{ text-wrap:pretty }
.hero-image figcaption span:last-child,.hero-detail .eyebrow,.service-english,.film-label{font-size:12px;letter-spacing:.08em}
.essentials{font-size:14px}.service-time{font-size:14px;font-variant-numeric:tabular-nums}
.service-name small,.training-list small{font-size:14px;opacity:.8}.training-list strong{font-size:16px}
.visit-hours strong{font:300 28px/1.2 var(--display);font-variant-numeric:tabular-nums}
.visit-hours>p:last-child,.form-note,.dialog-intro,.copy-status{font-size:14px;opacity:1}
.filter-button{color:rgba(48,51,45,.8)}
.services :focus-visible,.booking-cta :focus-visible{outline-color:var(--charcoal)}
.icon-button{background:transparent}.icon-button:hover{background:rgba(154,158,132,.2)}
.film-grid{max-width:980px;margin-inline:auto;gap:32px}.film-caption{display:block}.film-caption>span{display:inline-block;margin-top:5px;font-size:14px}
.look-film .look-media{aspect-ratio:9/16}.look-film .look-media img{object-fit:contain}
.approach-image{padding:0}.approach-image::before{display:none}.work-caption{font-size:13px;opacity:.85}
.request-not-sent{font-size:15px;margin-top:12px;line-height:1.7}.request-result h3:focus{outline:none}
.lightbox{width:100vw;height:100svh;max-width:none;max-height:none;padding:0;overflow:hidden}
.lightbox-thumbs{scrollbar-color:var(--olive) transparent}.lightbox-prev{direction:ltr}.lightbox-next{direction:ltr}
html[dir=rtl] .lightbox-prev,html[dir=rtl] .lightbox-next{rotate:180deg}
@media(min-width:800px){.hero-image>img{max-height:720px}.services-heading{position:sticky;top:120px}.approach-image{max-width:470px}.film-media{max-height:540px}.film-card{width:100%}}
@media(max-width:799px){
:root{--header-height:110px}
.header-inner{display:grid;grid-template-columns:1fr auto;grid-template-rows:64px 44px;gap:0 12px}
.header-inner>.wordmark{grid-column:1;grid-row:1}.header-actions{grid-column:2;grid-row:1;gap:12px}
.desktop-nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;gap:32px;border-top:1px solid var(--line)}
.desktop-nav a{font-size:14px;padding-block:9px}.desktop-nav a::after{bottom:5px}
html{scroll-padding-top:126px}.language-toggle{min-width:44px;font-size:14px}.header-book{font-size:14px}
.hero{padding-top:28px;gap:24px}.hero-image figcaption{font-size:12px;gap:8px}.hero-image figcaption span:last-child{font-size:12px;white-space:normal;text-align:end;max-width:90px}
.hero-copy>.eyebrow{font-size:12px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:22px}
.eyebrow{font-size:12px}.essentials{font-size:13px}.section-heading>p{font-size:16px;line-height:1.75}
.gallery-editorial .look-card:first-child .look-media,.gallery-editorial .look-card:nth-child(6) .look-media{aspect-ratio:4/5}
.look-meta strong{font-size:15px}.look-meta>span{opacity:.8}.look-count{font-size:12px;width:28px;height:28px}
.film-grid{gap:18px;scrollbar-color:var(--olive) transparent}.film-card{flex-basis:76%}.film-media{max-height:none}
.service-english{font-size:12px}.service-name{font-size:16px}.service-group summary{gap:12px}.service-time{font-size:14px}
.approach-image{max-width:430px}.approach-image img{aspect-ratio:4/5}.approach-inner{gap:36px}
.booking-cta .button{width:100%}.footer-inner p{font-size:12px}.dialog-intro{font-size:16px}
}
@media(max-width:370px){.header-inner{gap:0 4px}.header-actions{gap:4px}.wordmark{font-size:12px}.service-english{display:none}}

.film-caption strong{display:block}.film-label{direction:ltr}

@media(max-width:799px){.header-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0}.header-inner>.wordmark{order:1;height:64px}.header-actions{order:2;height:64px}.desktop-nav{order:3;width:100%;height:44px}}

/* EVA GRIVA: a typographic identity with quieter, more balanced proportions. */
.wordmark{display:flex;letter-spacing:normal;gap:0;width:206px;line-height:1}
.wordmark img{width:100%;height:auto;display:block}
.footer-signature{display:block;padding-block:8px 12px;max-width:1120px}
.footer-signature img{width:100%;height:auto}
.approach-mark{width:175px;height:auto;margin-bottom:40px;opacity:.85}
.hero{grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,88px);padding-block:40px 48px}
.hero-image{width:100%;max-width:560px;justify-self:center}
.hero-lead{max-width:390px;line-height:1.85}
.hero-detail{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);max-width:390px}
.hero-detail img{width:76px}.hero-detail p{max-width:230px}
.section-heading>p{line-height:1.85}.services-heading>p{max-width:320px}
.approach-inner{gap:clamp(40px,7vw,100px)}
.approach-image{justify-self:center}.approach-copy>p:not(.eyebrow){max-width:460px}
.film-grid{max-width:900px;gap:28px}
.gallery-editorial .look-card:nth-child(2){margin-top:40px}
.gallery-editorial .look-card:nth-child(3){margin-bottom:20px}
@media(max-width:1050px) and (min-width:800px){.wordmark{width:170px}.desktop-nav{gap:14px}.header-actions{gap:14px}}
@media(max-width:799px){
.wordmark{width:154px}.hero{grid-template-columns:1fr;padding-block:28px 36px;gap:24px}
.hero-image{max-width:520px}.hero-lead{max-width:370px;line-height:1.75}
.hero-detail{display:none}.header-inner>.wordmark{height:64px}
.gallery-editorial .look-card:nth-child(2),.gallery-editorial .look-card:nth-child(3){margin:0}
.approach-mark{width:160px;margin-bottom:26px}.footer-signature{padding-block:12px 20px}
}
@media(max-width:370px){.wordmark{width:135px}.header-book{font-size:13px}}
