/* «О нас»: миссия, имя, принципы, метод, команда, тон. Общие цвета и типографика — из styles.css/pages.css. */
.on-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);margin-top:clamp(40px,5vw,68px)}
.on-fact{background:var(--bg);padding:clamp(20px,2.2vw,32px);min-width:0}
.on-fact b{display:block;font-size:clamp(34px,3.6vw,60px);font-weight:900;letter-spacing:-.04em;line-height:1}
.on-fact b i{font-style:normal;color:var(--amber-d)}
.on-fact span{display:block;font-size:clamp(14px,1vw,16px);line-height:1.45;color:var(--muted);margin-top:14px;max-width:30ch}
.on-fact small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:10px}

.on-promise{font-size:clamp(26px,3.1vw,52px);line-height:1.18;letter-spacing:-.02em;font-weight:700;max-width:30ch;margin:22px 0 0;text-wrap:balance}
.on-promise em{font-style:normal;color:var(--amber)}
.on-slogan{display:flex;align-items:center;gap:18px;margin-top:clamp(34px,4vw,56px);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(244,242,236,.6)}
.on-slogan::before{content:"";width:48px;height:2px;background:var(--amber)}

.on-name{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.on-word{background:var(--bg);padding:clamp(28px,4vw,64px);min-width:0}
.on-word dfn{display:block;font-style:normal;font-size:clamp(44px,6vw,104px);font-weight:900;letter-spacing:-.045em;line-height:.95}
.on-word dfn span{color:var(--amber-d)}
.on-word .mono{display:block;margin:22px 0 14px}
.on-word p{font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:var(--muted);max-width:44ch;margin:0}
.on-word p b{color:var(--ink)}

.on-principles{display:grid;gap:clamp(14px,1.5vw,22px)}
.on-pr{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,1.15fr);gap:clamp(22px,3.4vw,60px);padding:clamp(26px,3.4vw,52px);border:1px solid var(--line-2);background:var(--bg-2)}
.on-pr>div{min-width:0}
.on-pr-no{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.on-pr h3{font-size:clamp(26px,2.6vw,42px);font-weight:900;letter-spacing:-.03em;line-height:1.05;margin:16px 0 0;text-wrap:balance}
.on-shift{display:grid;gap:18px}
.on-shift p{margin:0;font-size:clamp(16px,1.15vw,18px);line-height:1.5}
.on-shift .k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.on-was{color:var(--muted)}
.on-was .k{color:var(--muted)}
.on-now{color:var(--ink);padding-left:16px;border-left:3px solid var(--amber)}
.on-now .k{color:var(--ink)}
.on-practice .k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.on-practice ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.on-practice li{position:relative;padding-left:22px;font-size:clamp(16px,1.15vw,18px);line-height:1.5}
.on-practice li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--amber-d)}
.on-practice a{border-bottom:1px solid currentColor}
.on-practice a:hover,.on-practice a:focus-visible{color:var(--amber-d)}

.on-route{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-2)}
.on-route li{position:relative;padding:clamp(24px,2.6vw,40px);min-width:0;border-right:1px solid var(--line-2)}
.on-route li:last-child{border-right:0;background:var(--ink);color:#F4F2EC}
.on-route li:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:clamp(24px,2.6vw,40px);width:26px;height:26px;display:grid;place-items:center;background:var(--bg);color:var(--amber-d);font-weight:700;z-index:1}
.on-route .no{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted)}
.on-route li:last-child .no{color:var(--amber)}
.on-route h3{font-size:clamp(22px,2vw,32px);font-weight:900;letter-spacing:-.025em;line-height:1.08;margin:18px 0 12px}
.on-route p{margin:0;font-size:16px;line-height:1.5;color:var(--muted)}
.on-route li:last-child p{color:rgba(244,242,236,.72)}
.on-route-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end;margin-top:clamp(28px,3vw,44px)}
.on-route-note p{margin:0;font-size:clamp(17px,1.3vw,20px);line-height:1.55;color:var(--muted);max-width:62ch}
.on-route-note p b{color:var(--ink)}

.on-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.on-role{background:var(--bg);padding:clamp(24px,2.6vw,40px);min-width:0}
.on-role .no{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted)}
.on-role h3{font-size:clamp(22px,1.9vw,30px);font-weight:900;letter-spacing:-.02em;line-height:1.1;margin:28px 0 14px}
.on-role p{margin:0;font-size:16px;line-height:1.55;color:var(--muted)}
.on-team-note{margin:clamp(24px,3vw,40px) 0 0;font-size:clamp(17px,1.3vw,20px);line-height:1.55;max-width:62ch}

.on-voice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.5vw,22px)}
.on-voice-col{padding:clamp(26px,3.4vw,52px);border:1px solid var(--line-2);min-width:0}
.on-voice-col.is-yes{background:#fff9ed;border-color:var(--amber-d)}
.on-voice-col h3{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 24px}
.on-voice-col h3 span{display:grid;place-items:center;width:28px;height:28px;font-size:15px;background:var(--ink);color:#F4F2EC}
.on-voice-col.is-no h3 span{background:transparent;color:var(--muted);border:1px solid var(--line-2)}
.on-voice-col ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.on-voice-col li{font-size:clamp(17px,1.35vw,22px);line-height:1.4;font-weight:600;letter-spacing:-.01em}
.on-voice-col.is-no li{color:var(--muted);font-weight:500;text-decoration:line-through;text-decoration-color:rgba(110,109,101,.5);text-decoration-thickness:1px}

.on-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:start}
.on-story>div{min-width:0}
.on-story p{font-size:clamp(17px,1.35vw,21px);line-height:1.6;color:var(--muted);margin:22px 0 0;max-width:56ch}
.on-story p b{color:var(--ink)}
.on-kept{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.on-kept li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:20px 0;border-bottom:1px solid var(--line-2);font-size:clamp(17px,1.3vw,20px);line-height:1.45}
.on-kept li span{font-family:var(--mono);font-size:12px;color:var(--amber-d);font-weight:600;padding-top:4px}

.on-link{display:table;font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;max-width:100%;overflow-wrap:anywhere;white-space:nowrap}
.on-link:hover,.on-link:focus-visible{color:var(--amber-d);border-color:var(--amber-d)}

.on-cta-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:end}
.on-cta-grid>div{min-width:0}
.on-cta-link{display:inline-block;margin-top:28px;color:var(--ink);background:var(--amber);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:17px 24px;min-height:48px}
.on-cta-link:hover,.on-cta-link:focus-visible{background:#ffd188}

@media(max-width:1100px){
  .on-pr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .on-pr>div:first-child{grid-column:1/-1}
  .on-route,.on-team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .on-route li:nth-child(2){border-right:0}
  .on-route li:nth-child(-n+2){border-bottom:1px solid var(--line-2)}
  .on-route li:nth-child(2)::after{display:none}
}
@media(max-width:900px){
  .on-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .on-name,.on-voice,.on-story,.on-cta-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .on-pr{grid-template-columns:1fr}
  .on-route,.on-team{grid-template-columns:1fr}
  .on-route li{border-right:0;border-bottom:1px solid var(--line-2)}
  .on-route li:last-child{border-bottom:0}
  .on-route li:not(:last-child)::after{display:grid;content:"↓";right:auto;left:clamp(24px,2.6vw,40px);top:auto;bottom:-13px}
  .on-route li:nth-child(2)::after{display:grid}
  .on-route-note{grid-template-columns:1fr}
  .on-link{white-space:normal}
}
@media(max-width:420px){
  .on-facts{grid-template-columns:1fr}
}
