@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,400&family=Manrope:wght@400;500;600&display=swap');
:root{--paper:#faf9f7;--ink:#171715}
body{background:var(--paper);font-family:'Cormorant Garamond',Georgia,serif;font-size:19px}
.site-header{height:84px;display:grid;grid-template-columns:1fr auto 1fr;padding:0 clamp(20px,4vw,70px);border:0;background:var(--paper)}
.site-header .brand{grid-column:2;grid-row:1;justify-self:center;font-size:36px;letter-spacing:-.045em;line-height:1}
.site-header .menu-toggle{grid-column:1;grid-row:1;justify-self:start;font:500 13px Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase;padding:12px 0}
.site-header .menu-toggle::before{content:'☰';font-size:19px;vertical-align:-1px;margin-right:12px;font-weight:400}
.site-header nav{grid-column:3;grid-row:1;justify-self:end;gap:30px;font:500 12px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.site-header nav a{white-space:nowrap}
.mobile-menu{top:84px;left:0;right:auto;width:min(370px,100vw);padding:30px 45px;font-size:28px;box-shadow:10px 20px 35px #0002}
.mobile-menu a{padding:14px 0;border-bottom:1px solid #ddd}
.editorial-hero{position:relative;display:block;margin:0 clamp(20px,5vw,110px);height:min(77vh,860px);min-height:540px;background:#222}
.editorial-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:brightness(.9)}
.editorial-hero .hero-shade{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.52))}
.hero-caption{position:absolute;bottom:clamp(36px,8vh,100px);left:30px;right:30px;text-align:center;color:#fff}
.hero-caption p{font:500 11px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.22em;margin:0 0 14px}
.hero-caption h1{font-size:clamp(52px,6vw,102px);line-height:.93;font-weight:400;letter-spacing:-.04em;margin:0 auto 20px;max-width:1000px}
.hero-caption a{display:inline-block;font:500 12px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.13em;border-bottom:1px solid #fff;padding-bottom:7px}
.hero-caption a span{margin-left:8px}
.intro{padding-top:140px}
.intro h2,.services h2{font-weight:300;letter-spacing:-.055em}
.intro .lead{font-size:26px;line-height:1.35}
.eyebrow{font-size:10px;letter-spacing:.22em}
.services{background:#1d1c1a url('/assets/editorial-two.jpg') center/cover;position:relative;overflow:hidden;isolation:isolate}
.services-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.services-overlay{position:absolute;inset:0;background:rgba(9,9,9,.71);z-index:-1}
.services>.container{position:relative}
.services h3{font-size:44px}
.services p{font-size:21px}
.gallery .section-heading h2{font-size:clamp(66px,7vw,105px);letter-spacing:-.045em}
.gallery>a>img{width:100%;height:600px;object-fit:cover}
.gallery-caption{font:11px Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.author h2{font-size:clamp(48px,4.7vw,74px);line-height:1;letter-spacing:-.04em}
.author p:not(.eyebrow){font-size:24px;line-height:1.35}
.service-area{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:65px;padding-bottom:95px;border-top:1px solid #d9d7d2}
.service-area h2{font:400 clamp(47px,5vw,72px)/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-.045em;margin:15px 0 0;max-width:520px}
.service-area>div:last-child{align-self:end}
.service-area>div:last-child p{font-size:26px;line-height:1.3;max-width:520px;margin:0 0 25px}
.service-area a{font:500 11px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #171715;padding-bottom:6px}
.cta h2{font-size:clamp(60px,6vw,95px);letter-spacing:-.04em;line-height:.95}
.outline-button{font:500 11px Manrope,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.footer{background:#1d1c1a;font-size:23px}
.footer-links{font:500 12px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.page-hero{margin:0 clamp(20px,5vw,110px);height:clamp(330px,37vw,600px)}
.page-intro h1{font-size:clamp(70px,7vw,112px);font-weight:300;letter-spacing:-.055em}
.page-intro p{font-size:27px;line-height:1.25}
.principle h2,.contact-bottom h2{font-size:50px}
.principle p,.contact-bottom p{font-size:27px;line-height:1.25}
.pricing h1{font-size:clamp(64px,6vw,90px);letter-spacing:-.04em}
.pricing-grid h2{font-size:25px}.pricing-grid strong{font-size:32px}.pricing-grid p{font-size:22px;line-height:1.28}.pricing-grid a{font-size:21px}
@media(max-width:1100px){.site-header nav{gap:15px;font-size:10px}}
@media(max-width:800px){.site-header{height:72px}.site-header .brand{font-size:30px}.site-header nav{display:none}.mobile-menu{top:72px}.editorial-hero{height:72vh;min-height:450px}.intro{padding-top:85px}}
@media(max-width:560px){.site-header{height:66px;grid-template-columns:1fr auto 1fr}.site-header .brand{font-size:25px}.site-header .menu-toggle{font-size:0}.site-header .menu-toggle::before{font-size:18px;margin:0}.mobile-menu{top:66px}.editorial-hero{margin:0 12px;height:76vh;min-height:500px}.editorial-hero>img{object-position:57% center}.hero-caption{bottom:44px;left:15px;right:15px}.hero-caption h1{font-size:54px}.intro .lead{font-size:22px}.gallery>a>img{height:310px}.service-area{grid-template-columns:1fr;gap:24px;padding-top:50px;padding-bottom:70px}.service-area h2{font-size:55px}.service-area>div:last-child p{font-size:22px}.page-hero{margin:0 12px}.page-intro h1{font-size:70px}.page-intro p{font-size:22px}.principle h2,.contact-bottom h2{font-size:38px}.principle p,.contact-bottom p{font-size:22px}.pricing-grid h2{font-size:25px}.pricing-grid strong{font-size:28px}.pricing-grid p{font-size:20px}}

.site-header .brand-cycle{display:grid;text-align:center;white-space:nowrap}.brand-name{grid-area:1/1}.brand-name-1{display:none}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){.site-header .brand-cycle{font-size:clamp(29px,2.7vw,36px)}.brand-name-0{animation:brandEnglish 12s infinite}.brand-name-1{display:block;animation:brandRussian 12s infinite}@keyframes brandEnglish{0%,35%,100%{opacity:1;transform:translateY(0)}42%,85%{opacity:0;transform:translateY(-8px)}92%{opacity:1;transform:translateY(0)}}@keyframes brandRussian{0%,35%,92%,100%{opacity:0;transform:translateY(8px)}42%,85%{opacity:1;transform:translateY(0)}}}

@media(min-width:1000px){.site-header nav{gap:clamp(12px,1.8vw,25px);font-size:10px}.site-header .brand-cycle{font-size:clamp(28px,2.5vw,36px)}}
