/* ФФГрупп. Сотрудничество — продолжение существующей дизайн-системы. */
.coop { --coop-space:clamp(4.5rem,8vw,8rem); }
.coop section { scroll-margin-top:7.5rem; }
.coop a, .coop button { -webkit-tap-highlight-color:transparent; }
.coop-hero { padding:clamp(2.5rem,5vw,5rem) 0 0; }
.coop-hero__top { display:flex; gap:2rem; align-items:center; justify-content:space-between; }
.coop-hero__back { font-size:.8125rem; color:var(--text-secondary); }
.coop-hero__grid { display:grid; grid-template-columns:1.4fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding:2.8rem 0 3.5rem; }
.coop-hero h1 { font-size:clamp(3.2rem,5.8vw,5.7rem); line-height:1.04; letter-spacing:-.045em; max-width:12ch; }
.coop-line { display:block; overflow:clip; padding-bottom:.12em; margin-bottom:-.12em; }
.coop-line > span { display:block; }
.coop-hero__lead { font-size:var(--fs-21); line-height:1.5; max-width:30rem; margin-top:2rem; color:var(--text-secondary); }
.coop-hero__visual { position:relative; margin:0; padding:2rem 0 0 2rem; }
.coop-hero__visual::before { content:''; position:absolute; inset:0 2rem 2rem 0; border:1px solid var(--border-default); }
.coop-hero__picture { position:relative; overflow:clip; clip-path:polygon(0 0,100% 0,100% calc(100% - 2.5rem),calc(100% - 2.5rem) 100%,0 100%); background:var(--surface-inset); aspect-ratio:4/5; }
.coop-hero__picture img { width:100%; height:100%; object-fit:cover; }
.coop-hero__tag { position:absolute; z-index:1; left:.5rem; top:3rem; font-family:var(--font-display); font-size:.75rem; font-weight:600; letter-spacing:.1em; background:var(--accent); padding:.8rem 1rem; writing-mode:vertical-rl; }
.coop-hero__caption { position:relative; display:flex; gap:.8rem; justify-content:space-between; font-size:.75rem; color:var(--text-muted); margin-top:.8rem; }
.coop-hero__caption strong { font-weight:500; color:var(--text-secondary); }
.coop-route { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--border-default); border-bottom:1px solid var(--border-default); }
.coop-route__link { display:grid; grid-template-columns:2rem 1fr auto; align-items:center; gap:1rem; padding:1.6rem 2rem 1.6rem 0; position:relative; transition:background .3s; }
.coop-route__link + .coop-route__link { border-left:1px solid var(--border-default); padding-left:2rem; padding-right:0; }
.coop-route__num { font-family:var(--font-display); font-size:.75rem; color:var(--text-muted); }
.coop-route strong { display:block; font-family:var(--font-display); font-size:var(--fs-21); font-weight:700; }
.coop-route small { display:block; margin-top:.4rem; font-size:.875rem; color:var(--text-secondary); }
.coop-arrow { display:inline-flex; justify-content:center; align-items:center; width:2.6rem; height:2.6rem; background:var(--accent); flex:none; clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%); }
.coop-arrow svg { width:18px; height:18px; transition:transform .3s var(--ease-out); }
a:hover .coop-arrow svg { transform:translate(2px,-2px); }
.coop-route a:hover { background:var(--accent-soft); }
.coop-partners { padding-block:var(--coop-space); }
.coop-section-head { display:grid; grid-template-columns:1fr 1.35fr; gap:3rem; align-items:start; margin-bottom:3.5rem; }
.coop-label { display:flex; align-items:center; gap:.8rem; font-family:var(--font-display); font-size:.8125rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.coop-label::before { content:''; width:.65rem; height:.65rem; background:var(--accent); clip-path:polygon(0 0,100% 0,0 100%); }
.coop-section-head h2 { font-size:clamp(2.4rem,4.2vw,4rem); max-width:18ch; line-height:1.1; }
.coop-section-head p { margin-top:1.5rem; font-size:var(--fs-17); line-height:1.65; max-width:34rem; color:var(--text-secondary); }
.coop-network { display:grid; grid-template-columns:1fr 1.35fr; gap:3rem; }
.coop-network__drawing { position:relative; min-height:23rem; background:var(--surface-card); border:1px solid var(--border-default); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.coop-network__drawing svg { width:100%; max-width:28rem; height:auto; }
.coop-network__drawing text { font-family:var(--font-display); font-weight:600; font-size:18px; fill:var(--text-primary); }
.coop-network__note { position:absolute; bottom:1.2rem; left:1.5rem; font-size:.75rem; color:var(--text-muted); letter-spacing:.04em; }
.coop-audience { margin:0; padding:0; list-style:none; }
.coop-audience li { display:grid; grid-template-columns:2rem 1fr; gap:1rem; padding:1.35rem 0; border-bottom:1px solid var(--border-default); }
.coop-audience li:first-child { padding-top:0; }
.coop-audience span { color:var(--text-muted); font-size:.8125rem; font-family:var(--font-display); }
.coop-audience h3 { font-size:var(--fs-21); font-weight:700; }
.coop-audience p { font-size:var(--fs-15); line-height:1.6; color:var(--text-secondary); margin-top:.5rem; }
.coop-terms { margin-top:3rem; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; border-left:4px solid var(--accent); padding:1.4rem 0 1.4rem 1.75rem; }
.coop-terms h3 { font-size:var(--fs-21); font-weight:700; }
.coop-terms p { margin-top:.75rem; max-width:39rem; font-size:var(--fs-17); line-height:1.65; color:var(--text-secondary); }
.coop-button { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; min-height:3.75rem; padding:1.2rem 1.75rem; background:var(--accent); color:var(--text-primary); font-family:var(--font-display); font-size:.875rem; font-weight:700; text-transform:uppercase; letter-spacing:.025em; clip-path:polygon(0 0,100% 0,100% calc(100% - 1rem),calc(100% - 1rem) 100%,0 100%); transition:background .25s; }
.coop-button:hover { background:var(--accent-hover); }
.coop-button:focus-visible { outline:0; box-shadow:inset 0 0 0 3px var(--text-primary); }
.coop-button svg { flex:none; width:22px; height:22px; transition:transform .3s var(--ease-out); }
.coop-button:hover svg { transform:translateX(4px); }
.coop-jobs { position:relative; background:var(--ink-900); color:var(--text-on-dark); padding-block:var(--coop-space); overflow:clip; isolation:isolate; }
.coop-jobs::before { content:''; position:absolute; width:42rem; height:42rem; border:1px solid var(--ink-border); transform:rotate(45deg); right:-29rem; top:5rem; z-index:-1; }
.coop-jobs .coop-section-head p { color:var(--text-on-dark-muted); }
.coop-role { display:grid; grid-template-columns:4rem 1fr 1.15fr; gap:2.5rem; border-top:1px solid var(--ink-border); padding:3rem 0; }
.coop-role__number { color:var(--accent); font-family:var(--font-display); font-size:var(--fs-28); font-weight:600; }
.coop-role h3 { font-size:clamp(2rem,3vw,2.9rem); line-height:1.15; font-weight:700; }
.coop-role__sub { font-size:var(--fs-15); line-height:1.6; color:var(--text-on-dark-muted); margin-top:1rem; max-width:25rem; }
.coop-role__body ul { padding:0; margin:0; list-style:none; }
.coop-role__body li { position:relative; padding-left:1.25rem; font-size:var(--fs-17); line-height:1.6; }
.coop-role__body li + li { margin-top:.75rem; }
.coop-role__body li::before { content:''; position:absolute; left:0; top:.65em; width:.4rem; height:.4rem; background:var(--accent); clip-path:polygon(0 0,100% 0,0 100%); }
.coop-text-link { display:inline-flex; align-items:center; gap:1.3rem; font-family:var(--font-display); font-weight:600; margin-top:1.75rem; padding:.75rem 0; border-bottom:1px solid var(--accent); }
.coop-text-link svg { width:20px; height:20px; color:var(--accent); transition:transform .3s var(--ease-out); }
.coop-text-link:hover svg { transform:translateX(4px); }
.coop-jobs__note { display:grid; grid-template-columns:1fr 1.15fr; gap:2.5rem; padding:2rem 0 0 6.5rem; border-top:1px solid var(--ink-border); }
.coop-jobs__note strong { font-family:var(--font-display); font-size:var(--fs-17); font-weight:600; }
.coop-jobs__note p { color:var(--text-on-dark-muted); font-size:var(--fs-15); line-height:1.6; }
.coop-start { padding-block:var(--coop-space); }
.coop-start__grid { display:grid; grid-template-columns:1fr 1.35fr; gap:3rem; }
.coop-start h2 { font-size:clamp(2.4rem,4.2vw,4rem); margin-top:1.5rem; max-width:11ch; }
.coop-start__steps { list-style:none; padding:0; margin:0; }
.coop-start__steps li { display:grid; grid-template-columns:2rem 1fr; gap:1rem; border-top:1px solid var(--border-default); padding:1.3rem 0; }
.coop-start__steps span { font-family:var(--font-display); font-size:.8125rem; color:var(--text-muted); padding-top:.2rem; }
.coop-start__steps h3 { font-size:var(--fs-21); font-weight:700; }
.coop-start__steps p { margin-top:.5rem; font-size:var(--fs-15); color:var(--text-secondary); line-height:1.6; }
.coop-contact { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:3.5rem; padding:2rem; background:var(--accent); clip-path:polygon(0 0,100% 0,100% calc(100% - 2rem),calc(100% - 2rem) 100%,0 100%); }
.coop-contact__title { font-family:var(--font-display); font-size:var(--fs-28); font-weight:700; letter-spacing:-.02em; }
.coop-contact p { font-size:var(--fs-15); margin-top:.6rem; }
.coop-contact__links { display:flex; flex-direction:column; align-items:flex-end; gap:.6rem; }
.coop-contact__links a { padding:.15rem 0; border-bottom:1px solid currentColor; font-size:var(--fs-17); }
.coop-contact__links a:first-child { font-family:var(--font-display); font-size:var(--fs-21); font-weight:700; }
.coop .footer { margin-top:0; }
@media(min-width:80rem) { .coop-hero__picture { aspect-ratio:1; } }
@media(max-width:62rem) {
  .coop-hero__grid { grid-template-columns:1.35fr 1fr; gap:2rem; }
  .coop-hero h1 { font-size:clamp(2.8rem,6.7vw,4.5rem); }
  .coop-section-head, .coop-network, .coop-start__grid { grid-template-columns:1fr 1.5fr; gap:2rem; }
  .coop-role { grid-template-columns:2.5rem 1fr 1.25fr; gap:1.5rem; }
  .coop-jobs__note { padding-left:4rem; }
  .coop-terms { grid-template-columns:1fr; }
  .coop-terms .coop-button { justify-self:start; }
}
@media(max-width:48rem) {
  .coop section { scroll-margin-top:9rem; }
  .coop-hero__back { display:none; }
  .coop-hero__grid, .coop-section-head, .coop-network, .coop-start__grid { grid-template-columns:1fr; }
  .coop-hero__grid { padding-top:2rem; padding-bottom:2.5rem; gap:2.5rem; }
  .coop-hero h1 { max-width:13ch; font-size:clamp(3rem,9vw,4.5rem); }
  .coop-hero__lead { margin-top:1.5rem; font-size:1.0625rem; }
  .coop-hero__visual { padding:1rem 0 0 1rem; }
  .coop-hero__picture { aspect-ratio:16/10; }
  .coop-hero__tag { writing-mode:horizontal-tb; top:0; left:2rem; }
  .coop-hero__visual::before { inset:0 1rem 1.5rem 0; }
  .coop-hero__caption { margin-top:.65rem; }
  .coop-route__link { grid-template-columns:1.25rem 1fr auto; gap:.75rem; padding:1.4rem .85rem 1.4rem 0; }
  .coop-route__link + .coop-route__link { padding-left:.85rem; }
  .coop-route strong { font-size:1rem; }
  .coop-route small { font-size:.75rem; line-height:1.5; }
  .coop-route .coop-arrow { width:1.9rem; height:1.9rem; }
  .coop-section-head { gap:1.4rem; margin-bottom:2.5rem; }
  .coop-section-head h2 { font-size:2.65rem; }
  .coop-network__drawing { min-height:20rem; }
  .coop-network__drawing svg { max-width:25rem; }
  .coop-terms { margin-top:2rem; padding-left:1.2rem; }
  .coop-role { grid-template-columns:2rem 1fr; gap:1rem; padding:2rem 0; }
  .coop-role__body { grid-column:2; }
  .coop-role h3 { font-size:2.2rem; }
  .coop-role__number { font-size:1.4rem; padding-top:.2rem; }
  .coop-role__body li { font-size:1rem; }
  .coop-jobs__note { grid-template-columns:1fr; padding:1.75rem 0 0; gap:1rem; }
  .coop-start h2 { margin-top:1rem; max-width:none; font-size:2.65rem; }
  .coop-contact { flex-direction:column; align-items:flex-start; padding:1.7rem 1.5rem; gap:1.5rem; }
  .coop-contact__links { align-items:flex-start; }
}
@media(max-width:25rem) {
  .coop-route { grid-template-columns:1fr; }
  .coop-route__link + .coop-route__link { border-left:0; border-top:1px solid var(--border-default); padding-left:0; }
  .coop-route__link { padding-right:0; }
  .coop-hero h1 { font-size:2.85rem; }
}
@media(prefers-reduced-motion:reduce) {
  .coop *, .coop *::before, .coop *::after { transition:none!important; animation:none!important; }
}
