/* A single moving material accompanies a native, readable document. */
.about-page { display: grid; position: relative; isolation: isolate; }
.about-space {
  grid-area: 1 / 1; align-self: start; position: sticky; top: 0;
  height: 100svh; width: 100%; overflow: clip; pointer-events: none;
}
.about-space > * { position: absolute; inset: 0; width: 100%; height: 100%; }
.about-space canvas { opacity: 0; transition: opacity 1s; }
[data-about-page][data-world-ready] .about-space canvas { opacity: .95; }
.about-atmosphere { background: radial-gradient(ellipse at 80% 52%, #b8acd511, transparent 55%), radial-gradient(ellipse at 70% 75%, #94daca0c, transparent 52%); }
.about-shade { background: linear-gradient(90deg, #131615d9, #1316158a 42%, transparent 78%), linear-gradient(#131615, transparent 20%, transparent 85%, #131615); }
[data-about-page][data-act="1"] .about-shade { background: linear-gradient(270deg, #131615ed, #131615ad 45%, transparent 85%), linear-gradient(#131615, transparent 20%, transparent 85%, #131615); }
[data-about-page][data-act="2"] .about-shade { background: linear-gradient(90deg, #13161587, #131615bd 64%, #131615db), linear-gradient(#131615, transparent 20%, transparent 85%, #131615); }
[data-about-page][data-act="3"] .about-shade { background: #131615d9; }
[data-about-page][data-act="4"] .about-shade { background: radial-gradient(ellipse at 50% 25%, #131615ab, transparent 75%), linear-gradient(#131615, transparent 18%, #13161582 68%, #131615); }
.about-fallback { opacity: .5; }
.about-fallback .silk { width: 100%; height: 100%; }
[data-about-page][data-world-ready] .about-fallback { display: none; }
.about-content { position: relative; grid-area: 1 / 1; min-width: 0; }
.about-section { max-width: 1600px; width: 100%; margin-inline: auto; padding: 130px var(--pad); }
.about-page section[id] { scroll-margin-top: -120px; }
.about-page .about-caption { display: block; font: 400 10px/1.6 var(--body); letter-spacing: .16em; color: #9db7ac; }
.about-page h1, .about-page h2 { text-transform: none; font-weight: 400; letter-spacing: -.045em; text-wrap: balance; }
.about-page h2 { font-size: clamp(48px, 5.3vw, 78px); line-height: 1.08; margin-block: 29px; }
.about-page h1 em, .about-page h2 em { color: #b5d9ca; }
.about-page p { font-size: 16px; line-height: 1.85; color: #acb9b0; }
.about-link { display: inline-flex; align-items: center; gap: 28px; padding-block: 14px; min-height: 48px; border-bottom: 1px solid #b7d1c14d; font-size: 14px; }
.about-link > span { color: #b5d9ca; font-size: 20px; transition: transform .35s; }
.about-link:hover { color: #b5d9ca; }
.about-link:hover > span { transform: translate(2px, 2px); }
.about-hero { min-height: 100svh; display: flex; flex-direction: column; justify-content: space-between; padding-block: 140px 38px; gap: 48px; }
.about-breadcrumb { display: flex; gap: 16px; color: #8d9c92; font-size: 11px; }
.about-breadcrumb a:hover { color: var(--ink); }
.about-hero-copy { padding-block: 12px; }
.about-page .about-hero h1 { font-size: clamp(62px, 6.2vw, 94px); line-height: 1.04; margin-block: 29px; max-width: 900px; }
.about-hero-copy p { max-width: 415px; margin-bottom: 16px; }
.about-hero-foot { display: flex; justify-content: space-between; align-items: center; gap: 30px; border-top: 1px solid #a9c4b629; padding-top: 22px; }
.about-hero-foot > span { font-size: 11px; color: #9eafa3; }
.about-hero-foot nav { display: flex; gap: 30px; }
.about-hero-foot nav a { font-size: 10px; color: #9fb5a7; min-height: 40px; display: flex; align-items: center; gap: 10px; }
.about-hero-foot nav a span { font-size: 12px; color: #cfdbd1; }
.about-hero-foot nav a:hover span { color: #a8d9ce; }
.about-team { min-height: 112svh; display: flex; align-items: center; justify-content: flex-end; }
.about-team-copy { width: 56%; max-width: 720px; }
.about-team-copy > p { max-width: 500px; }
.about-team-copy h2 { font-size: clamp(48px, 4.7vw, 70px); }
.about-disciplines { margin-top: 35px; }
.about-discipline { --tone: #f6ac97; display: grid; grid-template-columns: 1fr auto 24px; align-items: center; gap: 20px; padding: 20px 0; border-top: 1px solid #a9c4b635; }
.about-discipline:nth-child(2) { --tone: #8be4d7; }
.about-discipline:nth-child(3) { --tone: #d5b7f4; border-bottom: 1px solid #a9c4b635; }
.about-discipline-name { font: 400 clamp(28px, 2.8vw, 40px)/1.2 var(--display); color: var(--tone); }
.about-discipline-role { font-size: 12px; color: #9ead9f; }
.about-discipline > span:last-child { color: var(--tone); font-size: 24px; }
.about-discipline:hover, .about-discipline:focus-visible { border-color: var(--tone); transform: translateX(4px); }
.about-page .about-team-note { font-size: 12px; margin-top: 22px; color: #90a295; }
.about-approach { min-height: 108svh; display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: 8vw; }
.about-approach-intro h2 { font-size: clamp(48px, 4.5vw, 68px); }
.about-approach-intro p { max-width: 380px; }
.about-approach-intro .about-link { margin-top: 23px; }
.about-principles { list-style: none; padding: 0; margin: 0; }
.about-principles li { display: grid; grid-template-columns: 28px 1fr; gap: 22px; border-top: 1px solid #a9c4b635; padding: 29px 0; }
.about-principle-no { font-size: 11px; padding-top: 6px; color: #9fb5a7; }
.about-principles h3 { font-size: 27px; line-height: 1.2; letter-spacing: -.025em; }
.about-principles p { font-size: 15px; margin-top: 14px; line-height: 1.85; }
.about-company { padding-top: 130px; padding-bottom: 100px; }
.about-company-heading { margin-bottom: 64px; }
.about-company-heading h2 { max-width: 960px; }
.about-company-heading p { max-width: 470px; }
.about-page .company-layout { grid-template-columns: .75fr 1.25fr; gap: 9vw; }
.about-page .company-aside { top: 130px; }
.about-page .company-aside h3 { font-size: 36px; margin-block: 18px; }
.about-page .company-aside p { font-size: 14px; max-width: 330px; }
.about-page .company-aside > .button { font-size: 12px; min-height: 48px; border-color: #a9c4b644; }
.about-page .company-aside > .small { font-size: 12px; }
.company-document { border-top: 1px solid #a9c4b644; }
.company-document:last-child { border-bottom: 1px solid #a9c4b644; }
.company-document summary { display: grid; grid-template-columns: 25px 1fr 36px; gap: 20px; align-items: center; padding-block: 26px; list-style: none; cursor: pointer; }
.company-document summary::-webkit-details-marker { display: none; }
.company-document-no { font-size: 10px; color: #92a89a; }
.company-document h3 { font-size: 25px; line-height: 1.25; letter-spacing: -.02em; }
.company-document-toggle { position: relative; width: 34px; height: 34px; border: 1px solid #a9c4b649; border-radius: 50%; }
.company-document-toggle::before, .company-document-toggle::after { content: ''; position: absolute; background: #b5d9ca; width: 11px; height: 1px; top: 15px; left: 10px; transition: transform .35s; }
.company-document-toggle::after { transform: rotate(90deg); }
.company-document[open] .company-document-toggle::after { transform: rotate(0); }
.company-document[open] summary, .company-document summary:hover { color: #b5d9ca; }
.company-document-body { padding: 0 0 32px 45px; }
.about-page .requisites > div { grid-template-columns: minmax(100px, .8fr) minmax(0, 1fr) 36px; gap: 18px; padding-block: 18px; }
.about-page .copy-value { min-height: 36px; min-width: 36px; }
.about-page .info-list > div { grid-template-columns: minmax(100px, .8fr) minmax(0, 1fr); gap: 24px; padding-block: 18px; }
.about-page .requisites dt, .about-page .info-list dt { font-size: 12px; color: #9daa9f; }
.about-page .requisites dd, .about-page .info-list dd { font-size: 14px; }
.about-page .company-document .contract { font-size: 14px; }
.about-page .company-document .activity-list { padding-top: 0; font-size: 14px; }
.about-page .company-document .small { font-size: 12px; }
.about-finale { scroll-margin-top: -120px; }
@media (max-width: 1100px) {
  .about-approach { gap: 5vw; }
  .about-discipline { gap: 14px; }
  .about-discipline-role { font-size: 11px; }
  .about-page .company-layout { gap: 6vw; }
}
@media (max-width: 900px) {
  .about-page .about-hero h1 { font-size: clamp(54px, 8.3vw, 75px); }
  .about-team-copy { width: 73%; }
  .about-page h2 { font-size: clamp(45px, 6.4vw, 64px); }
  .about-approach { grid-template-columns: 1fr; gap: 50px; min-height: 0; }
  .about-approach-intro { max-width: 620px; }
  .about-principles { margin-left: 18%; }
  .about-page .company-layout { grid-template-columns: 1fr; gap: 35px; }
  .about-page .company-aside { position: static; }
  .about-page .company-aside > p { max-width: 500px; }
  .about-hero-foot { flex-wrap: wrap; gap: 12px; }
}
@media (max-width: 600px) {
  .about-section { padding-block: 132px 100px; }
  .about-page section[id], .about-finale { scroll-margin-top: -80px; }
  .about-hero { min-height: 100svh; padding-block: 112px 26px; gap: 45px; }
  .about-page .about-hero h1 { font-size: clamp(40px, 10.3vw, 61px); margin-block: 25px; }
  .about-hero-copy p { max-width: 310px; }
  .about-page .about-caption { font-size: 9px; }
  .about-page h2 { font-size: clamp(38px, 9.7vw, 55px); }
  .about-hero-foot { gap: 15px; padding-top: 22px; }
  .about-hero-foot nav { width: 100%; justify-content: space-between; gap: 12px; }
  .about-team { min-height: 105svh; }
  .about-team-copy { width: 100%; }
  .about-discipline { grid-template-columns: 1fr 25px; gap: 7px 12px; padding-block: 18px; }
  .about-discipline-name { font-size: 33px; }
  .about-discipline-role { grid-column: 1; grid-row: 2; font-size: 12px; }
  .about-discipline > span:last-child { grid-column: 2; grid-row: 1 / 3; }
  .about-principles { margin-left: 0; }
  .about-principles li { gap: 14px; padding-block: 25px; grid-template-columns: 20px 1fr; }
  .about-principles h3 { font-size: 27px; }
  .about-principles p { font-size: 15px; }
  .about-company-heading { margin-bottom: 45px; }
  .company-document summary { grid-template-columns: 18px 1fr 32px; gap: 12px; padding-block: 23px; }
  .company-document h3 { font-size: 23px; }
  .company-document-body { padding-left: 0; }
  .about-page .info-list > div { grid-template-columns: 1fr; gap: 8px; }
  .about-page .requisites > div { grid-template-columns: 1fr 36px; gap: 6px 10px; }
  .about-page .requisites dd { grid-column: 1; }
  .about-page .copy-value { grid-column: 2; grid-row: 1 / 3; align-self: center; margin-top: 0; }
  .about-space canvas { filter: none; }
  [data-about-page] .about-shade { background: linear-gradient(90deg, #131615b8, #13161573), linear-gradient(#131615, transparent 15%, transparent 80%, #131615); }
  [data-about-page][data-act="1"] .about-shade, [data-about-page][data-act="2"] .about-shade { background: linear-gradient(90deg, #131615ab, #131615b5), linear-gradient(#131615, transparent 15%, transparent 80%, #131615); }
}
@media (min-width: 901px) and (max-height: 780px) {
  .about-hero { padding-top: 120px; gap: 28px; }
  .about-page .about-hero h1 { font-size: clamp(64px, 6vw, 86px); margin-block: 22px; }
}
html[data-motion-static] .about-page *, html[data-motion-static] .about-page *::after { transition: none; }
@media (prefers-reduced-motion: reduce) { .about-page *, .about-page *::after { transition: none; } }
@media print {
  .about-space, .about-hero-foot nav { display: none; }
  .about-section { min-height: 0; padding-block: 30px; }
  .about-page .company-document::details-content { content-visibility: visible; }
}
