/* Company page: an editorial opening and a typographic statement. */
.company-about,
.company-manifesto { --company-rule:#cfcfca; }
.company-about { padding-top:42px; }
.company-chapter {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--company-rule);
  padding-top:19px;
}
.company-chapter-label {
  font-size:12px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:.045em;
}
.company-chapter-note { font-size:11px; color:#666; letter-spacing:.07em; }
.company-about-spread {
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,4fr);
  column-gap:clamp(32px,5.5vw,88px);
  align-items:start;
  padding-top:72px;
}
.company-about h1 {
  font-family:var(--sans);
  font-size:clamp(42px,5.6vw,84px);
  font-weight:400;
  line-height:1.38;
  letter-spacing:-.055em;
  font-feature-settings:"palt" 1;
}
.about-title-line { display:block; overflow:hidden; padding-block:.13em; margin-block:-.13em; }
.about-title-line > span { display:block; }
.company-about-intro { margin:64px 0 0 8%; max-width:29rem; }
.company-about-lead { font-size:clamp(21px,1.85vw,28px); line-height:1.8; letter-spacing:-.015em; }
.company-about-description { margin-top:23px; font-size:14px; line-height:2.1; color:#555; }
.company-about-figure { margin-top:72px; min-width:0; }
.company-about-image { overflow:hidden; background:#eeede9; }
.company-about-image img {
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:53% 50%;
}
.company-about-figure figcaption {
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:15px;
  font-size:9px;
  letter-spacing:.07em;
  color:#666;
}
.company-page-index { display:flex; gap:40px; margin-top:58px; }
.company-page-index a {
  display:flex;
  align-items:center;
  gap:13px;
  min-height:48px;
  padding-block:10px;
  border-bottom:1px solid var(--company-rule);
  font-size:12px;
  transition:border-color .25s;
}
.company-page-index a:hover { border-color:var(--ink); }
.company-index-number { font-size:10px; color:#777; }
.company-page-index svg,
.company-business-link svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.2; flex:none; }
.company-page-index svg { margin-left:18px; }
.company-manifesto { padding-top:clamp(120px,13vw,200px); padding-bottom:clamp(90px,10vw,150px); scroll-margin-top:calc(var(--header) + 24px); }
.company-manifesto-grid {
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(48px,6vw,96px);
  margin-top:68px;
}
.company-manifesto h2 {
  font-family:var(--sans);
  font-size:clamp(42px,5.4vw,80px);
  line-height:1.5;
  font-weight:400;
  letter-spacing:-.055em;
  font-feature-settings:"palt" 1;
}
.company-manifesto-translation {
  margin-top:39px;
  font-size:clamp(22px,2.1vw,32px);
  font-weight:400;
  line-height:1.16;
  letter-spacing:-.045em;
}
.company-manifesto-copy { padding-top:14px; max-width:28rem; }
.company-manifesto-copy > p { font-size:15px; line-height:2.25; letter-spacing:.015em; color:#444; }
.company-manifesto-copy > p + p { margin-top:32px; }
.company-manifesto-copy > .company-manifesto-last { color:var(--ink); }
.company-business-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  max-width:220px;
  margin-top:36px;
  padding-block:14px;
  min-height:48px;
  border-bottom:1px solid var(--company-rule);
  font-size:12px;
  transition:border-color .25s;
}
.company-business-link:hover { border-color:var(--ink); }
.company-business-link svg { transition:transform .3s var(--ease); }
.company-business-link:hover svg { transform:translateX(4px); }

/* The title resolves line by line; reading and interaction never wait for it. */
@keyframes company-type-in {
  from { opacity:0; transform:translateY(102%); }
  to { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:no-preference) {
  html[data-entry="inner"] .about-title-line > span { animation:company-type-in 850ms var(--ease) 40ms both; }
  html[data-entry="inner"] .about-title-line:nth-child(2) > span { animation-delay:150ms; }
  html[data-entry="inner"] .company-about-intro { animation:quiet-arrival 750ms var(--ease) 220ms both; }
}
html.motion-interrupted .company-about *,
html[data-scene-motion="off"] .company-about * { animation:none!important; }

@media(max-width:1000px) and (min-width:761px) {
  .company-about-spread { column-gap:28px; padding-top:54px; }
  .company-about-figure { margin-top:68px; }
  .company-about-intro { margin-left:0; margin-top:42px; }
  .company-manifesto-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px; }
  .company-manifesto-copy > p { font-size:14px; }
}
@media(max-width:760px) {
  .company-about { padding-top:24px; }
  .company-chapter { padding-top:14px; gap:12px; }
  .company-chapter-label { font-size:10px; letter-spacing:.03em; }
  .company-chapter-note { font-size:10px; letter-spacing:0; }
  .company-about-spread { grid-template-columns:minmax(0,1fr); gap:42px; padding-top:44px; }
  .company-about h1 { font-size:clamp(36px,9.4vw,64px); line-height:1.45; letter-spacing:-.045em; }
  .company-about-intro { margin:30px 0 0; }
  .company-about-lead { font-size:20px; line-height:1.8; }
  .company-about-description { font-size:14px; margin-top:17px; line-height:2; }
  .about-desktop-break { display:none; }
  .company-about-figure { margin-top:0; width:80%; justify-self:end; }
  .company-about-image img { aspect-ratio:1/1; }
  .company-about-figure figcaption { margin-top:12px; font-size:8px; }
  .company-page-index { gap:24px; margin-top:30px; }
  .company-page-index a { flex:1; gap:8px; }
  .company-page-index svg { margin-left:auto; width:18px; }
  .company-manifesto { padding-top:96px; padding-bottom:84px; }
  .company-manifesto-grid { grid-template-columns:minmax(0,1fr); gap:43px; margin-top:40px; }
  .company-manifesto h2 { font-size:clamp(42px,10.6vw,64px); line-height:1.47; letter-spacing:-.045em; }
  .company-manifesto-translation { margin-top:23px; font-size:23px; line-height:1.16; }
  .company-manifesto-copy { padding:0; margin-left:8%; max-width:34rem; }
  .company-manifesto-copy > p { font-size:14px; line-height:2.2; }
  .company-manifesto-copy > p + p { margin-top:26px; }
  .company-business-link { margin-top:28px; max-width:none; }
}
@media(max-width:374px) {
  .company-chapter-note { font-size:9px; }
  .company-page-index { gap:17px; }
  .company-page-index a { font-size:11px; }
  .company-manifesto-copy { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) {
  .company-about *, .company-manifesto * { animation:none!important; transition:none!important; }
}
@media print {
  .company-page-index { display:none; }
  .company-about,.company-manifesto { padding-block:30px; }
  .company-about *, .company-manifesto * { animation:none!important; }
  .company-manifesto-grid { break-inside:avoid; }
}
