
    :root{--bg:#f2f2ee;--paper:#fafaf7;--ink:#0b0b0b;--muted:#686866;--line:#c9c9c3;--line-dark:#2b2b2b;--dark:#0c0c0c;--dark-2:#151515;--white:#f7f7f3;--gutter:3.308rem;--max:1540px;}
    *{box-sizing:border-box;}
    html{scroll-behavior:smooth;scrollbar-gutter:stable;}
    body{margin:0;background:var(--bg);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.35;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
    body.is-preloading{overflow:hidden;}
    .site-preloader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:var(--bg);transform:translate3d(0,0,0);transition:transform .82s cubic-bezier(.76,0,.24,1),border-radius .82s cubic-bezier(.76,0,.24,1);will-change:transform;}
    .site-preloader__content{display:flex;flex-direction:column;align-items:flex-start;}
    .site-preloader__mask{width:20.625rem;overflow:hidden;}
    .site-preloader__logo{display:block;width:100%;height:auto;transform:translate3d(0,105%,0);animation:preloaderLogo .78s cubic-bezier(.76,0,.24,1) .18s forwards;animation-play-state:paused;}
    .site-preloader__descriptor-mask{margin-top:1.125rem;overflow:hidden;}
    .site-preloader__descriptor{margin:0;color:var(--muted);font-size:1rem;line-height:1.3;letter-spacing:-.015em;white-space:nowrap;transform:translate3d(0,110%,0);animation:preloaderDescriptor .62s cubic-bezier(.76,0,.24,1) .9s forwards;animation-play-state:paused;}
    body.preloader-ready .site-preloader__logo, body.preloader-ready .site-preloader__descriptor{animation-play-state:running;}
    body.preloader-leaving .site-preloader{transform:translate3d(0,-103%,0);border-radius:0 0 2.5rem 2.5rem;}
    @keyframes preloaderLogo{
    to{transform:translate3d(0,0,0);}}
    @keyframes preloaderDescriptor{
    to{transform:translate3d(0,0,0);}}
@media(max-width:620px){
    .site-preloader__mask{width:17.0625rem;}
    .site-preloader__descriptor-mask{margin-top:0.875rem;}
    .site-preloader__descriptor{font-size:0.853125rem;}
    body.preloader-leaving .site-preloader{border-radius:0 0 1.5rem 1.5rem;}
}
@media(prefers-reduced-motion:reduce){
    .site-preloader__logo,.site-preloader__descriptor{animation-duration:.01ms;animation-delay:0s;}
    .site-preloader{transition-duration:.28s;}
}
    a{color:inherit;text-decoration:none;}
    button,input,textarea{font:inherit;}
    .page{overflow:clip;}
    .wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin:0 auto;}
    .eyebrow{display:block;text-transform:uppercase;color:var(--muted);}
    .kicker{text-transform:uppercase;color:var(--muted);}
    .section{padding:var(--section-pad) 0;border-top:1px solid var(--line);}
    .section.dark{background:var(--dark);color:var(--white);border-color:var(--line-dark);}
    .section.dark .eyebrow,.section.dark .kicker,.section.dark .muted{color:var(--dark-faint);}
    .section.dark .hair{border-color:var(--line-dark);}
    .section-head{display:grid;grid-template-columns:minmax(10.625rem,.7fr) minmax(0,2.3fr);align-items:start;margin-bottom:var(--section-head-space);}
    h1,h2,h3,p{margin:0;}
    h1{max-width:82.5rem;}
    h2{max-width:78.75rem;}
    .lead{max-width:56.25rem;color:var(--text-soft);}
    .dark .lead{color:var(--dark-lead);}
    .muted{color:var(--muted);}
    .small{font-size:0.875rem;line-height:1.45;}
    .hair{border-top:1px solid var(--line);}
    .section-intro{margin-top:var(--intro-space);}
    .content-space{margin-top:3.875rem;}
    .case-lead{margin-top:1.125rem;color:var(--dark-lead);}
    .about-lead{font-size:1.25rem;}
    .note-space{margin-top:1.25rem;color:var(--muted);}
    .final-note{margin-top:1rem;color:#777;}
    .quote-band.spaced{margin-top:3.75rem;}
    /* Header */ .topbar{position:sticky;top:0;z-index:30;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(242,242,238,.84);border-bottom:1px solid rgba(11,11,11,.14);}
    .nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
    .brand{display:flex;gap:0.75rem;align-items:center;font-weight:600;letter-spacing:-.02em;min-width:0;}
    .brand-mark{font-size:1.125rem;line-height:1;letter-spacing:-.04em;flex:0 0 auto;}
    .brand-copy{display:grid;gap:0.1875rem;min-width:0;}
    .brand-domain{font-size:0.625rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);white-space:nowrap;}
    .brand-logo{display:block;height:auto;}
    .brand-rotator{position:relative;overflow:hidden;color:var(--muted);}
    .phrase-mobile{display:none;}
    .brand-phrase{position:absolute;inset:0;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateY(8px);animation:brandPhrase 20s ease-in-out infinite;}
    .brand-phrase:nth-child(2){animation-delay:4s;}
    .brand-phrase:nth-child(3){animation-delay:8s;}
    .brand-phrase:nth-child(4){animation-delay:12s;}
    .brand-phrase:nth-child(5){animation-delay:16s;}
    @keyframes brandPhrase{
    0%{opacity:0;transform:translateY(8px);}
    4%,16%{opacity:1;transform:translateY(0);}
    20%,100%{opacity:0;transform:translateY(-8px);}}
    .navlinks{display:flex;align-items:center;gap:1.5rem;}
    .navlinks a{border-bottom:1px solid transparent;padding:0.5rem 0;}
    .navlinks a:hover{border-color:currentColor;}
    .navlinks .nav-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;border-radius:62.4375rem;font-weight:600;line-height:1;white-space:nowrap;}
    /* Hero */ .hero{padding:4.135rem 0 3rem;}
    .hero-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(15.625rem,.85fr);gap:6.2025rem;align-items:stretch;}
    .hero-grid>*{min-width:0;}
    .hero h1 em{font-style:normal;color:#767674;}
    .desktop-break{display:none;}
    .hero-side{display:flex;flex-direction:column;justify-content:flex-end;gap:1.75rem;padding-bottom:0;}
    .hero-side .process-line{margin-top:0;padding-top:1.5rem;border-top:1px solid var(--line);}
    .hero-actions{display:flex;flex-wrap:wrap;}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:0.75rem;border:1px solid var(--ink);font-weight:600;transition:.25s ease;}
    .btn.primary{background:var(--ink);color:#fff;}
    .btn:hover{transform:translateY(-2px);}
    .btn.secondary:hover{background:#e5e5df;}
    .process-line{display:flex;flex-wrap:wrap;margin-top:1.875rem;}
    .chip-group{display:inline-flex;flex-wrap:nowrap;gap:inherit;}
@media(max-width:620px){
    .chip-group{display:contents;}
}
    .chip{text-transform:uppercase;border:1px solid var(--line);color:var(--text-soft);}
    .ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--paper);cursor:grab;touch-action:pan-y;user-select:none;}
    .ticker.is-dragging{cursor:grabbing;}
    .ticker-track{display:flex;width:max-content;will-change:transform;}
    .ticker-item{flex:0 0 auto;border-right:1px solid var(--line);display:grid;gap:0.3125rem;align-content:center;}
    .ticker-item strong{white-space:nowrap;}
    .ticker-item span{text-transform:uppercase;color:var(--muted);white-space:nowrap;}
    .ticker-dot{display:inline-block;margin-right:0.4375rem;color:#999;}
    /* Compare */ .compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
    .compare-col{padding-top:4.25rem;background:var(--dark-2);color:var(--white);}
    .compare-col:first-child .compare-title span, .compare-col:first-child .step-num, .compare-col:first-child .step p{color:#a8a8a2;}
    .compare-col:first-child .step{border-color:#383838;}
    .compare-col+ .compare-col{border-left:1px solid var(--line);background:var(--paper);color:var(--ink);}
    .compare-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.375rem;}
    .compare-title span{text-transform:uppercase;color:var(--muted);}
    .steps{display:grid;gap:0;}
    .step{display:grid;grid-template-columns:2.625rem minmax(0,1fr);gap:1rem;border-top:1px solid var(--line);}
    .step:first-child{border-top:0;}
    .step-num{color:var(--muted);padding-top:0.25rem;}
    .step p{color:var(--muted);margin-top:0.3125rem;max-width:32.5rem;}
    .quote-band{margin-top:2.375rem;padding:1.375rem 0 0;border-top:1px solid var(--line);font-size:2.6875rem;line-height:1.02;letter-spacing:-.04em;font-weight:500;}
    /* 3 questions */ .question-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
    .question{border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;}
    
    .question:last-child{border-right:0;}
    .question .num{color:var(--muted);}
    .question h3{margin:2.125rem 0 1.75rem;}
    .question p{color:var(--muted);max-width:29.375rem;}
    .question .tags{display:flex;flex-wrap:wrap;gap:0.4375rem;margin-top:1.75rem;}
    .section.dark .chip{color:#deded8;border-color:#686864;}
    .section.dark .question .num,.section.dark .question p{color:var(--dark-muted);}
    /* Portfolio */ .projects{display:grid;grid-template-columns:repeat(2,1fr);gap:4.135rem 1.125rem;}
    .project{display:block;}
    .project-media{aspect-ratio:16/10;background:#d7d7d1;overflow:hidden;position:relative;border-radius:0.125rem;}
    .project-media::after{content:"Открыть сайт ↗";position:absolute;right:1.125rem;bottom:1.125rem;background:#fff;color:#111;padding:0.5625rem 0.75rem;border-radius:62.4375rem;opacity:0;transform:translateY(8px);transition:.25s;}
    .project:hover .project-media::after{opacity:1;transform:none;}
    .project-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
    .project:hover .project-media img{transform:scale(1.015);}
    .project-meta{display:flex;flex-direction:column;align-items:flex-start;gap:0.5rem;margin-top:0.875rem;padding-top:0.75rem;border-top:1px solid var(--line);}
    .project-meta h4{margin:0;}
    .project-meta span{color:var(--muted);text-transform:none;text-align:left;}
    .project--extra{display:none;}
    .projects.is-expanded .project--extra{display:block;}
    .projects-more{display:flex;justify-content:center;margin-top:3.625rem;}
    .projects-toggle{min-width:15rem;cursor:pointer;background:#fff;color:var(--ink);border-color:#fff;}
    .projects-toggle:hover{background:#e7e7e7;border-color:#e7e7e7;}
    .projects-toggle[aria-expanded="true"]{display:none;}
    /* Asset */ .asset-grid{display:grid;grid-template-columns:minmax(10.625rem,.7fr) minmax(0,2.3fr);gap:5.16875rem;}
    .asset-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);}
    .asset-item{border-bottom:1px solid var(--line);}
    .asset-item:nth-child(even){border-left:1px solid var(--line);}
    .asset-item b{display:block;margin-bottom:0.5rem;}
    .asset-item p{color:var(--muted);max-width:22.5rem;}
    /* Tasks */ .task-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);}
    .task{border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-start;}
    .task:nth-child(even){border-right:0;}
    .task .label{text-transform:uppercase;color:var(--muted);}
    .task h3{max-width:40.625rem;margin:1.75rem 0;}
    .task p{color:var(--muted);max-width:37.5rem;}
    .task-tags{display:flex;flex-wrap:wrap;margin-top:1.5rem;}
    .task-link{display:inline-flex;align-items:center;gap:0.5rem;margin-top:auto;padding-top:1.75rem;font-weight:600;border-bottom:1px solid currentColor;align-self:flex-start;}
    /* Case */ .case-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
    .case-panel{background:#f0f0eb;border:1px solid var(--line-dark);color:#111;}
    .dark .case-panel{background:#111;color:var(--white);}
    .case-panel h3{margin:1.125rem 0 2.125rem;}
    .case-points{display:grid;gap:0;border-top:1px solid var(--line-dark);}
    .case-point{padding:1.125rem 0;border-bottom:1px solid var(--line-dark);display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1.25rem;}
    .case-point span{color:var(--dark-faint);letter-spacing:-.04em;font-weight:500;}
    .case-point p{color:var(--dark-lead);}
    .case-result{margin-top:auto;}
    .case-metrics{margin-top:4.375rem;border-top:1px solid var(--line-dark);}
    .case-metric{padding:1.75rem 0;border-bottom:1px solid var(--line-dark);}
    .case-metric .case-result{margin-top:1.125rem;}
    .case-metric p{margin-top:1.125rem;color:var(--dark-muted);max-width:36.25rem;}
    /* Cycle */ .cycle{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);}
    .cycle-item{border-right:1px solid var(--line);}
    .cycle-item+ .cycle-item{padding-left:1rem;}
    .cycle-item:last-child{border-right:0;}
    .cycle-item span{color:var(--muted);}
    .cycle-item b{display:block;margin-top:3rem;}
    .cycle-note{font-size:2.6875rem;line-height:1.02;letter-spacing:-.04em;font-weight:500;margin-top:4.375rem;max-width:none;}
    /* About */ .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:6.2025rem;}
    .portrait{min-height:41.25rem;background:linear-gradient(135deg,#dadad5,#bdbdb8);position:relative;overflow:hidden;}
    .portrait img{display:block;width:100%;height:100%;object-fit:cover;}
    .about-copy{display:flex;flex-direction:column;justify-content:space-between;}
    .about-copy .big{font-size:4rem;line-height:.98;letter-spacing:-.05em;}
    .responsibility{display:grid;grid-template-columns:1fr 1fr;margin-top:3.4375rem;}
    .resp-col{border-top:1px solid var(--line);padding-top:1rem;}
    .resp-col h4{text-transform:uppercase;margin:0 0 1.375rem;}
    .resp-col ul{list-style:none;padding:0;margin:0;display:grid;color:var(--muted);}
    .about-mission{margin-bottom:2.375rem;}
    .about-mission h3{font-size:2.25rem;margin:1rem 0 1.375rem;}
    .about-mission p{font-size:1.0625rem;line-height:1.45;color:var(--muted);max-width:47.5rem;}
    .result-definition{padding-top:1.375rem;border-top:1px solid var(--line);}
    .result-definition h4,.involvement h4,.achievements-head h3{margin:0 0 1.125rem;font-size:0.8125rem;text-transform:uppercase;letter-spacing:.1em;}
    .result-definition ul{list-style:none;padding:0;margin:0;display:grid;color:var(--muted);}
    .result-definition li::before{content:"— ";color:#999;}
    .result-definition p{margin:0;max-width:35rem;}
    .about-cycle{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);}
    .about-cycle__inner>h3{margin:0 0 1.875rem;}
@media(min-width:992px){
    .about-cycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.25rem;}
    .about-cycle__inner{grid-column:2 / -1;}
    .about-cycle .cycle{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(min-width:992px) and (max-width:1199px){
    .about-cycle{grid-template-columns:repeat(3,minmax(0,1fr));}
}
    .involvement{border-top:1px solid var(--line);}
    .involvement-grid{display:grid;grid-template-columns:repeat(3,1fr);}
    .involvement-item{padding-right:1rem;}
    .involvement-item b{display:block;margin-bottom:0.4375rem;}
    .involvement-item p{color:var(--muted);}
    .achievements{margin-top:5.625rem;}
    .achievements-head{display:grid;grid-template-columns:minmax(10.625rem,.7fr) minmax(0,2.3fr);gap:5.16875rem;margin-bottom:2.375rem;}
    .achievement-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
    .achievement{padding:1.625rem 1.375rem 1.875rem 0;border-right:1px solid var(--line);min-height:11.25rem;}
    .achievement+ .achievement{padding-left:1.375rem;}
    .achievement:last-child{border-right:0;}
    .achievement strong{display:block;font-size:3rem;line-height:1;letter-spacing:-.05em;margin-bottom:0.875rem;}
    .achievement p{font-size:0.8125rem;line-height:1.4;color:var(--muted);}
    .achievement-note{font-size:0.75rem;color:var(--muted);margin-top:1rem;max-width:47.5rem;}
    /* Fit */ .fit-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
    .fit-card{border-right:1px solid var(--line);}
    
    .fit-card:last-child{border-right:0;}
    .fit-card .no{color:var(--muted);}
    .fit-card h3{margin:1.625rem 0 1.125rem;}
    .fit-card p{color:var(--muted);max-width:28.75rem;}
    .fit-match{margin-top:4rem;display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;}
    .fit-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);}
    .fit-list li{border-bottom:1px solid var(--line);color:var(--text-soft);}
    .fit-list li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:0.875rem;align-items:start;}
    .fit-list li::before{content:"";width:1.125rem;height:1.125rem;margin-top:0.125rem;background:#777;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
    .fit-warning{margin-top:1.75rem;padding:1.25rem 0;border-top:1px solid var(--line);color:var(--muted);max-width:56.25rem;}
    .fit-list + .fit-warning{margin-top:0;padding-top:1.75rem;border-top:0;}
    /* Formats */ .formats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
    .format{display:flex;flex-direction:column;background:var(--paper);}
    .format+.format{border-left:1px solid var(--line);}
    .format .no{color:var(--muted);}
    .format h3{margin:1.875rem 0 1.375rem;}
    .format p{color:var(--muted);}
    .format-label{display:block;margin-top:1.625rem;color:var(--muted);}
    .format ul{padding:0;list-style:none;display:grid;}
    .format ul li{display:grid;grid-template-columns:1.125rem minmax(0,1fr);gap:0.625rem;align-items:start;color:var(--text-soft);}
    .format ul li::before{content:"";width:1rem;height:1rem;margin-top:0.125rem;background:#777;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
    .format .btn{margin-top:auto;align-self:flex-start;}
    /* FAQ */ .faq{border-top:1px solid var(--line-dark);}
    .faq-item{border-bottom:1px solid var(--line-dark);}
    .faq-q{width:100%;background:none;border:0;color:inherit;text-align:left;padding:1.5rem 0;display:grid;grid-template-columns:minmax(0,1fr) 2.125rem;gap:1.25rem;cursor:pointer;}
    .faq-q i{font-style:normal;font-size:1.375rem;transition:.25s;}
    .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
    .faq-a p{padding:0 4.375rem 1.75rem 0;color:#aaa;max-width:56.25rem;}
    .faq-item.open .faq-q i{transform:rotate(45deg);}
    /* Final */ .final{padding:10rem 0;background:#deded8;}
    .final-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:7.5rem;}
    .five{margin-top:3.75rem;border-top:1px solid #aaa;}
    .five-row{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.125rem 0;border-bottom:1px solid #aaa;font-size:1.125rem;}
    .five-row span{font-size:0.6875rem;color:#777;padding-top:0.25rem;}
    .final-grid .form-block{background:#fff;color:#0a0a0a;align-self:start;}
    .final-grid .form-block h3{margin-bottom:1.125rem;}
    .field{margin-bottom:1.125rem;}
    .field label{display:block;font-size:0.625rem;letter-spacing:.1em;text-transform:uppercase;color:#888;margin-bottom:0.5rem;}
    .field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #444;color:#fff;padding:0.8125rem 0;outline:none;}
    .field textarea{min-height:5.75rem;resize:vertical;}
    .final-grid .form-block .btn{border-color:#0a0a0a;background:#0a0a0a;color:#fff;margin-top:1.125rem;width:100%;}
    footer{background:#0b0b0b;color:#777;padding:1.875rem 0;}
    .footer-grid{display:flex;justify-content:space-between;gap:1.875rem;font-size:0.75rem;}
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease;}
    .reveal.visible{opacity:1;transform:none;}
    .hero-thesis{max-width:47.5rem;margin-top:1.875rem;padding-top:0;border-top:0;color:#222;}
@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    .brand-phrase{animation:none;opacity:0;transform:none;}
    .brand-phrase:first-child{opacity:1;}
    .hero-grain{animation:none;}
}
@media(min-width:992px){
    .desktop-break{display:block;}
}
@media(max-width:991px){
    .navlinks a:not(.nav-cta){display:none;}
    .hero-grid,.section-head,.asset-grid,.about-grid,.final-grid{grid-template-columns:1fr;}
    .section-head,.asset-grid{gap:1.25rem;}
    .achievements-head{grid-template-columns:1fr;gap:1.25rem;}
    .hero-grid{align-items:start;}
    .achievement-grid{grid-template-columns:repeat(2,1fr);}
    .achievement{border-bottom:1px solid var(--line);}
    .achievement:nth-child(even){border-right:0;}
    
    .fit-grid{grid-template-columns:1fr;}
    .fit-card,.fit-card+ .fit-card{border-right:0;border-bottom:1px solid var(--line);}
    .fit-match{grid-template-columns:1fr;}
    .involvement-grid{grid-template-columns:1fr;}
    .compare,.projects,.case-wrap{grid-template-columns:1fr;}
    .compare-col+.compare-col{border-left:0;border-top:1px solid var(--line);}
    .question-grid{grid-template-columns:1fr;}
    .question,.question:nth-child(2),.question:nth-child(3){border-right:0;border-bottom:1px solid var(--line);}
    .task-list{grid-template-columns:1fr;}
    .task,.task:nth-child(even){border-right:0;}
    .cycle{grid-template-columns:repeat(3,1fr);}
    .cycle-item:nth-child(3){border-right:0;}
    .cycle-item:nth-child(-n+3){border-bottom:1px solid var(--line);}
    .formats{grid-template-columns:1fr;}
    .format+.format{border-left:0;border-top:1px solid var(--line);}
    .format .btn{margin-top:0;}
    .portrait{min-height:31.25rem;}
}
@media(max-width:620px){
    .nav{gap:0.625rem;}
    .brand{gap:0.5rem;}
    .brand-mark{font-size:1.0625rem;}
    .brand-copy{gap:0.125rem;}
    .brand-domain{font-size:0.5rem;letter-spacing:.1em;}
    .phrase-desktop{display:none;}
    .phrase-mobile{display:inline;}
    .hero{padding-top:2.125rem;}
    h1{overflow-wrap:anywhere;}
    .hero-side .lead{overflow-wrap:anywhere;}
    .hero-thesis{overflow-wrap:anywhere;}
    .compare-title{flex-direction:column;align-items:flex-start;gap:0.5rem;margin-bottom:1.125rem;}
    .step{grid-template-columns:1fr;gap:0.5rem;}
    .step-num{padding-top:0;}
    .case-point{grid-template-columns:1fr;gap:0.625rem;}
    .ticker-track{animation-duration:38s;}
    .achievement-grid{grid-template-columns:1fr;}
    .achievement,.achievement+ .achievement{padding:1.5rem 0;border-right:0;border-bottom:1px solid var(--line);}
    .asset-list,.responsibility{grid-template-columns:1fr;}
    .asset-item:nth-child(even){border-left:0;}
    .cycle{grid-template-columns:1fr;}
    .cycle-item,.cycle-item+ .cycle-item{padding:1.125rem 0;border-right:0;border-bottom:1px solid var(--line)!important;min-height:auto;}
    .cycle-item b{margin-top:1.375rem;}
    .quote-band{margin-top:1.875rem;padding-top:1.25rem;}
    .footer-grid{flex-direction:column;}
}
    /* ========================================================= FABRICA-INSPIRED DESIGN SYSTEM Content-rich adaptation, not a section-for-section copy. ========================================================= */ :root{--bg:#f5f5f5;--paper:#fff;--ink:#0a0a0a;--muted:rgba(10,10,10,.6);--line:rgba(10,10,10,.16);--line-dark:rgba(255,255,255,.18);--dark:#0a0a0a;--dark-2:#121212;--white:#fff;--radius:18px;--radius-panel:25px;
      /* Текст на тёмном — три ступени вместо девяти близких значений */
      --dark-lead:#d1d1cc;   /* лид-абзацы */
      --dark-muted:#a8a8a2;  /* основной вторичный текст */
      --dark-faint:#9e9e98;  /* метки, номера */
      --text-soft:#333;      /* текст списков на светлом */--gutter:4.1875rem;/* 67px  — боковой отступ секции в макете 1654 */
      --max:95rem;/* 1520px — контейнер в макете 1654 */
      --hero-gutter:1.25rem;/* 20px  — hero шире контейнера, тянется всегда */
      --section-pad:10.751rem;--section-head-space:7.23625rem;--intro-space:28px;}
    body{background:var(--bg);font-family:"Inter","Inter Placeholder",Arial,sans-serif;font-weight:500;line-height:1.4;letter-spacing:-.04em;}
    ::selection{background:#383838;color:#fff;}
    /* ============================================================ WIZARDRY — единая база масштаба. Все размеры на сайте задаются в em от font-size у body, а сам body привязан к ширине окна. Меняя одно число, пропорционально масштабируем весь макет. Десктоп: макет 1654px, базовый кегль 16px. зум активен 1280 … 1654 заморожен ≥1654 16px заморожен ≤1279 12.3821px (= 1280 / 1654 × 16) Мобильный: макет 390px, базовый кегль 16px. зум активен 320 … 480 заморожен 480…809 19.6923px (= 480 / 390 × 16) заморожен ≤320 13.1282px Порядок правил важен: побеждает последнее подходящее. ============================================================ */ html{font-size:0.967351874244256vw;}
    /* 16 / 1654 */ @media(min-width:1654px){
    html{font-size:1rem;}}
@media(max-width:1279px){
    html{font-size:0.773881rem;}
}
@media(max-width:991px){
    html{font-size:4.102564102564103vw;}
}
    /* 16 / 390 */ @media(max-width:991px) and (min-width:480px){
    html{font-size:1.230769rem;}}
@media(max-width:320px){
    html{font-size:0.820513rem;}
}
    body{font-size:1rem;}
    .wrap{width:min(calc(100% - var(--gutter)*2),var(--max));}
    .section{border-top:0;}
    .section.dark{border-color:transparent;}
    .eyebrow,.kicker{text-transform:none;color:var(--muted);}
    .eyebrow::before,.kicker::before{content:"+";display:inline-block;margin-right:0.5625rem;}
    h1{max-width:92.5rem;}
    h2{max-width:88.75rem;text-wrap:balance;}
    .small{font-size:0.8125rem;line-height:1.4;}
    .hair{border-color:var(--line);}
    .section-head{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--section-head-space);}
    .section-head>.eyebrow{grid-column:1;}
    .section-head>div:last-child{grid-column:2 / -1;}
    .section-intro{max-width:47.5rem;}
    /* Header follows Fabrica's compact distributed rhythm. */ .topbar{background:rgba(245,245,245,.92);border:0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:none;}
    .brand{font-weight:600;gap:0.625rem;}
    .brand-mark{font-size:1.25rem;}
    .brand-domain{font-size:0.75rem;line-height:1;letter-spacing:-.04em;text-transform:none;font-weight:600;}
    .brand-phrase{text-transform:none;}
    .navlinks{display:grid;grid-template-columns:repeat(5,auto);gap:2.27425rem;margin-left:auto;}
    .navlinks a{padding:0.25rem 0;letter-spacing:-.04em;}
    .navlinks .nav-cta{min-height:2.625rem;border:1px solid #fff;border-radius:3.125rem;background:#fff;color:#0a0a0a;display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;font-weight:500;box-shadow:none;transition:background-color .25s ease,border-color .25s ease;}
    .navlinks .nav-cta:hover{background:#e7e7e7;border-color:#e7e7e7;box-shadow:none;}
    /* Fabrica-style full-screen navigation. */ .menu-toggle{position:relative;z-index:102;width:3rem;height:2.125rem;margin-left:2.27425rem;padding:0;border:0;background:transparent;cursor:pointer;flex:0 0 auto;}
    .menu-toggle span{position:absolute;left:0.125rem;width:2.75rem;height:0.125rem;background:var(--ink);transition:top .3s ease,transform .3s ease;}
    .menu-toggle span:first-child{top:0.625rem;}
    .menu-toggle span:last-child{top:1.375rem;}
    .menu-toggle[aria-expanded="true"] span:first-child{top:1rem;transform:rotate(28deg);}
    .menu-toggle[aria-expanded="true"] span:last-child{top:1rem;transform:rotate(-28deg);}
    .menu-overlay{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto 1fr auto;padding:1.125rem var(--gutter) 1.5rem;background:#f7f7f7;color:var(--ink);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .28s ease,visibility 0s linear .28s;}
    .menu-overlay.is-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;}
    body.menu-open{overflow:hidden;}
    body.menu-open .topbar{z-index:101;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;}
    body.menu-open .navlinks{visibility:hidden;}
    .menu-overlay-head{display:flex;justify-content:space-between;align-items:flex-start;}
    .menu-overlay-logo{font-size:1.125rem;font-weight:600;letter-spacing:-.05em;}
    .menu-nav{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:flex-start;gap:1.03375rem;transform:translateY(-2vh);}
    .menu-nav a{position:relative;font-weight:500;transition:color .2s ease,transform .2s ease;}
    .menu-nav a:hover{color:#777;transform:translateX(10px);}
    .menu-nav a::after{content:attr(data-index);position:absolute;top:.08em;left:calc(100% + 0.625rem);font-size:0.75rem;line-height:1;letter-spacing:-.03em;color:var(--muted);}
    .menu-overlay-foot{display:grid;grid-template-columns:37% minmax(0,1fr) auto;gap:1.5rem;align-items:end;}
    .menu-contact, .menu-secondary-link{position:relative;display:inline-block;width:max-content;padding-bottom:0.3125rem;border-bottom:1px solid currentColor;transition:color .3s ease;}
    .menu-contact:hover{color:var(--muted);}
    .menu-overlay-note{width:max-content;letter-spacing:-.035em;color:var(--muted);}
    .menu-secondary-link{color:var(--muted);}
    .menu-secondary-link:hover{color:var(--ink);}
    /* Hero: oversized statement, quiet support copy, four-column logic. */ .hero{padding:1.25rem 0 0.75rem;}
    .hero>.wrap{--hero-radius:var(--radius-panel);width:calc(100% - var(--hero-gutter)*2);max-width:none;position:relative;isolation:isolate;overflow:hidden;background:var(--dark);color:#fff;border-radius:var(--hero-radius);-webkit-clip-path:inset(0 round var(--hero-radius));clip-path:inset(0 round var(--hero-radius));-webkit-mask-image:-webkit-radial-gradient(white,black);transform:translateZ(0);contain:paint;display:flex;flex-direction:column;}
    .hero>.wrap::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.58);pointer-events:none;border-radius:inherit;}
    .hero-bg-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.06);pointer-events:none;border-radius:inherit;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;}
    .hero-grain{position:absolute;inset:-30%;z-index:2;pointer-events:none;opacity:.42;mix-blend-mode:overlay;background-image:url("../assets/hero-grain.svg");background-repeat:repeat;background-size:170px 170px;filter:contrast(1.35);animation:hero-grain-shift .24s steps(2,end) infinite;}
    .hero-grain::after{content:"";position:absolute;inset:0;background:inherit;background-size:96px 96px;opacity:.38;mix-blend-mode:screen;transform:rotate(90deg) scale(1.02);}
    .hero>.wrap > :not(.hero-bg-video):not(.hero-grain){position:relative;z-index:3;}
    @keyframes hero-grain-shift{
    0%{transform:translate3d(0,0,0);}
    25%{transform:translate3d(2%,-1%,0);}
    50%{transform:translate3d(-1%,2%,0);}
    75%{transform:translate3d(1%,1%,0);}
    100%{transform:translate3d(-2%,-1%,0);}}
    .hero .eyebrow{color:var(--dark-faint);}
    .hero-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.25rem;align-items:end;flex:1;}
    .hero-grid>div:first-child{grid-column:1 / -1;align-self:start;}
    .hero-side{grid-column:3 / -1;padding-top:8.27rem;gap:2.125rem;}
    .hero h1 em{color:rgba(255,255,255,.5);}
    .hero-thesis, .hero-side .lead{color:var(--dark-lead);}
    .hero-thesis{max-width:45rem;}
    .btn{justify-content:space-between;gap:3rem;font-weight:600;letter-spacing:-.04em;text-align:left;transition:background-color .25s ease,color .25s ease,border-color .25s ease;}
    .btn:hover{transform:none;}
    .btn::after, .navlinks .nav-cta::after, .task-link::after{content:"";flex:0 0 auto;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19L19 5M9 5h10v10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19L19 5M9 5h10v10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
    .btn:hover::after{transform:none;}
    .hero .btn.secondary::after{transform:rotate(135deg);}
    .hero .btn.secondary:hover::after{transform:rotate(135deg);}
    .hero .btn.primary{background:#fff;color:#0a0a0a;border-color:#fff;}
    .hero .btn.secondary{border-color:rgba(255,255,255,.4);color:#fff;}
    .hero .btn.primary:hover{background:#e7e7e7;border-color:#e7e7e7;}
    .hero .btn.secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7);}
    .chip{text-transform:none;}
    .process-line,.tags,.task-tags{border-top:1px solid var(--line);}
    .section.dark .process-line, .section.dark .tags, .section.dark .task-tags, .hero .process-line{border-top-color:rgba(255,255,255,.18);}
    .hero .chip{color:var(--dark-lead);border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.045);}
    /* Metrics become a row of compact editorial modules. */ .ticker{margin:0.75rem var(--hero-gutter) 0;border:0;border-radius:var(--radius);background:#fff;}
    .ticker-item{border-color:var(--bg);}
    .ticker-item span{text-transform:none;}
    /* Шапка и бегущая строка идут по ширине hero, а не контейнера. Исключение для 1600+ снято: отступы задаются токенами --gutter (контейнер, 67px) и --hero-gutter (hero, 20px) и работают одинаково на всех ширинах. */ .topbar .wrap{width:calc(100% - var(--hero-gutter)*2);max-width:none;}
    /* Shared surfaces and cards. */ .compare,.formats{border:0;border-radius:var(--radius-panel);gap:0.25rem;background:var(--bg);}
    .compare-col,.format{border:0!important;}
    .compare-col:first-child{background:var(--dark);}
    .compare-col+.compare-col{background:#fff;}
    .compare-title span,.task .label,.format .no{text-transform:none;}
    .step{grid-template-columns:2.625rem minmax(0,1fr);}
    .quote-band{font-size:3.75rem;line-height:1;letter-spacing:-.06em;font-weight:600;}
    /* Unified section endings: divider across the container, H3 on column two. */ .section-outro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.25rem;margin-top:4.375rem;padding-top:2rem;border-top:1px solid var(--line);}
    .section-outro h3{grid-column:2 / -1;max-width:73.75rem;}
    .section-outro--nested{display:block;}
    .section-outro--nested h3{max-width:62.5rem;}
    .section.dark .section-outro{border-color:rgba(255,255,255,.18);}
    .question-grid,.task-list,.asset-list,.fit-grid,.achievement-grid,.cycle{border-color:var(--line);}
    .question,.task,.asset-item,.fit-card,.achievement,.cycle-item{border-color:var(--line);}
    .question{padding-top:1.875rem;}
    .question h3{margin-top:4rem;}
    .question .num + h3, .fit-card .no + h3, .format .no + h3{margin:1.5rem 0 1.125rem;}
    /* One visual language for editorial cards on dark sections. */ .section.dark .question-grid{gap:0.25rem;border:0;}
    .section.dark .question{min-height:31.25rem;padding:1.875rem!important;border:0;border-radius:var(--radius);background:#151515;justify-content:flex-start;}
    .section.dark .question .num{color:var(--dark-faint);}
    .section.dark .question h3{margin:1.5rem 0 1.125rem;color:#fff;}
    .section.dark .question p{margin:0 0 1.5rem;padding:0;border:0;color:var(--dark-muted);}
    .section.dark .question .tags{margin-top:auto;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);}
    .section.dark .question .chip{color:var(--dark-lead);border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.04);}
    .project{background:#fff;overflow:hidden;}
    .project-media{border-radius:0.75rem;aspect-ratio:16/11;}
    .project-meta{border:0;margin:0;padding:1.25rem 1rem 0.875rem;min-height:5.75rem;}
    .project-meta span{text-transform:none;}
    .project-media::after{display:none;}
    .project:hover .project-media img,.project:active .project-media img{transform:none;}
    .asset-grid,.achievements-head{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.25rem;}
    .asset-grid>div:first-child,.achievements-head>.eyebrow{grid-column:1;}
    .asset-grid>div:last-child,.achievements-head>div:last-child{grid-column:2 / -1;}
    .asset-list{border:0;background:transparent;}
    .asset-item{border:0!important;background:#fff;}
    .asset-list + .quote-band{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line);}
    .task-list{border:0;background:transparent;}
    .task{border:0!important;background:#fff;}
    .task-tags{margin-top:1.5rem;}
    .task-link{margin-top:1.75rem;border:1px solid #0a0a0a;background:#0a0a0a;color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;align-self:flex-start;font-weight:600;letter-spacing:-.04em;transition:background-color .25s ease,border-color .25s ease;}
    .task-link:hover{background:#272727;border-color:#272727;}
    .case-panel{display:flex;flex-direction:column;border:0;background:#151515!important;}
    .case-panel>.task-link{margin-top:auto;background:#fff;color:#0a0a0a;border-color:#fff;}
    .case-panel>.task-link:hover{background:#e7e7e7;border-color:#e7e7e7;}
    .case-panel:has(>.task-link) .case-metrics{margin-bottom:2.375rem;}
    .case-point,.case-metrics,.case-metric{border-color:rgba(255,255,255,.18);}
    .cycle{display:grid;border:0;}
    .cycle-item{background:#fff;border:0;}
    .portrait{border-radius:var(--radius);width:100%;height:53.375rem;min-height:0;aspect-ratio:auto;align-self:start;justify-self:stretch;position:sticky;top:7rem;}
    .about-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.25rem;}
    .portrait{grid-column:1 / 3;}
    .about-copy{grid-column:3 / -1;background:#fff;}
    .about-copy .big{font-weight:600;}
    .about-copy .kicker{margin-bottom:1rem;}
    .about-copy .about-mission p{color:var(--muted);}
    .about-copy .about-lead{max-width:47.5rem;color:var(--ink);}
    .about-copy .about-lead b{color:inherit;font-weight:inherit;}
    .responsibility,.result-definition,.involvement{border-color:var(--line);}
    .result-definition{padding-top:0;border-top:0;}
    .resp-col{padding-top:0;border-top:0;}
    .resp-col h4, .result-definition h4, .involvement h4, .involvement-note{margin:0 0 1.5rem;text-transform:none;}
    .result-definition ul{border-top:1px solid var(--line);}
    .result-definition li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:0.875rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--line);font-size:0.9375rem;color:var(--text-soft);}
    .result-definition li::before{content:"";width:1.125rem;height:1.125rem;margin-top:0.0625rem;background:#777;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
    .achievements-head h2{letter-spacing:-.06em;text-transform:none;}
    .resp-col li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:0.875rem;align-items:start;padding:0.5rem 0;color:var(--text-soft);}
    .resp-col li::before{content:"";width:1.125rem;height:1.125rem;margin-top:0.0625rem;background:#777;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
    .involvement-item b{margin-bottom:0.5rem;}
    .involvement-note{margin-top:2.375rem;padding-top:1.375rem;border-top:1px solid var(--line);color:var(--ink);}
    .achievement-grid{gap:0.25rem;border:0;}
    .achievement{border:0;background:#fff;border-radius:0.875rem;padding:1.5rem!important;min-height:13.125rem;}
    .fit-grid{gap:0.25rem;border:0;}
    .fit-card{background:#fff;border:0;}
@media(min-width:992px){
    .fit-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
    .fit-card:nth-child(1){grid-column:2;}
    .fit-card:nth-child(2){grid-column:3;}
}
@media(min-width:1200px){
    .fit-grid{grid-template-columns:1fr 1.5fr 1.5fr;}
}
    .fit-card h3{margin-top:4.5rem;}
    .fit-list{border-top:0;}
    .fit-list li:first-child{padding-top:0;}
    .fit-list li:last-child{border-bottom:0;}
    .fit-match{grid-template-columns:1fr 1.5fr 1.5fr;}
    .fit-match>div:first-child, .fit-match>div:last-child{padding-top:2rem;border-top:1px solid var(--line);}
    .fit-match>div:first-child{grid-column:2;}
    .fit-match>div:last-child{grid-column:3;}
    .formats{grid-template-columns:repeat(3,1fr);}
    .format{background:#fff;}
    .format h3{margin-top:4.375rem;}
    .format .btn{background:#0a0a0a;color:#fff;}
    .format .btn:hover{background:#272727;border-color:#272727;}
    .faq{border-color:var(--line-dark);}
    .faq-q{padding:1.875rem 0;}
    .section.dark .faq,.section.dark .faq-item{border-color:rgba(255,255,255,.18);}
    .section.dark .faq-a p{color:var(--dark-muted);}
    .section.dark .faq{width:calc(75% - 0.0625rem);margin-left:calc(25% + 0.0625rem);}
    .final{padding:10.3375rem 0;background:#e7e7e7;}
    .final-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.25rem;}
    .final-grid>div{grid-column:1 / 3;padding-right:4.135rem;}
    .final-grid .form-block{grid-column:3 / -1;background:#fff;color:#0a0a0a;box-shadow:0 18px 54px rgba(0,0,0,.07);align-self:stretch;display:flex;flex-direction:column;}
    .form-spacer{flex:1 1 auto;min-height:1.5rem;}
    .form-alt-contact{margin:0;padding-top:1.375rem;border-top:1px solid rgba(10,10,10,.1);text-align:center;color:var(--muted);}
    .form-alt-contact a{color:#0a0a0a;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
    .form-alt-contact a:hover{opacity:.7;}
    .form-status{grid-column:1 / -1;margin:0;text-align:center;color:var(--muted);}
    .form-status:not(:empty){margin-top:0.75rem;min-height:1em;}
    .form-status[data-state="error"]{color:#c0392b;}
    .form-status[data-state="success"]{color:#1a7a3c;}
    .btn[disabled]{opacity:.6;cursor:progress;}
    .five{border-color:rgba(10,10,10,.28);}
    .five-row{border-color:rgba(10,10,10,.28);padding:1.375rem 0;}
    .field input,.field textarea{border-color:rgba(10,10,10,.22);padding:1rem 0;color:#0a0a0a;}
    .field label{font-size:0.75rem;letter-spacing:-.03em;text-transform:none;}
    .final-grid .form-block .btn:hover{background:#252525;border-color:#252525;}
    footer{background:#0a0a0a;padding:2.25rem 0;}
@media(min-width:992px){
    body.menu-open .navlinks{display:flex;visibility:visible;margin-left:auto;}
    body.menu-open .navlinks a:not(.nav-cta){display:none;}
}
@media(min-width:992px) and (max-width:1199px){
    .hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .hero-grid>div:first-child{grid-column:1 / -1;}
    .hero-side{grid-column:2;}
    .section-head{grid-template-columns:repeat(3,minmax(0,1fr));}
    .section-head>div:last-child{grid-column:2 / -1;}
    .section-outro{grid-template-columns:repeat(3,minmax(0,1fr));}
    .fit-match{grid-template-columns:repeat(3,minmax(0,1fr));}
    .fit-match>div:first-child{grid-column:2;}
    .fit-match>div:last-child{grid-column:3;}
    .section.dark .faq{width:calc(66.666% - 0.0625rem);margin-left:calc(33.333% + 0.0625rem);}
}
@media(max-width:991px){
    :root{--gutter:0.625rem;--hero-gutter:0.625rem;}
    .navlinks{display:flex;gap:0;}
    .navlinks{display:none;}
    .menu-toggle{margin-left:auto;}
    .hero{padding-top:0.75rem;}
    .hero>.wrap{--hero-radius:18px;}
    .hero-grid,.section-head,.asset-grid,.achievements-head,.about-grid,.final-grid{grid-template-columns:1fr;gap:2.375rem;}
    .hero-grid>div:first-child,.hero-side,.section-head>.eyebrow,.section-head>div:last-child, .asset-grid>div:first-child,.asset-grid>div:last-child,.achievements-head>.eyebrow,.achievements-head>div:last-child, .portrait,.about-copy,.final-grid>div,.final-grid .form-block{grid-column:1;}
    .hero-side{padding-top:1.5rem;}
    .step{grid-template-columns:1fr;gap:0.75rem;}
    .step-num{padding-top:0;}
    .step b{display:block;}
    .step p{margin-top:0.5rem;}
    .section.dark .question{min-height:auto;}
    .section.dark .question .tags{margin-top:1.5rem;}
    .cycle{grid-template-columns:repeat(2,minmax(0,1fr));}
    .cycle-item, .cycle-item+ .cycle-item{min-height:7.5rem;padding:1.25rem!important;border:0!important;display:flex;flex-direction:column;justify-content:flex-start;}
    .cycle-item b{margin-top:1.25rem;}
    .portrait{width:min(100%,26.25rem);height:auto;min-height:0;aspect-ratio:3 / 4;position:relative;top:auto;}
    .about-mission h3, .resp-col h4, .result-definition h4, .involvement h4, .involvement-note{font-size:1.5rem;}
    .resp-col li{grid-template-columns:1.125rem minmax(0,1fr);gap:0.625rem;padding:0;}
    .formats{grid-template-columns:1fr;}
    .section-outro{display:block;padding-top:1.5rem;}
    .section-outro h3{max-width:none;}
    .fit-match{grid-template-columns:1fr;}
    .fit-match>div:first-child, .fit-match>div:last-child{grid-column:1;}
    .fit-match>div:first-child{padding-top:1.5rem;}
    .fit-match>div:last-child{padding-top:0;border-top:0;}
    .section.dark .faq{width:auto;margin-left:0;}
    .final-grid>div{padding-right:0;}
    .final-grid .form-block{margin-top:1.5rem;}
}
@media(max-width:620px){
    .hero{padding-top:0.5rem;}
    .hero>.wrap{padding-inline:1.125rem;}
    .brand-domain{font-size:0.6875rem;}
    .menu-overlay{padding:0.875rem 0.625rem 1.125rem;}
    .menu-overlay-logo{font-size:0.9375rem;}
    .menu-toggle{width:2.625rem;height:1.875rem;}
    .menu-toggle span{left:0.0625rem;width:2.5rem;}
    .menu-toggle span:first-child{top:0.5625rem;}
    .menu-toggle span:last-child{top:1.3125rem;}
    .menu-toggle[aria-expanded="true"] span:first-child, .menu-toggle[aria-expanded="true"] span:last-child{top:0.9375rem;}
    .menu-nav{justify-self:start;padding-left:3.65625rem;gap:0.625rem;transform:none;}
    .menu-overlay-foot{grid-template-columns:1fr;gap:1.375rem;}
    .menu-overlay-note:last-child{display:block;}
    .hero h1, .hero h1 *{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;}
    .hero-actions{display:grid;}
    .hero-actions .btn{width:100%;min-height:2.875rem;}
    .question .num + h3, .section.dark .question .num + h3, .fit-card .no + h3, .format .no + h3{margin-top:1.25rem;}
    .section.dark .question{min-height:auto;}
    .section.dark .question .tags{margin-top:1.5rem;}
    .task-link{width:100%;}
    .about-mission h3, .resp-col h4, .result-definition h4, .involvement h4, .involvement-note{font-size:1.5rem;line-height:1.05;font-weight:600;letter-spacing:-.045em;margin-bottom:1.125rem;}
}
    /* Smartphone scale: 390px is the reference canvas. Horizontal geometry, type and vertical rhythm grow by the same ratio, so line breaks remain stable between compact Android devices and wider iPhones. */ @media(max-width:620px){
    .brand{gap:0.499931rem;}
    .menu-toggle{width:2.624944rem;height:1.874925rem;}
    .menu-toggle span{left:0.0624rem;width:2.4999rem;height:0.125044rem;}
    .menu-toggle span:first-child{top:0.562575rem;}
    .menu-toggle span:last-child{top:1.312594rem;}
    .menu-toggle[aria-expanded="true"] span:first-child, .menu-toggle[aria-expanded="true"] span:last-child{top:0.937463rem;}
    .hero{padding-top:0.499931rem;}
    .hero>.wrap{--hero-radius:1.124906rem;}
    .hero>.wrap>.eyebrow{margin-bottom:1.749881rem!important;}
    .hero>.wrap>.eyebrow{white-space:nowrap;}
    .hero>.wrap>.eyebrow::before{margin-right:0.562575rem;}
    .hero-grid{gap:2.3751rem;}
    .hero-side{padding-top:1.500038rem;gap:2.125013rem;}
    .hero-actions .btn, .btn{min-height:2.875031rem;padding-inline:1.24995rem;gap:3.000075rem;border-radius:3.125119rem;}
    .step{gap:0.750019rem;padding-block:1.500038rem;}
    .cycle-item,.cycle-item+.cycle-item{min-height:7.499944rem;padding:1.24995rem!important;}
    .cycle-item b{margin-top:1.24995rem;}}
    /* Project discussion modal. */ body.modal-open{overflow:hidden;}
    .project-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1.5rem;background:rgba(0,0,0,.58);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease;}
    .project-modal.is-open{opacity:1;visibility:visible;}
    .project-modal__panel{position:relative;isolation:isolate;width:min(45rem,100%);max-height:calc(100svh - 3rem);overflow:auto;background:#fff;color:#0a0a0a;box-shadow:0 24px 80px rgba(0,0,0,.24);transform:translateY(18px) scale(.985);transition:transform .28s cubic-bezier(.2,.8,.2,1);}
    .project-modal__panel::before{content:none;}
    .project-modal__panel > *{position:relative;z-index:1;}
    .project-modal.is-open .project-modal__panel{transform:none;}
    .project-modal__close{position:absolute;border:0;background:transparent;color:#0a0a0a;cursor:pointer;}
    .project-modal__close::before,.project-modal__close::after{content:"";position:absolute;top:1rem;left:0.375rem;width:2.75rem;height:0.125rem;background:currentColor;transition:transform .2s ease;}
    .project-modal__close::before{transform:rotate(28deg);}
    .project-modal__close::after{transform:rotate(-28deg);}
    .project-modal h2{max-width:36.875rem;margin:0 4.375rem 1.125rem 0;}
    .panel-intro{max-width:36.875rem;margin:0 0 2.125rem;color:var(--muted);}
    .format-modal__block{margin-bottom:1.625rem;}
    .format-modal__block h4{margin:0 0 0.875rem;color:var(--muted);}
    .modal-list{list-style:none;padding:0;margin:0;display:grid;color:var(--text-soft);}
    .modal-list li{display:grid;grid-template-columns:1.125rem minmax(0,1fr);gap:0.625rem;align-items:start;}
    .modal-list li::before{content:"";width:1rem;height:1rem;margin-top:0.125rem;background:#777;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 6.8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
    .format-modal__note{margin:0 0 1.625rem;color:var(--text-soft);max-width:35rem;}
    .format-modal__note--small{margin:-10px 0 1.625rem;color:var(--muted);}
    .format-modal__meta{display:flex;flex-wrap:wrap;gap:1.75rem;margin:0 0 1.75rem;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
    .format-modal__meta-label{display:block;color:var(--muted);}
    .format-modal__meta-value{display:block;margin-top:0.25rem;}
    .format-modal__cta{width:100%;background:#0a0a0a;color:#fff;border-color:#0a0a0a;}
    .format-modal__cta:hover{background:#252525;border-color:#252525;}
    .form{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1rem;}
    .form-field{display:grid;gap:0.5rem;}
    .form-field--wide{grid-column:1 / -1;}
    .form-field label{color:var(--ink);}
    .form-field input,.form-field textarea{width:100%;font-family:Inter,Arial,sans-serif;font-weight:500;letter-spacing:-.025em;border:1px solid transparent;border-radius:0.75rem;outline:0;background:#f3f3f3;color:#0a0a0a;padding:1.0625rem 1rem;transition:border-color .2s ease,background-color .2s ease;}
    .form-field input::placeholder,.form-field textarea::placeholder{color:#9a9a9a;font:inherit;letter-spacing:inherit;opacity:1;}
    .form-field input:focus,.form-field textarea:focus{border-color:#aaa;background:#f7f7f7;}
    .form-field textarea{min-height:6.75rem;resize:vertical;}
    .submit-button{grid-column:1 / -1;width:100%;margin-top:0.625rem;}
    .submit-button.btn{background:#0a0a0a;color:#fff;border-color:#0a0a0a;}
    .submit-button.btn:hover{background:#252525;border-color:#252525;transform:none;}
@media(max-width:620px){
    .project-modal{padding:0.625rem;}
    .project-modal__panel{max-height:calc(100svh - 1.25rem);}
    .project-modal__close::before,.project-modal__close::after{top:0.9375rem;left:0.3125rem;width:2.5rem;}
    .project-modal h2{margin-right:3rem;margin-bottom:1rem;}
    .panel-intro{margin-bottom:1.625rem;}
    .form{grid-template-columns:1fr;gap:1.125rem;}
    .form-field--wide,.submit-button{grid-column:1;}
}
    /* Consent checkbox for forms */ .consent-field{display:flex;align-items:flex-start;gap:0.625rem;margin:0;}
    .consent-field input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 auto;/* Размер задаётся явно: раньше он приходил падингом из общего правила .form-field input, а объявленные 0.8125rem игнорировались box-sizing. */width:2.125rem;height:2.125rem;padding:0;margin-top:0.1875rem;border:1.25px solid rgba(10,10,10,.3);border-radius:0.21875rem;background:#f3f3f3;cursor:pointer;display:grid;place-content:center;transition:border-color .2s ease,background-color .2s ease;}
    .consent-field input[type="checkbox"]::after{content:"";width:1.1875rem;height:1.1875rem;transform:scale(0);transition:transform .15s ease;background:#0a0a0a;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l6 6L20 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l6 6L20 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
    .consent-field input[type="checkbox"]:checked{border-color:#0a0a0a;background:#fff;}
    .consent-field input[type="checkbox"]:checked::after{transform:scale(1);}
    .consent-field input[type="checkbox"]:focus-visible{outline:2px solid #0a0a0a;outline-offset:2px;}
    .consent-field label{color:var(--muted);letter-spacing:-.01em;cursor:pointer;}
    .consent-field a{color:#0a0a0a;text-decoration:underline;text-underline-offset:2px;}
    .consent-field a:hover{opacity:.7;}
    /* Cookie banner */ .cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;justify-content:flex-end;padding:1.25rem;transform:translateY(120%);opacity:0;transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .3s ease;pointer-events:none;}
    .cookie-banner.is-visible{transform:translateY(0);opacity:1;}
    .cookie-banner__panel{display:flex;flex-direction:column;align-items:flex-start;gap:0.875rem;max-width:20rem;width:100%;background:#fff;color:#0a0a0a;border-radius:1.125rem;padding:1.25rem;pointer-events:auto;box-shadow:0 18px 54px rgba(0,0,0,.16);}
    .cookie-banner__text{color:#4a4a4a;letter-spacing:-.01em;}
    .cookie-banner__text a{color:#0a0a0a;text-decoration:underline;text-underline-offset:2px;}
    .cookie-banner__actions{flex:0 0 auto;display:flex;gap:0.625rem;width:100%;}
    .cookie-banner__accept{appearance:none;border:0;border-radius:3.125rem;background:#0a0a0a;color:#fff;font-family:Inter,Arial,sans-serif;font-weight:600;letter-spacing:-.02em;padding:0.75rem 1.375rem;cursor:pointer;transition:background-color .2s ease;white-space:nowrap;width:100%;}
    .cookie-banner__accept:hover{background:#252525;}
@media(max-width:620px){
    .cookie-banner{justify-content:center;}
    .cookie-banner__panel{max-width:100%;padding:1rem;}
}
    /* Fabrica-style progressive blur: separate bands grow stronger at the edge. */ .viewport-bottom-blur{display:none;position:fixed;left:0;right:0;bottom:0;z-index:25;height:clamp(9.375rem,19vh,13.75rem);pointer-events:none;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .32s ease,visibility 0s linear .32s;transform:translateZ(0);}
    .viewport-bottom-blur.is-active{opacity:1;visibility:visible;transition:opacity .32s ease,visibility 0s;}
    .viewport-bottom-blur span{position:absolute;inset:-12px;transform:translateZ(0);will-change:backdrop-filter;}
    .viewport-bottom-blur span:nth-child(1){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-mask-image:linear-gradient(to bottom,#000 0 18%,transparent 34%);mask-image:linear-gradient(to bottom,#000 0 18%,transparent 34%);}
    .viewport-bottom-blur span:nth-child(2){-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask-image:linear-gradient(to bottom,transparent 8%,#000 22% 34%,transparent 47%);mask-image:linear-gradient(to bottom,transparent 8%,#000 22% 34%,transparent 47%);}
    .viewport-bottom-blur span:nth-child(3){-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(to bottom,transparent 19%,#000 34% 46%,transparent 59%);mask-image:linear-gradient(to bottom,transparent 19%,#000 34% 46%,transparent 59%);}
    .viewport-bottom-blur span:nth-child(4){-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-mask-image:linear-gradient(to bottom,transparent 31%,#000 46% 58%,transparent 71%);mask-image:linear-gradient(to bottom,transparent 31%,#000 46% 58%,transparent 71%);}
    .viewport-bottom-blur span:nth-child(5){-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);-webkit-mask-image:linear-gradient(to bottom,transparent 43%,#000 58% 70%,transparent 82%);mask-image:linear-gradient(to bottom,transparent 43%,#000 58% 70%,transparent 82%);}
    .viewport-bottom-blur span:nth-child(6){-webkit-backdrop-filter:blur(64px);backdrop-filter:blur(64px);-webkit-mask-image:linear-gradient(to bottom,transparent 55%,#000 70% 81%,transparent 91%);mask-image:linear-gradient(to bottom,transparent 55%,#000 70% 81%,transparent 91%);}
    .viewport-bottom-blur span:nth-child(7){-webkit-backdrop-filter:blur(110px);backdrop-filter:blur(110px);-webkit-mask-image:linear-gradient(to bottom,transparent 67%,#000 81% 90%,transparent 98%);mask-image:linear-gradient(to bottom,transparent 67%,#000 81% 90%,transparent 98%);}
    .viewport-bottom-blur span:nth-child(8){-webkit-backdrop-filter:blur(180px);backdrop-filter:blur(180px);-webkit-mask-image:linear-gradient(to bottom,transparent 78%,#000 94%);mask-image:linear-gradient(to bottom,transparent 78%,#000 94%);}
@media(max-width:620px){
    .viewport-bottom-blur{height:7.8125rem;}
}
    /* Copyright footer */ footer.site-foot{background:transparent;padding:1.875rem var(--gutter) 3.125rem;text-align:center;font-size:0.75rem;color:var(--muted);}
    footer.site-foot a{color:var(--muted);text-decoration:underline;text-underline-offset:2px;transition:color .2s ease;}
    footer.site-foot a:hover{color:var(--ink);}
/* ============================================================
       WIZARDRY — ТИПОГРАФИЧЕСКАЯ ШКАЛА
       Единственное место, где задаются кегли, интерлиньяж, вес
       и трекинг. Всё в em от базы (16px на макете 1654 / 390).
       Значения сняты с макета: em = px_в_макете / 16.

       Приведено к общему знаменателю:
       · все заголовки — вес 600 (были 700 у <b> и 500 у .faq-q);
       · интерлиньяж заголовков по кеглю: 1.05 / 1.15 / 1.25
         (был 1.4 — «текстовый» — у .asset-item b и .cycle-item b);
       · трекинг по кеглю: −.06 / −.055 / −.045 / −.04;
       · номера карточек «01» — один кегль 0.75em (были 11 и 12px);
       · интерлиньяж основного текста везде 1.4 (были 1.4/1.45/1.5).
       ============================================================ */

    /* --- Дисплейные --- */
    h1{font-size:5.75rem;line-height:.94;font-weight:600;letter-spacing:-.06em}
    h2{font-size:4.5rem;line-height:.98;font-weight:600;letter-spacing:-.06em}
    .case-result,.case-metric .case-result{font-size:6.5rem;line-height:.86;letter-spacing:-.075em}
    .menu-nav a{font-size:5.5rem;line-height:.98;letter-spacing:-.075em}

    /* --- Заголовки блоков и карточек --- */
    .project-modal h2{font-size:3.125rem;line-height:1.02;font-weight:600;letter-spacing:-.055em}
    .task h3{font-size:2.75rem;line-height:1.02;font-weight:600;letter-spacing:-.055em}
    h3{font-size:2.5rem;line-height:1.05;font-weight:600;letter-spacing:-.055em}
    .faq-q{font-size:2.375rem;line-height:1.08;font-weight:600;letter-spacing:-.055em}
    .fit-card h3,.fit-match h3,.final-grid .form-block h3{font-size:2.25rem;line-height:1.05;font-weight:600;letter-spacing:-.055em}
    .about-copy .about-lead,.resp-col h4,.result-definition h4,
    .involvement h4,.involvement-note{font-size:2.25rem;line-height:1.05;font-weight:600;letter-spacing:-.055em}
    .ticker-item strong{font-size:2.125rem;line-height:1;font-weight:600;letter-spacing:-.055em}
    .format h3{font-size:2rem;line-height:1.15;font-weight:600;letter-spacing:-.055em}
    .menu-contact,.menu-secondary-link{font-size:1.75rem;line-height:1.4;font-weight:600;letter-spacing:-.055em}

    /* --- Подзаголовки карточек --- */
    .project-meta h4{font-size:1.5rem;line-height:1.15;font-weight:600;letter-spacing:-.045em}
    .asset-item b{font-size:1.375rem;line-height:1.15;font-weight:600;letter-spacing:-.045em}
    .cycle-item b,.step b{font-size:1.25rem;line-height:1.15;font-weight:600;letter-spacing:-.045em}
    .format-modal__meta-value{font-size:1.125rem;line-height:1.15;font-weight:600;letter-spacing:-.045em}
    .involvement-item b{font-size:1rem;line-height:1.25;font-weight:600;letter-spacing:-.045em}

    /* --- Лид-абзацы --- */
    .lead,.hero-side .lead,.hero-thesis,.case-lead{
      font-size:1.375rem;line-height:1.3;font-weight:500;letter-spacing:-.04em}

    /* --- Основной текст --- */
    .faq-a p,.fit-warning,.form-alt-contact,.panel-intro,.menu-overlay-note{
      font-size:1rem;line-height:1.4}
    .question p,.task p,.case-point p,.involvement-item p,.result-definition p,
    .result-definition ul,.resp-col ul,.fit-list li,.modal-list,.format-modal__note,
    .case-metric p,.format p,.format ul{font-size:.9375rem;line-height:1.4}
    .fit-card p,.step p,.case-point span,.menu-overlay-foot,
    .btn,.task-link,.hero-actions .btn,.projects-toggle,.submit-button,
    .format-modal__cta{font-size:.875rem;line-height:1.4}
    .asset-item p,.form-status,.form-field label,.consent-field label,
    .cookie-banner__text,.cookie-banner__accept,.navlinks,
    .format-modal__note--small{font-size:.8125rem;line-height:1.4}
    .form-field input,.form-field textarea{font-size:1rem;line-height:1.25}

    /* --- Метки, номера, чипы --- */
    .eyebrow,.kicker,.hero>.wrap>.eyebrow,.format-modal__block h4,
    .format-modal__meta-label{font-size:.875rem;line-height:1.4;font-weight:500;letter-spacing:-.04em}
    .chip,.tag,.ticker-item span,.compare-title span,.task .label,.format-label,
    .format .no,.fit-card .no,.question .num,.step-num,.cycle-item span,
    .project-meta span,.project-media::after,footer.site-foot,.brand-phrase{
      font-size:.75rem;line-height:1.2;font-weight:500;letter-spacing:-.04em}

    /* ============================================================
       Мобильный макет 390px. Переопределяем только те роли,
       у которых кегль в мобильном макете отличается от десктопного.
       Всё остальное наследует шкалу выше и масштабируется само.
       ============================================================ */
    @media(max-width:991px){
      h1{font-size:2.1875rem}                                   /* 35px */
      h2{font-size:1.95rem}                                     /* 31.2px */
      .case-result,.case-metric .case-result{font-size:3.375rem}/* 54px */
      .menu-nav a{font-size:2.925rem}                           /* 46.8px */
      .project-modal h2{font-size:2.125rem}                     /* 34px */
      .task h3{font-size:1.875rem}                              /* 30px */
      h3{font-size:1.75rem}                                     /* 28px */
      .faq-q,.fit-card h3,.fit-match h3,.final-grid .form-block h3{font-size:1.5rem}
      .about-copy .about-lead,.resp-col h4,.result-definition h4,
      .involvement h4,.involvement-note{font-size:1.5rem}       /* 24px */
      .ticker-item strong{font-size:1.5rem}                     /* 24px */
      .format h3,.project-meta h4{font-size:1.25rem}            /* 20px */
      .menu-contact,.menu-secondary-link{font-size:1.375rem}    /* 22px */
      .lead,.hero-side .lead,.hero-thesis,.case-lead{
        font-size:1.0625rem;line-height:1.35}                   /* 17px */
      .eyebrow,.kicker,.hero>.wrap>.eyebrow{font-size:.75rem}   /* 12px */
    }

    /* ============================================================
       WIZARDRY — КОМПОНЕНТЫ И РИТМ
       Геометрия в rem от той же базы. Значения сняты с макетов:
       rem = px_в_макете / 16 (1654 для десктопа, 390 для мобильного).
       ============================================================ */
    :root{
      --radius:1.125rem;        /* 18px — карточки */
      --radius-sm:.875rem;      /* 14px — мелкие карточки цикла и активов */
      --radius-panel:1.5625rem; /* 25px — hero, форма, контейнеры групп */
      --radius-pill:3.125rem;   /* 50px — кнопки и чипы */
      --section-pad:10.75rem;   /* 172px */
      --section-head-space:7.25rem; /* 116px */
      --intro-space:1.75rem;    /* 28px */
      --gap-cards:.25rem;       /* 4px — зазор между карточками в сетках */
    }

    /* --- Кнопки: одна геометрия на все, включая .task-link --- */
    .btn,.task-link{
      min-height:3.375rem;      /* 54px */
      min-width:13.75rem;       /* 220px */
      padding:0 1.25rem;        /* 20px */
      border-radius:var(--radius-pill);
      column-gap:3rem;          /* 48px */
    }
    .btn::after,.navlinks .nav-cta::after,.task-link::after{width:1.125rem;height:1.125rem}
    .final-grid .form-block .btn,.submit-button{min-height:3.625rem;padding:1.125rem 1.875rem}
    .navlinks .nav-cta{padding:.8125rem 1.25rem}
    .hero-actions{gap:.625rem;margin-top:2.25rem}
    .chip,.tag{padding:.5625rem .75rem;border-radius:var(--radius-pill)}
    .process-line,.tags,.task-tags{gap:.25rem;padding-top:1.5rem}

    /* --- Карточки --- */
    .question{padding:1.875rem;border-radius:var(--radius);min-height:31.25rem}
    .fit-card{padding:1.625rem;border-radius:var(--radius);min-height:16.25rem}
    .format{padding:3.375rem;border-radius:var(--radius);min-height:35.625rem}
    .task{padding:1.875rem;border-radius:var(--radius);min-height:26.875rem}
    .cycle-item{padding:1.5rem;border-radius:var(--radius-sm);min-height:11.875rem}
    .asset-item{padding:1.5rem!important;border-radius:var(--radius-sm);min-height:10rem}
    .about-copy{padding:3.375rem;border-radius:var(--radius)}
    .case-panel{padding:3.75rem;border-radius:var(--radius);min-height:32.5rem}
    .compare-col{padding:3.375rem;border-radius:var(--radius)}
    .project{padding:.625rem;border-radius:var(--radius)}
    .final-grid .form-block{padding:3.75rem;border-radius:var(--radius-panel)}
    .hero>.wrap{padding:3.125rem;min-height:calc(100svh - 5.25rem)}
    .ticker{border-radius:var(--radius)}
    .ticker-item{min-width:20rem;min-height:8.125rem;padding:1.875rem}

    /* --- Сетки: единый зазор между карточками --- */
    .formats,.task-list,.cycle,.asset-list,.projects,.compare,.case-wrap,
    .fit-match,.section-head{gap:var(--gap-cards)}
    .involvement-grid{gap:1.125rem}
    .responsibility{gap:1.5625rem}
    .step{padding:1.375rem 0;column-gap:1rem}
    .format ul,.resp-col ul,.modal-list,.result-definition ul{gap:.5625rem}
    .format ul{margin:.75rem 0 2rem}
    .fit-list li{padding:0 0 1.25rem}
    .result-definition{margin-top:2.75rem}
    .involvement{margin-top:2.625rem;padding-top:1.375rem}

    /* --- Шапка, модалки, баннер --- */
    .nav{height:3.75rem}
    .brand-logo{width:6.75rem}
    .brand-rotator{width:16.25rem;height:.75rem}
    .project-modal__panel{padding:3.375rem;border-radius:var(--radius-panel)}
    .project-modal__close{width:3.5rem;height:2.125rem;top:1.5rem;right:1.5rem}
    .cookie-banner{padding:1.25rem}

    /* --- Мобильный макет 390px --- */
    @media(max-width:991px){
      :root{
        --radius-panel:1.125rem;  /* 18px */
        --section-pad:5.25rem;    /* 84px */
        --section-head-space:3.5rem; /* 56px */
      }
      .btn,.task-link{min-height:2.875rem}      /* 46px — было 54 у .task-link */
      .final-grid .form-block .btn,.submit-button{min-height:3.375rem}
      .format{padding:1.75rem;min-height:auto}
      .question,.task,.fit-card,.case-panel{min-height:auto}
      .cycle-item{padding:1.25rem;min-height:7.5rem}
      .asset-item{min-height:auto}
      .about-copy{padding:1.75rem 1.375rem}
      .case-panel{padding:1.875rem}
      .compare-col{padding:1.75rem}
      .project{padding:.5rem}
      .final-grid .form-block{padding:1.875rem}
      .hero>.wrap{padding:1.75rem 1.125rem;min-height:auto}
      .step{padding:1.5rem 0;row-gap:.75rem}
      .hero-actions{margin-top:2rem}
      .brand-logo{width:6.375rem}
      .brand-rotator{width:14.125rem;height:.8125rem}
      .project-modal__panel{padding:1.625rem 1.25rem;border-radius:1.25rem}
      .project-modal__close{width:3.125rem;height:2rem;top:1.125rem;right:.875rem}
      .cookie-banner{padding:.75rem}
    }

    /* ============================================================
       Минимальные кегли для узких десктопов (992–1279).
       Чистый зум от макета 1654 сажает мелкий текст до 9.3px,
       поэтому ставим пол — ровно то, для чего в методике
       предусмотрен Element Min Font Size.
       ============================================================ */
    @media(min-width:992px){
      .faq-a p,.fit-warning,.form-alt-contact,.panel-intro,
      .menu-overlay-note{font-size:max(1rem,14px)}
      .question p,.task p,.case-point p,.involvement-item p,.result-definition p,
      .result-definition ul,.resp-col ul,.fit-list li,.modal-list,
      .format-modal__note,.case-metric p,.format p,.format ul{font-size:max(.9375rem,13px)}
      .fit-card p,.step p,.case-point span,.menu-overlay-foot,
      .btn,.task-link,.hero-actions .btn,.projects-toggle,.submit-button,
      .format-modal__cta{font-size:max(.875rem,12.5px)}
      .asset-item p,.form-status,.form-field label,.consent-field label,
      .cookie-banner__text,.cookie-banner__accept,.navlinks,
      .format-modal__note--small{font-size:max(.8125rem,12px)}
      .eyebrow,.kicker,.hero>.wrap>.eyebrow,.format-modal__block h4,
      .format-modal__meta-label{font-size:max(.875rem,12.5px)}
      .chip,.tag,.ticker-item span,.compare-title span,.task .label,.format-label,
      .format .no,.fit-card .no,.question .num,.step-num,.cycle-item span,
      .project-meta span,.project-media::after,footer.site-foot,
      .brand-phrase{font-size:max(.75rem,11px)}
    }

    /* ============================================================
       Пол 11px для мелкого текста на узких телефонах.
       Мобильный зум на 320px даёт коэффициент 0.821, и роли
       .75rem / .8125rem просели бы до 9.8 и 10.7px.
       Затрагивает только диапазон 320–357px: выше пол не срабатывает,
       и пропорциональность макета 390 сохраняется полностью.
       ============================================================ */
    @media(max-width:991px){
      .chip,.tag,.ticker-item span,.compare-title span,.task .label,.format-label,
      .format .no,.fit-card .no,.question .num,.step-num,.cycle-item span,
      .project-meta span,.project-media::after,footer.site-foot,
      .brand-phrase{font-size:max(.75rem,11px)}
      .asset-item p,.form-status,.form-field label,.consent-field label,
      .cookie-banner__text,.cookie-banner__accept,.navlinks,
      .format-modal__note--small{font-size:max(.8125rem,11px)}
      .eyebrow,.kicker,.hero>.wrap>.eyebrow{font-size:max(.75rem,11px)}
    }

    /* ============================================================
       ИСПРАВЛЕНИЯ ВЁРСТКИ

       1. Бегущая подпись в шапке обрезала выносные буквы («р», «у»):
          высота контейнера равнялась кеглю, а интерлиньяж 1.2 давал
          строку выше. Высота теперь считается от интерлиньяжа.

       2–3. Все списки с галочками приведены к одному виду.
          Было четыре варианта: колонка 1.125 или 1.25rem, зазор
          0.625 или 0.875rem, иконка 1 или 1.125rem, у «От вас /
          От меня» сверху ещё padding 8px, у «Особенно полезно» —
          padding 20px и разделительные линии. Шаг строки отличался
          в полтора раза: 46px против 28.6px.
          Оставлен один вариант — плотный, как в карточках форматов.
          Линии между пунктами убраны.
       ============================================================ */
    .brand-rotator{height:1rem}                       /* 16px: строка 14.4px + запас под выносные */

    .fit-list,.format ul,.resp-col ul,.modal-list,.result-definition ul{
      list-style:none;
      padding:0;
      display:grid;
      gap:.5625rem;                                   /* 9px между пунктами */
      border-top:0;
    }
    .fit-list li,.format ul li,.resp-col li,.modal-list li,.result-definition li{
      display:grid;
      grid-template-columns:1.125rem minmax(0,1fr);
      gap:.625rem;
      align-items:start;
      padding:0;
      border:0;
      color:var(--text-soft);
    }
    .fit-list li::before,.format ul li::before,.resp-col li::before,
    .modal-list li::before,.result-definition li::before{
      width:1rem;
      height:1rem;
      margin-top:.125rem;
    }

    /* Мобильные значения отступов, которые раньше задавались через clamp()
       с vw: на макете 390 они отличаются от макета 1654.
       Из автосписка исключены мёртвые селекторы (.quote-band, .cycle-note,
       .about-copy .big, .about-mission h3, .achievement strong — таких
       элементов нет в разметке) и те, что уже заданы
       мобильными правилами (.projects, .compare-col, .asset-grid,
       .about-grid, .final-grid). */
    @media(max-width:991px){
      .content-space{margin-top:2.875rem}
      .projects-more{margin-top:2rem}
      .section-outro{margin-top:2.875rem}
      .case-panel:has(>.task-link) .case-metrics{margin-bottom:1.5rem}
      .final{padding:6.875rem 0}
    }

    /* ============================================================
       Вертикальные зазоры в сетках, которые на мобильной складываются
       в колонку. На десктопе .section-head и .fit-match — это колонки
       рядом с карточной сеткой, и зазор 4px там верный. Но при переходе
       в одну колонку он становится вертикальным, и подпись секции
       слипается с заголовком, а заголовок — со списком галочек.

       Значения взяты с эталонов, а не назначены произвольно:
       1.75rem  — как между «12 / Обсудим проект» и его заголовком
                  (это --intro-space, там же живёт hero);
       1.125rem — как между «От вас» и первой галочкой.
       ============================================================ */
    @media(max-width:991px){
      .section-head,.asset-grid{row-gap:1.75rem}
      .fit-match{row-gap:1.125rem}
    }

    /* Поле-ловушка для ботов: людям не видно и в табуляцию не попадает,
       автоматы его заполняют. send.php при заполненном поле молча
       отбрасывает заявку. Прячем сдвигом, а не display:none —
       так ловушка менее заметна для автозаполнения. */
    .lead-trap{
      position:absolute;
      left:-9999px;
      width:1px;
      height:1px;
      overflow:hidden;
    }
