/* One locally hosted family for Russian and English, including the wordmark. */
@font-face{font-family:Ratata;src:url(assets/fonts/inter-tight-variable.ttf) format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--text-size:clamp(20px,1.8vw,26px);--text-leading:1.16;--text-tracking:-.035em}
body{font-family:Ratata,Arial,sans-serif;font-weight:350;letter-spacing:var(--text-tracking);line-height:var(--text-leading)}
button,input,textarea,select{font-family:inherit}
h1,h2,h3,p,a,li,span,button{font-family:inherit}
h1,h2,h3{font-weight:350}
header .header-note{font-size:16px;letter-spacing:var(--text-tracking)}
.language-switch button{font-family:inherit;font-weight:350;letter-spacing:-.045em}
.opening h1.make{letter-spacing:-.065em;line-height:.92}
.hero-lead{font-size:clamp(30px,3.1vw,48px);line-height:1.04;letter-spacing:-.045em}
.hero-detail{font-size:var(--text-size);line-height:var(--text-leading);letter-spacing:var(--text-tracking);max-width:24ch;margin-top:22px;text-wrap:pretty}
.hero-actions{margin-top:24px}
.hero-actions .text-link{font-size:20px;line-height:1.2;letter-spacing:var(--text-tracking)}
.section-heading{align-items:baseline;margin-bottom:32px}
.section-heading h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.05em;line-height:1.02}
.section-heading .eyebrow{font-size:16px;letter-spacing:var(--text-tracking)}
.primary-service{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.8fr) minmax(80px,.65fr);gap:36px;align-items:start;padding:32px 0}
.primary-service h3{font-size:clamp(34px,4vw,56px);line-height:1.02;letter-spacing:-.045em}
.primary-service p,.primary-service p+p{font-size:var(--text-size);line-height:var(--text-leading);letter-spacing:var(--text-tracking);max-width:40ch;text-wrap:pretty}
.primary-service p+p{margin-top:20px}
.primary-service .service-swatch{align-self:center;max-width:100%}
.production-extra{margin-top:24px}
.production-extra h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.045em;line-height:1.05}
.production-extra .production-stages{font-size:var(--text-size);line-height:1.35;letter-spacing:var(--text-tracking)}
.secondary-merch .agency15-card h2{font-size:32px;line-height:1.05;letter-spacing:-.045em}
.experience{grid-template-columns:160px minmax(0,1fr);align-items:baseline;padding:32px 0;margin-top:32px}
.experience h2{font-size:22px;line-height:1.2;letter-spacing:var(--text-tracking)}
.experience ul{font-size:clamp(22px,2.1vw,30px);line-height:1.3;letter-spacing:var(--text-tracking);gap:8px 0}
.contact-head{display:grid;grid-template-columns:160px minmax(0,1fr);gap:26px;align-items:start}
.contact-head>span{font-size:22px;line-height:1.2;letter-spacing:var(--text-tracking)}
.contact-head p{font-size:var(--text-size);line-height:var(--text-leading);letter-spacing:var(--text-tracking);max-width:38ch;text-wrap:pretty;margin:0}
.contact-invitation{font-size:clamp(56px,9vw,130px);line-height:1;letter-spacing:-.06em;margin:56px 0 44px}
.footer-links{font-size:22px;line-height:1.2;letter-spacing:var(--text-tracking)}
.footer-signature>span:first-child{font-size:18px;letter-spacing:var(--text-tracking)}
@media(max-width:800px){
 .primary-service{grid-template-columns:minmax(110px,.65fr) minmax(0,1.5fr);gap:24px}
 .primary-service .service-swatch{display:none}
 .experience{grid-template-columns:1fr;gap:14px}
 .contact-head{grid-template-columns:1fr;gap:20px}
 .hero-detail{max-width:32ch}
}
@media(max-width:480px){
 :root{--pad:24px;--text-size:22px}
 .production-opening{padding-bottom:32px}
 .hero-lead{font-size:34px}
 .hero-detail{margin-top:18px}
 .hero-actions{margin-top:20px;margin-bottom:8px}
 .section{padding-top:36px;padding-bottom:36px}
 .films{padding-top:8px}
 .section-heading{gap:16px;margin-bottom:24px;flex-wrap:wrap}
 .section-heading h2{font-size:42px}
 .section-heading .eyebrow{font-size:16px}
 .primary-service{grid-template-columns:1fr;gap:18px;padding:26px 0}
 .primary-service h3{font-size:38px}
 .primary-service p+p{margin-top:16px}
 .production-extra{padding:24px;gap:20px}
 .secondary-merch{padding:0}
 .secondary-merch .agency15-card h2{font-size:28px}
 .experience{padding:28px 0;margin-top:28px}
 .experience ul{font-size:24px;line-height:1.3}
 .contact-head p{max-width:30ch}
 .contact-invitation{font-size:clamp(48px,13vw,64px);margin:38px 0 32px;line-height:1.04}
 .footer-links{font-size:21px;gap:24px}
 .footer-signature>span:first-child{font-size:16px}
}

/* The invitation stays on the left; supporting copy sits to its right. */
.contact-head{display:flex;justify-content:flex-end}
.contact-head p{width:58%;max-width:38ch}
.footer-signature{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.footer-signature .footer-farewell{font-size:22px;line-height:1.2;letter-spacing:var(--text-tracking)}
.footer-signature>span:last-child{font-size:18px;letter-spacing:var(--text-tracking)}
@media(max-width:800px){.contact-head p{width:72%;max-width:32ch}}
@media(max-width:480px){.contact-head p{width:88%;max-width:28ch}.footer-signature .footer-farewell{font-size:21px}.footer-signature>span:last-child{font-size:16px}}

/* A printed credit strip, with a small signal mark clear of the names. */
.experience{position:relative;isolation:isolate;grid-template-columns:150px minmax(0,1fr);gap:24px;margin:32px var(--pad);padding:30px 32px 32px;border:0;border-left:4px solid var(--blue);background:#f7f7f2;overflow:hidden}
.experience:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue) 0 17%,var(--green) 17% 25%,transparent 25%)}
.experience:after{content:'';position:absolute;right:22px;top:16px;width:64px;height:12px;background:repeating-linear-gradient(90deg,var(--blue) 0 2px,transparent 2px 6px,var(--blue) 6px 7px,transparent 7px 11px);opacity:.45;pointer-events:none}
.experience h2{color:var(--blue);font-size:24px;line-height:1.1;margin-top:3px}
.experience ul{position:relative;padding-top:1px;padding-right:0;font-size:clamp(24px,2.2vw,32px);line-height:1.28;gap:12px 0}
.experience li:not(:last-child):after{content:'·';color:var(--pink);margin:0 14px}
.experience:hover:after{animation:credits-signal .55s steps(1) 1}
@keyframes credits-signal{0%,100%{transform:none;opacity:.45}20%{transform:translateX(-6px);box-shadow:5px 0 var(--pink);opacity:1}42%{transform:translateX(3px);clip-path:inset(35% 0 0)}65%{transform:translateX(-2px);box-shadow:-4px 0 var(--green)}}
@media(max-width:1100px){.experience{grid-template-columns:1fr;gap:22px}.experience h2{padding-right:80px}}
@media(max-width:480px){.experience{margin:24px var(--pad);padding:24px 20px 26px;gap:22px}.experience h2{font-size:22px}.experience ul{font-size:25px;gap:10px 0}.experience li:not(:last-child):after{margin:0 10px}.experience:after{right:18px;top:25px;width:48px}}
@media(prefers-reduced-motion:reduce){.experience:hover:after{animation:none}}

.experience ul{font-size:var(--text-size);line-height:var(--text-leading)}

/* Original video service rows, extended with a creative row. */
.service-row{grid-template-columns:1.05fr 1.25fr 120px;gap:24px;padding:26px 0}
.service-row h3{font-size:clamp(25px,2.8vw,43px);line-height:1.06;letter-spacing:-.045em}
.service-row p,.service-row p+p{font-size:var(--text-size);line-height:var(--text-leading);letter-spacing:var(--text-tracking);max-width:34ch;text-wrap:pretty}
.service-row p+p{margin-top:14px}
.swatch-creative{background:repeating-linear-gradient(-35deg,var(--pink) 0 3px,transparent 3px 14px),var(--green);clip-path:polygon(0 0,100% 12%,90% 100%,8% 90%);transform:rotate(4deg)}
.cycle h2{font-size:clamp(35px,4.3vw,65px);letter-spacing:-.045em}
.cycle .production-stages{font-size:var(--text-size);line-height:1.4;letter-spacing:var(--text-tracking)}
@media(max-width:1000px){.service-row{grid-template-columns:1fr 1.1fr;gap:24px}.service-row .service-swatch{display:none}}
@media(max-width:480px){.service-row{grid-template-columns:1fr;gap:16px;padding:25px 0}.service-row h3{font-size:32px}.service-row>div:not(.service-swatch){grid-column:auto}.cycle h2{font-size:36px}.cycle .production-stages{font-size:21px}}

.process-tracks{min-width:0;display:grid;gap:26px}
.process-track h3{font-size:22px;line-height:1.1;color:var(--blue);letter-spacing:var(--text-tracking);margin-bottom:12px}
.process-track+.process-track{border-top:1px solid #14151333;padding-top:24px}
.process-track .production-stages{font-size:var(--text-size);line-height:1.4}
@media(max-width:480px){.process-tracks{gap:22px}.process-track h3{font-size:21px}.process-track+.process-track{padding-top:22px}}
