/* ===== Lens — page layouts (desktop 1440). Вертикальные отступы подогнаны под макет. ===== */

/* --- typography fitted to the mockup (Jost + letter-spacing .03em) --- */
:root{--ls:.03em}
.lead{font-size:33.5px;line-height:48px;max-width:742px}
.chip{font-size:16.6px}
@media (min-width:1440px){
body:not(.home) .header .btn{margin-left:2px}
}
.cmp{font-size:28px}
.cmp p{max-width:800px}
.step__h{font-size:42.5px}
.step__h b{font-size:34px}
.step p{font-size:21.4px}
.svc__row{font-size:27.5px}
.niche h3{font-size:37.6px}
.niche p{font-size:21.3px;max-width:none}
.statement p{font-size:34.4px}
.feat__i h3{font-size:30.7px}
.feat__i p{font-size:19px}
.feats__sub,.pricing__sub{font-size:21px;line-height:30px}
.case h3{font-size:37.2px}
.case small{font-size:21.7px}
.case p{font-size:26.9px}
.price__c h3{font-size:35.4px}
.price__v{font-size:33px}
.price__c p{font-size:20.6px}
.ceo__bubble p{font-size:20.6px}
.ceo__cap{font-size:24px}
.smi__r p{font-size:21.2px}
.post h3{font-size:22.9px}
.post p{font-size:18.8px}
.faq__q{font-size:38.7px}
.faq__a p{font-size:21.1px}
.btn{font-size:19.8px}
.field input,.field textarea{font-size:19.8px}
.note{font-size:12.2px;max-width:486px}
.formsec__txt p{font-size:20.6px}

/* --- vertical rhythm (home) --- */
.hero + .clients{margin-top:30px}
.s-lead{padding-top:136px}
.noconv{padding-top:147px}
.noconv h2{margin-bottom:75px}
.cmp{margin-left:auto;margin-right:auto}
.cmp + .cmp{margin-left:auto}
.cta{margin-top:80px}
.noconv .cta{margin-top:79px}
.approach{padding-top:147px;padding-bottom:87px}
.approach .grid3{margin-top:78px}
.step{padding-bottom:63px}
.step__h{padding-bottom:30px;line-height:43px}
.step p{margin-top:30px;max-width:398px}
.formsec{padding-top:120px;padding-bottom:100px}
.formsec h2{margin-top:-24px}
.svc{padding-top:147px}
.svc h2{margin-bottom:-2px}
.svc__row{padding:78px 0}
.svc__row:nth-last-child(2){border-bottom:0;padding-bottom:78px}
.svc .cta{margin-top:4px}
.nich{padding-top:149px}
.nich h2{margin-bottom:75px}
.statement{margin-top:150px;padding:101px 0 99px}
.statement p{max-width:972px;margin-left:174px;line-height:47px}
.statement p + p{max-width:860px}
.feats{padding-top:147px;padding-bottom:70px}
.feats__sub{margin-top:27px;margin-bottom:78px}
.feat__i{height:349px}
.feat__i img{width:80px;height:80px}
.feat__i h3{margin-top:53px;line-height:38px}
.feat__i p{margin-top:19px;line-height:27px;max-width:545px}
.formsec--share{padding-bottom:95px}
.formsec--share .formsec__txt h2{margin-top:-19px}
.formsec--share .formsec__txt p{margin-top:38px;line-height:30px}
.cases{padding-top:150px}
.cases h2{margin-bottom:0}
.cases .sec-head{margin-bottom:13px}
.case{padding:62px 0 60px;grid-template-columns:558px 1fr auto}
.case:last-child{border-bottom:0}
.case h3{line-height:43px}
.case small{line-height:24px;margin-top:15px}
.case__tags{margin-top:42px}
.pricing{padding-top:89px}
.pricing__sub{margin-top:26px;margin-bottom:60px}
.price__c{padding-top:54px}
.price__c h3{margin-top:60px;line-height:38px}
.price__v{margin-top:35px;line-height:36px}
.price__c p{margin-top:31px;line-height:30px}
.ceo-sec{padding-top:150px}
.ceo__bubble{padding:52px 60px 0}
.ceo__bubble h3{line-height:44px}
.ceo__bubble p{margin-top:40px}
.ceo__bubble p + p{margin-top:10px}
.ceo__cap{margin-top:65px;line-height:36px}
.ceo-sec .cta{margin-top:79px}
.smi{padding-top:147px}
.smi h2{margin-bottom:77px}
.smi__r:last-child{padding-bottom:0}
.smi__r h3{line-height:43px}
.smi__r p{margin-top:15px}
.blog-sec{padding-top:147px}
.blog-sec h2{margin-bottom:0}
.blog-sec .sec-head{margin-bottom:75px}
.post h3{margin-top:30px}
.post p{margin-top:14px;min-height:84px;line-height:28px}
.post .more{margin-top:0}
.faq{padding-top:147px;padding-bottom:0}
.faq h2{margin-bottom:35px}
.faq__q{padding:42px 0 39px;line-height:46px}
.faq__i.is-open .faq__a{margin-top:-10px}
.faq__a > div{padding-bottom:0}
.faq__i.is-open .faq__a > div{padding-bottom:39px}
.faq__a p{padding-bottom:0}
.faq__a p + p{margin-top:30px}
.formsec--final{margin-top:110px;padding-bottom:96px}
.footer{padding-top:80px}
.footer__l p{margin-top:49px}
.footer__nav{margin-top:63px}
.footer__nav b{margin-bottom:25px}
.footer__nav a{margin-bottom:22px}
.footer__r{margin-top:25px;display:flex;flex-direction:column;align-items:flex-end}
.footer__mail{line-height:74px;font-size:63.8px;border-bottom-width:6px;padding-bottom:8px}
.footer__tel{margin-top:55px;line-height:74px;font-size:63.8px}
.footer__soc{margin-top:33px}
.footer__bot{margin-top:38px;height:88px}

/* ===================== ABOUT & CONTACTS (Ubuntu body) ===================== */
body.about main,body.contacts main{font-family:'Ubuntu',sans-serif;letter-spacing:0}
body.about .formsec2,body.contacts .formsec2{font-family:'Ubuntu',sans-serif}

.a-hero{position:relative;display:block;height:699px}
.a-hero__txt{padding-top:130px}
.a-hero h1{font-size:64.8px;line-height:74px;letter-spacing:0;max-width:880px}
.a-hero p{font-size:21.2px;font-weight:300;line-height:28px;margin-top:37px;max-width:408px}
.ring{position:absolute;left:950px;top:112px;width:410px;height:420px}
.ring__dots{position:absolute;inset:0;width:100%;height:100%;animation:spin 16s linear infinite}
.ring__check{position:absolute;left:50%;top:50%;width:100px;height:100px;margin:-50px 0 0 -48px;animation:pulse 3.2s ease-in-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}

.a-mission{position:relative;height:520px;padding-top:0}
.a-mission h2{font-size:59.4px;line-height:75px;letter-spacing:0}
.a-mission p{font:300 32px/38px 'Ubuntu',sans-serif;margin-top:34px;max-width:680px}
.glow{position:absolute;left:640px;top:-97px;width:700px;height:710px;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%);animation:glow 6s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}

.a-rating{position:relative;padding-bottom:35px}
.a-rating h2{font-size:59.4px;line-height:75px;letter-spacing:0}
.a-rating > p{font:300 32px/38px 'Ubuntu',sans-serif;margin-top:30px}
.a-rating__box{background:var(--white);color:var(--bg);height:450px;margin-top:53px;text-align:center;padding-top:132px}
.a-rating__box h3{font-size:59.4px;line-height:70px;letter-spacing:0}
.a-rating__box p{font-size:29.5px;line-height:35px;margin-top:26px;max-width:1100px;margin-left:auto;margin-right:auto}
.chev{display:block;width:80px;height:140px;margin:32px auto 0;animation:nudge 2.4s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}

.formsec2{padding:70px 0 95px}
.formsec2 h2{font-size:59.3px;line-height:80px;letter-spacing:0}
.form--wide{display:grid;grid-template-columns:648px 649px;column-gap:23px;margin-top:36px}
.form--wide .fcol{display:flex;flex-direction:column;gap:11px}
.form--wide .fcol:last-child{gap:21px}
.form--wide .field textarea{height:142px}
.form--wide .btn--dark{height:60px}
.form--wide .note{margin-top:-8px}
.form--wide .field input{padding:0 23px}

.c-hero{display:grid;grid-template-columns:1fr 380px;height:472px}
.c-hero__txt{padding-top:70px}
.c-hero h1{font-size:64.8px;line-height:80px;letter-spacing:0}
.c-hero p{font-size:21.4px;line-height:28px;margin-top:62px}
.phone-big{width:355px;height:295px;margin:77px 0 0 -42px;animation:wiggle 5s ease-in-out infinite;transform-origin:70% 60%}
@keyframes wiggle{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(-7deg)}92%{transform:rotate(6deg)}95%{transform:rotate(-4deg)}98%{transform:rotate(2deg)}}
.c-info{display:flex;align-items:flex-start;height:312px}
.c-info__i{display:flex;flex-direction:column;align-items:center;flex:none}
.c-info__i > img{width:44px;height:44px;object-fit:contain}
.c-info__i:nth-child(1){width:196px;margin-left:2px}
.c-info__i:nth-child(2){width:272px;margin-left:143px}
.c-info__i:nth-child(3){width:150px;margin-left:190px}
.c-info__i:nth-child(4){width:230px;margin-left:133px;align-items:flex-start}
.c-info__i:nth-child(4) > img{margin-left:62px}
.c-tel{margin-top:30px;font:700 22.6px/1.2 'Ubuntu',sans-serif;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:3px;white-space:nowrap}
.c-mail{margin-top:34px;font:700 22.9px/1.2 'Ubuntu',sans-serif;white-space:nowrap;transition:opacity .3s}
.c-mail:hover,.c-tel:hover{opacity:.7}
.c-soc{display:flex;gap:14px;margin-top:34px}
.c-soc a{width:40px;height:40px;transition:transform .3s var(--ease)}
.c-soc a:hover{transform:translateY(-4px) rotate(-6deg)}
.c-soc img{width:40px;height:40px}
.c-hours{margin-top:29px;font:400 22.1px/29px 'Ubuntu',sans-serif;white-space:nowrap}
.c-hours b{font-weight:700}

/* tag: наклон не должен перебиваться .rv */
.tag{font-size:18.6px;transform:rotate(-2.4deg);opacity:0;animation:tagIn .9s .2s var(--ease) forwards}
@keyframes tagIn{from{opacity:0;transform:rotate(-8deg) translateY(20px)}to{opacity:1;transform:rotate(-2.4deg)}}
.formsec--share .formsec__txt p{max-width:500px}
.case__tags span{font-size:19px;padding:0 16px}

.pricing__sub{max-width:990px}
.price__c p{max-width:290px;margin-left:auto;margin-right:auto}

.ceo__bubble p:first-of-type{max-width:520px}
.ceo__bubble::after{left:-19px;bottom:-7px;width:60px;height:36px}

.post p{font-size:18.3px;letter-spacing:.012em}
.faq__q span:first-child{max-width:840px}
.faq__i.is-open .faq__ic::before{transform:rotate(45deg)}
.faq__i.is-open .faq__ic::after{transform:rotate(45deg)}
.faq__q{letter-spacing:.02em}

.formsec--final .formsec__txt p{max-width:740px}
.faq__i:last-child{border-bottom:0}
.faq__q{font-weight:500}

body.home .footer__tel{font-size:58.5px}
.footer__nav{font-size:18.6px}
.footer__l p{font-size:18.8px}
.footer__bot{font-size:16.8px}

/* footer on about/contacts is taller than on home */
body.about .footer,body.contacts .footer{padding-top:90px}
body.about .footer__r,body.contacts .footer__r{margin-top:-9px}
body.about .footer__nav,body.contacts .footer__nav{margin-top:44px}
body.about .footer__bot,body.contacts .footer__bot{margin-top:77px;height:176px;align-items:flex-start;padding-top:35px}

/* header on about/contacts: smaller nav type, per mockup */
@media (min-width:1440px){
body:not(.home) .nav{font-size:17.2px}
body:not(.home) .nav a{margin-right:47px}
body:not(.home) .nav a:nth-child(1){margin-right:49px}
body:not(.home) .nav a:nth-child(2){margin-right:46.5px}
body:not(.home) .nav a:nth-child(3){margin-right:44.5px}
body:not(.home) .nav a:nth-child(4){margin-right:42.5px}
body:not(.home) .nav a.header__phone{font-size:18px;margin-right:0}
body:not(.home) .nav__sep{margin-right:38px;margin-left:-2px}
}

@media (min-width:1440px){
body:not(.home) .nav a:nth-child(5){margin-right:32px}
body:not(.home) .header__soc{margin-left:31px}
}

.a-rating__box p{max-width:1200px}
.chev{transform:translateX(-18px)}
@keyframes nudge{0%,100%{transform:translate(-18px,0)}50%{transform:translate(-18px,10px)}}

/* contacts-specific tuning */
body.contacts .c-hero__txt{padding-top:95px}
body.contacts .c-hero p{margin-top:48px}
body.contacts .phone-big{margin-left:-20px;margin-top:70px}
body.contacts .c-info{height:312px}
body.contacts .c-info__i > img{width:48px;height:48px}
body.contacts .formsec2{padding:23px 0 108px}
body.contacts .form--wide{margin-top:16px}
body.contacts .formsec2 h2{margin-top:0}
body.contacts .footer{padding-top:71px}
body.contacts .footer__bot{height:154px;margin-top:46px;padding-top:36px;align-items:flex-start}
body.contacts .footer__nav{margin-top:27px}

/* ===== внутренние страницы: кейсы, блог, политика ===== */
.in-hero{padding-top:36px;padding-bottom:70px}
.in-hero h1{font-size:69.5px;line-height:80px}
.in-hero p{font-size:21px;line-height:30px;margin-top:22px;max-width:560px}
.in-list{padding-bottom:40px}
.in-case{display:grid;grid-template-columns:420px 1fr;column-gap:80px;padding:60px 0;border-top:1px solid var(--line)}
.in-case h2{font-size:44px;line-height:52px}
.in-case small{display:block;font-size:20px;margin-top:10px}
.in-case .case__tags{margin-top:28px}
.in-case__lead{font-size:26px;line-height:34px}
.in-case__b p + p{font-size:19px;line-height:30px;margin-top:20px;max-width:760px}
.in-res{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px}
.in-res li{border:1px solid #fff;border-radius:26px;padding:10px 22px;font-size:17px;transition:background .3s,color .3s}
.in-res li:hover{background:#fff;color:var(--bg)}
.in-post{display:grid;grid-template-columns:520px 1fr;column-gap:60px;padding:50px 0;border-top:1px solid var(--line)}
.in-post .im{overflow:hidden}
.in-post img{width:100%;height:320px;object-fit:cover;transition:transform .8s var(--ease)}
.in-post:hover img{transform:scale(1.05)}
.in-post h2{font-size:38px;line-height:46px}
.in-post p{font-size:19px;line-height:30px;margin-top:20px}
.in-post .more{margin:26px 0 0;font-size:17px}
.in-text{max-width:900px;padding-bottom:40px}
.in-text h2{font-size:30px;line-height:38px;margin-top:44px}
.in-text p{font-size:19px;line-height:30px;margin-top:12px}
.in-text a{text-decoration:underline}
.inner .in-case:target,.inner .in-post:target{animation:flash 1.6s ease}
@keyframes flash{0%{background:rgba(255,255,255,.12)}100%{background:transparent}}
.inner .footer{margin-top:60px}
