/* Final responsive layer: shared portfolio typography and the complete mobile layout. */
.portfolio-accordion>summary h3{font-family:SovMod,Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.4px}
.section-width>*{min-width:0}img{max-width:100%}button,a,summary{touch-action:manipulation}
@media(min-width:768px) and (max-width:1024px){
 :root{--gutter:32px}.hero{column-gap:5%;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.hero .hero-lead{font-size:25px}.hero-portrait{height:440px}.invitation-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%}.approach{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:45px 7%}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:28px}.activation-card{column-gap:30px}.service-actions{grid-template-columns:1fr}.client-grid{gap:18px}.client-grid figcaption strong{font-size:11px}.meeting-grid,.contact{gap:7%}.meeting-photo>img{height:460px}.contact-copy h2{font-size:45px}
}
@media(max-width:767px){
 :root{--gutter:clamp(18px,5vw,30px)}
 html{scroll-padding-top:86px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-size:15px;line-height:1.7}
 .section-width{width:100%;max-width:100%;padding-inline:var(--gutter)}
 h1,h2,h3,p,li,figcaption{overflow-wrap:break-word}
 .site-header{min-height:72px;padding:14px var(--gutter);gap:12px}
 .site-header .wordmark{font-size:clamp(14px,4vw,18px);white-space:nowrap}
 .menu-toggle{width:44px;height:44px;padding:10px;justify-content:center;align-items:center;flex-shrink:0}
 .site-header nav{max-height:calc(100svh - 74px);overflow-y:auto;padding:18px var(--gutter) 24px;gap:3px}
 .site-header nav>a{min-height:48px;display:flex;align-items:center;width:100%;font-size:15px}
 .site-header .nav-contact{margin-top:8px;justify-content:space-between;padding:10px 18px}
 .hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:30px;padding-bottom:36px}
 .hero-copy{display:block;padding:0;width:100%}
 .hero .eyebrow{font-size:10px;line-height:1.9;letter-spacing:1.1px;margin:0}
 .hero .hero-lead{font:400 clamp(23px,5.9vw,31px)/1.5 Manrope,Arial,sans-serif;letter-spacing:0;white-space:normal;max-width:none;margin:20px 0}
 .hero .hero-support{font-size:15px;line-height:1.7;max-width:none;margin:0 0 23px}
 .hero-copy>.button{width:100%;max-width:390px;margin:0}
 .hero-art{width:100%;max-width:410px;padding:0;margin:30px auto 0}
 .portrait-outline{max-width:none;padding:10px;width:100%}
 .hero-portrait{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:70% 45%}
 .scroll-cue{align-self:center;margin:24px 0 0;font-size:10px;letter-spacing:1.4px}
 .button{min-height:50px;padding:14px 19px;font-size:11px;letter-spacing:.8px;gap:16px;white-space:normal;line-height:1.5}
 .button>span{flex-shrink:0}.button:hover{transform:none}
 .invitation{padding:48px 0}
 .invitation-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
 .section-intro .eyebrow{font-size:10px;letter-spacing:1.3px}
 .section-intro h2{font-size:clamp(40px,10.5vw,57px);line-height:1.1;margin:18px 0}
 .serif-note{font-size:25px;line-height:1.35}
 .invitation-list p{grid-template-columns:26px minmax(0,1fr);gap:12px;padding:19px 0;font-size:15px;line-height:1.75}
 .invitation-list p>span:first-child{font-size:23px}
 .approach{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:54px;padding-bottom:48px}
 .approach-image{grid-column:1;grid-row:1;width:min(78%,290px);max-width:290px;margin:10px auto 0}
 .approach-image img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 42%}
 .outline-orbit{inset:-10px}
 .approach-copy{grid-column:1;grid-row:2}
 .approach-copy .italic-title{font-size:clamp(49px,12vw,66px);margin:14px 0 22px}
 .approach-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:none}
 .approach-copy .emphasis{margin-top:20px}
 .pillars{grid-column:1;grid-row:3;padding-top:0}
 .pillars h3{font-size:15px;line-height:1.6;margin-bottom:28px}
 .pillars ol{grid-template-columns:minmax(0,1fr);gap:12px}
 .pillars li{font-size:14px;padding:19px 10px 15px}
 .collaboration{padding:48px 0}
 .section-heading{margin-bottom:28px}
 .section-heading .eyebrow{font-size:9px;letter-spacing:1px;max-width:290px;margin:0 auto 14px}
 .section-heading h2{font-size:clamp(49px,12vw,66px)}
 .services-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .service-card,.activation-card{display:flex;flex-direction:column;grid-column:auto;padding:clamp(20px,5.5vw,30px);border-radius:22px;min-width:0}
 .service-top{gap:16px;align-items:flex-start;margin-bottom:20px}
 .service-number{font-size:43px;flex-shrink:0}
 .service-term,.activation-card .service-term{font-size:9px;line-height:1.7;letter-spacing:.8px;max-width:68%;text-align:right}
 .service-card h3{font-size:clamp(18px,5.1vw,25px);line-height:1.5;margin-bottom:20px}
 .service-content{font-size:15px;line-height:1.75}
 .service-lead{font-size:17px;line-height:1.6}
 .service-content h4{font-size:13px;line-height:1.6;margin:25px 0 14px}
 .service-content ul{padding-left:18px;margin-bottom:20px}
 .service-content li,.activation-card .service-content li{padding-left:2px;margin-bottom:15px}
 .perfect{font-size:15px;line-height:1.75;padding-top:18px}
 .format-note{font-size:14px}
 .service-bottom,.activation-card .service-bottom{position:static;align-self:stretch;margin-top:0;padding-top:24px}
 .activation-photo{width:100%;max-width:430px;height:auto;aspect-ratio:auto;margin:0 auto 24px;border-radius:14px}
 .price,.activation-card .price{font-size:43px;line-height:1.2;margin-bottom:20px}
 .price small{font-size:23px}.price-note{font-size:18px}
 .service-actions,.activation-card .service-actions{grid-template-columns:minmax(0,1fr);gap:10px}
 .service-actions .button,.activation-card .service-actions .button{width:100%;min-height:50px;font-size:10px;letter-spacing:.7px;padding:14px 17px}
 .clients{padding-top:49px;padding-bottom:49px}
 .clients-heading{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:28px}
 .clients-heading .italic-title{font-size:clamp(50px,12vw,66px);margin:0}
 .client-stat{font-size:14px;line-height:1.7}.micro-copy{font-size:12px;line-height:1.6;margin-top:9px}
 .portfolio-accordion{margin:0;padding:0}
 .portfolio-accordion>summary{min-height:76px;padding:20px 0;gap:15px}
 .portfolio-accordion>summary h3{font-family:SovMod,Georgia,serif;font-size:clamp(12px,3.3vw,15px);font-weight:400;line-height:1.75;letter-spacing:.3px;max-width:none;flex:1;margin:0;border:0;padding:0;text-transform:uppercase}
 .accordion-icon{width:30px;height:36px;flex:0 0 30px;display:grid;place-items:center;font-size:30px}
 .portfolio-accordion .client-grid,.portfolio-accordion .enterprise-case-grid{grid-template-columns:minmax(0,1fr);gap:29px;padding:3px 0 28px}
 .client-image{width:100%}.client-image img{width:100%;aspect-ratio:1.5;object-fit:cover}
 .client-image span{width:44px;height:44px;font-size:23px;right:10px;bottom:10px}
 .clients .client-grid figcaption{padding-top:16px;max-width:none}
 .client-grid figcaption strong{font-size:13px;line-height:1.7}
 .clients .client-grid figcaption p,.clients .enterprise-case-grid p{font-size:15px;line-height:1.8;letter-spacing:0;margin-top:11px;text-align:justify;text-align-last:left;hyphens:none}
 .enterprise-case-grid h3{font-size:16px;line-height:1.6;margin-bottom:12px}
 .enterprise-case-grid article+article{border-top:1px solid var(--line);padding-top:24px}
 .portfolio-accordion .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;padding:8px 0 28px}
 .logo-grid img{height:62px;width:100%;object-fit:contain}
 .meetings{padding:48px 0}
 .meetings-header{margin-bottom:30px}
 .meetings-header h2{font-size:clamp(43px,11vw,62px);line-height:1.08;margin:0}
 .meeting-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .meeting-photo{max-width:410px;width:100%;padding:0;margin:0 auto}
 .meeting-photo>img{height:auto;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 65%}
 .meeting-price{position:static;padding:18px 0 0;gap:5px;width:auto;height:auto;transform:none;border:0}
 .meeting-price>span{font-size:33px}.meeting-price>span small{font-size:12px}.meeting-price p{font-size:12px}
 .meeting-copy h3{font-size:19px;line-height:1.6}
 .meeting-list{margin:20px 0}
 .meeting-list li{grid-template-columns:30px minmax(0,1fr);gap:12px;font-size:15px;line-height:1.75;padding:10px 0}
 .meeting-list span{font-size:27px}
 .meeting-outcome{font-size:27px;line-height:1.35;margin:23px 0}
 .meeting-dates{margin:25px 0}.meeting-dates p{font-size:14px;gap:15px;align-items:baseline;padding:14px 0}.meeting-dates time{font-size:21px;white-space:nowrap}
 .meeting-copy>.button{width:100%}
 .contact{grid-template-columns:minmax(0,1fr);gap:34px;padding-top:52px;padding-bottom:40px}
 .contact-visual{width:min(90%,330px);max-width:330px;margin:auto}
 .contact-visual img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:52% center}
 .contact-copy h2{font-size:clamp(42px,10.8vw,60px);line-height:1.12;margin:16px 0 23px}
 .contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:none}
 .contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;margin-top:24px}
 .contact-links a{min-height:48px;font-size:14px;justify-content:space-between;gap:10px;padding:11px 0}
 .site-footer{gap:12px;padding-top:21px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .site-footer .wordmark{font-size:clamp(12px,3.6vw,16px)}
 .back-top{font-size:11px;gap:10px;min-height:44px}.back-top span{width:44px;height:44px;flex-shrink:0}
 dialog{width:calc(100% - 24px);max-width:600px;max-height:calc(100dvh - 32px);padding:56px 22px 25px;border-radius:18px;overscroll-behavior:contain}
 .dialog-close{width:44px;height:44px;right:10px;top:8px;font-size:32px}
 #dialog-title{font-size:22px;line-height:1.5;overflow-wrap:break-word}
 #dialog-body .service-content{font-size:15px;line-height:1.75}
 #dialog-body .meeting-list li{font-size:15px}
 .dialog-contact{width:100%;min-height:50px;margin-top:22px}
 #image-dialog{width:calc(100% - 20px);padding:54px 10px 18px}
 #lightbox-image{max-height:70dvh;object-fit:contain}
 #lightbox-caption{font-size:13px;line-height:1.6;padding-inline:8px;overflow-wrap:break-word}
}
@media(max-width:359px){
 :root{--gutter:16px}.service-card,.activation-card{padding:19px}.hero .hero-lead{font-size:23px}.site-header .wordmark{font-size:14px}.site-footer{flex-wrap:wrap}.contact-links{gap:8px 16px}.portfolio-accordion>summary h3{font-size:12px}.service-term{letter-spacing:.3px}.service-actions .button,.activation-card .service-actions .button{font-size:9px;letter-spacing:.4px}
}
@media(max-width:767px) and (orientation:landscape){dialog{max-height:calc(100dvh - 16px)}.site-header nav{max-height:calc(100svh - 72px)}}

/* Final typography and portfolio alignment, October 23. */
.hero h1.hero-lead{font:400 22px/1.65 Manrope,Arial,sans-serif;letter-spacing:0;max-width:540px;white-space:normal}
#invitation{background:#e4dc9b}
#clients .portfolio-category-title{font:400 17px/1.6 SovMod,Georgia,serif;letter-spacing:.4px;text-transform:uppercase;margin:0;padding:0;border:0;max-width:none}
#clients .client-grid figure,#clients .client-grid figcaption,#clients .enterprise-case-grid article{min-width:0;width:100%;max-width:none}
#clients figcaption strong{display:block;width:100%;text-align:left}
#clients figcaption p,#clients .enterprise-case-grid p{width:100%;max-width:none;text-align:justify;text-align-last:left;hyphens:auto}
#clients .institutions{margin:0;padding:26px 0 0;border-top:1px solid var(--line)}
#clients .institutions .logo-grid{margin-top:26px;padding-bottom:26px}
.meeting-copy>h3,.meeting-copy>h3 strong{font-weight:700}
@media(max-width:767px){
 .hero h1.hero-lead{font-size:18px;line-height:1.65;max-width:none;margin:20px 0}
 #clients .portfolio-category-title{font-size:clamp(12px,3.3vw,15px);line-height:1.75;letter-spacing:.3px}
 #clients .institutions .logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
}

/* Language navigation and Russian typography. */
.site-header{flex-wrap:wrap}.language-switch{display:flex;align-items:center;gap:9px;font:12px/1.3 Manrope,Arial,sans-serif;letter-spacing:.8px;margin-left:auto}.language-switch a{display:grid;place-items:center;min-width:32px;min-height:44px}.language-switch [aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:5px}.site-header nav{margin-left:24px}
.ru-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px}.ru-principles article{border-top:1px solid var(--line);padding-top:22px}.ru-number{font:italic 30px Cormorant,Georgia,serif}.ru-principles h4{font:500 20px/1.5 Manrope,Arial,sans-serif;margin:10px 0 16px}.ru-principles p{font-size:15px;line-height:1.85}.ru-portfolio-intro{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:38px;font-size:16px;line-height:1.8}
html[lang=ru] .hero h1.hero-lead{font-family:Cormorant,Georgia,serif;font-size:clamp(36px,3.8vw,52px);line-height:1.2}
html[lang=ru] .hero-support{font-size:17px;line-height:1.8}html[lang=ru] .section-heading h2{font-size:clamp(44px,5.5vw,76px)}html[lang=ru] .service-card h3{font-size:clamp(18px,2vw,25px);line-height:1.55;overflow-wrap:anywhere}html[lang=ru] .service-term{letter-spacing:.6px}html[lang=ru] .button{letter-spacing:.6px}html[lang=ru] .contact-copy h2{font-size:clamp(38px,4vw,56px)}html[lang=ru] .service-card{min-width:0}html[lang=ru] .service-card:last-child:not(.activation-card){grid-column:1/-1}
@media(max-width:1024px){.site-header nav{margin-left:0;gap:16px}.language-switch{margin-left:auto}}
@media(max-width:767px){.site-header{flex-wrap:nowrap;gap:12px}.language-switch{gap:3px;font-size:11px}.language-switch a{min-width:28px}.site-header .menu-toggle{flex-shrink:0}.site-header nav{margin-left:0}.ru-principles,.ru-portfolio-intro{grid-template-columns:minmax(0,1fr);gap:26px}.ru-principles h4{font-size:18px}.ru-portfolio-intro{font-size:15px;margin-bottom:28px}html[lang=ru] .hero h1.hero-lead{font-size:35px;line-height:1.25}html[lang=ru] .hero-support{font-size:16px}html[lang=ru] .site-header .wordmark{font-size:clamp(11px,3vw,15px)}html[lang=ru] .service-card h3{font-size:19px}html[lang=ru] .section-heading h2{font-size:43px}html[lang=ru] .contact-copy h2{font-size:38px}html[lang=ru] .meeting-copy h3{font-family:Manrope,Arial,sans-serif;font-size:18px}}

.ru-experience{padding-top:75px;padding-bottom:75px}.ru-experience h2{margin:14px 0 36px}.ru-experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.ru-experience-grid p{font-size:14px;line-height:1.8;border-top:1px solid var(--line);padding-top:18px}.ru-experience-grid strong{display:block;font-size:19px;line-height:1.5;margin-bottom:10px}.ru-experience-note{margin-top:36px;max-width:760px}@media(max-width:1024px){.ru-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.ru-experience{padding-top:48px;padding-bottom:48px}.ru-experience-grid{grid-template-columns:1fr;gap:22px}.ru-experience h2{font-size:52px}}

/* Consistent vector arrows, hero sequence and meeting photographs. */
.arrow-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;flex-shrink:0}.button .arrow-icon{width:26px;height:26px}.client-image .arrow-icon{width:25px;height:25px}.contact-links .arrow-icon,.site-header nav .arrow-icon{width:18px;height:18px}.back-top .arrow-icon{width:22px;height:22px}
.hero-copy{grid-column:1;grid-row:1;padding-bottom:0;align-self:end}.hero-art{grid-column:2;grid-row:1/3}.hero-after{grid-column:1;grid-row:2;align-self:start;padding-bottom:30px}.hero-after .hero-support{margin:22px 0 30px}
.meeting-copy>h3{font-family:SovMod,Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.4px;line-height:1.65}.meeting-copy>h3 strong{font-weight:inherit}
.meeting-carousel{margin-top:56px;padding-top:32px;border-top:1px solid #eee9d744;min-width:0}.meeting-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.meeting-track::-webkit-scrollbar{display:none}.meeting-slide{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}.meeting-slide img{width:100%;aspect-ratio:3/4;object-fit:cover}.meeting-gallery-controls{display:flex;justify-content:space-between;align-items:center;padding-top:20px;gap:18px}.meeting-gallery-controls button{width:48px;height:48px;background:none;border:1px solid #eee9d766;color:inherit;display:grid;place-items:center}.meeting-gallery-controls button:disabled{opacity:.35}.meeting-gallery-count{font-size:12px;letter-spacing:2px}.meeting-track:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:767px){
 .hero{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-copy{display:block;order:0;padding:0}.hero-art{order:1;margin:24px auto 0}.hero-after{order:2;padding:0}.hero-after .hero-support{margin:28px 0 24px}.hero-after>.button{width:100%;margin:0}
 .hero h1.hero-lead,html[lang=ru] .hero h1.hero-lead{font-family:Cormorant,Georgia,serif;font-weight:400;font-size:clamp(30px,8.1vw,39px);line-height:1.15;letter-spacing:0;margin:22px 0 0;max-width:none}.hero h1.hero-lead strong{font-weight:600}
 .meeting-copy>h3,html[lang=ru] .meeting-copy>h3{font-family:SovMod,Georgia,serif;font-size:17px;line-height:1.65;font-weight:400}
 .meeting-carousel{margin-top:36px;padding-top:24px}.meeting-track{gap:16px}.meeting-slide{flex-basis:88%}.meeting-gallery-controls{padding-top:16px}
}
