.page-about {
  --about-media-radius:20px;
  --about-card-radius:24px;
}

.about-introduction {
  padding-block:44px 0;
}

.about-introduction h1 {
  font-size:var(--heading-size);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.05em;
  color:var(--brand);
  margin:0 0 36px;
  overflow-wrap:break-word;
}

.about-intro-image {
  margin-top:44px;
}

.about-intro-image img {
  width:100%;
  aspect-ratio:2.2/1;
  height:auto;
  object-fit:cover;
  object-position:center 60%;
  border-radius:var(--about-media-radius);
}

.about-ownership {
  padding-block:112px;
}

.ownership-statement {
  font-size:clamp(2.6rem,4.6vw,4.75rem);
  line-height:1.17;
  font-weight:600;
  letter-spacing:-.045em;
  color:var(--accent);
  max-width:24ch;
  margin:0 0 36px;
}

.about-reveal summary {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  list-style:none;
  cursor:pointer;
  min-height:52px;
  border:1px solid currentColor;
  border-radius:999px;
  padding:10px 12px 10px 24px;
  font-size:.9375rem;
  font-weight:600;
  line-height:1.5;
  color:var(--accent);
}

.about-reveal summary::-webkit-details-marker, .model-rows summary::-webkit-details-marker {
  display:none;
}

.about-reveal summary:hover {
  background:var(--surface-blue);
}

.about-reveal summary:focus-visible, .model-rows summary:focus-visible {
  outline:3px solid var(--highlight);
  outline-offset:6px;
}

.disclosure-indicator {
  display:block;
  position:relative;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid currentColor;
  border-radius:50%;
  color:inherit;
}

.disclosure-indicator:before, .disclosure-indicator:after {
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:13px;
  height:1.5px;
  background:currentColor;
}

.disclosure-indicator:after {
  transform:rotate(90deg);
  transition:transform 150ms ease;
}

details[open]>summary .disclosure-indicator:after {
  transform:rotate(0deg);
}

.reveal-copy {
  max-width:68ch;
  padding-top:28px;
}

.reveal-copy p {
  font-size:1.125rem;
  line-height:1.8;
  margin:0 0 20px;
}

.reveal-copy p:last-child {
  margin-bottom:0;
}

.about-feature {
  padding:64px;
  border-radius:var(--about-card-radius);
  margin-bottom:40px;
}

.task-feature {
  background:var(--brand);
  color:white;
}

.about-feature .feature-label {
  font-size:1.0625rem;
  font-weight:600;
  letter-spacing:0;
  line-height:1.5;
  margin:0 0 36px;
  color:inherit;
}

.task-feature .feature-label {
  color:#d1e1d7;
}

.about-feature .feature-statement {
  font-size:clamp(2.3rem,4.4vw,4.25rem);
  line-height:1.22;
  letter-spacing:-.04em;
  font-weight:600;
  max-width:29ch;
  margin:0 0 40px;
  color:inherit;
}

.task-feature .about-reveal summary {
  color:white;
  border-color:#8cad97;
}

.task-feature .about-reveal summary:hover {
  background:#245a48;
}

.task-feature .reveal-copy {
  color:inherit;
}

.about-model-section {
  padding-block:88px 96px;
}

.about-model-section>h2 {
  font-size:clamp(2.75rem,5.4vw,5.25rem);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.05em;
  margin:0 0 56px;
}

.model-rows {
  border-top:1px solid var(--border);
}

.model-rows details {
  border-bottom:1px solid var(--border);
}

.model-rows summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  list-style:none;
  cursor:pointer;
  padding:40px 0;
  min-height:144px;
  color:var(--brand);
}

.model-rows summary h3 {
  font-size:clamp(1.8rem,3.4vw,3.125rem);
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.035em;
  margin:0;
  color:inherit;
  max-width:28ch;
}

.model-rows summary:hover {
  color:var(--accent);
}

.model-rows .disclosure-indicator {
  width:48px;
  height:48px;
  flex-basis:48px;
}

.model-rows .disclosure-indicator:before, .model-rows .disclosure-indicator:after {
  left:15px;
  right:15px;
  top:22px;
  height:2px;
}

.model-rows .reveal-copy {
  padding:0 0 36px;
  max-width:70ch;
}

.partner-links {
  display:flex;
  flex-wrap:wrap;
  gap:16px 32px;
  margin-top:24px;
}

.partner-links a {
  font-size:1rem;
  font-weight:600;
  line-height:1.8;
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:5px;
  padding-block:8px;
}

.partner-links a:hover {
  color:var(--highlight);
}

.location-feature {
  padding:64px;
  background:var(--surface);
  border-radius:var(--about-card-radius);
  margin-bottom:96px;
}

.location-feature h2 {
  font-size:clamp(2.5rem,4.8vw,4.5rem);
  line-height:1.15;
  font-weight:600;
  letter-spacing:-.045em;
  margin:0 0 28px;
  color:var(--brand);
}

.location-feature p {
  font-size:1.25rem;
  line-height:1.8;
  max-width:62ch;
  margin:0;
  color:var(--text);
}

@media(max-width:900px) {
  .about-introduction {
    padding-top:32px;
  }

  .about-introduction h1 {
    font-size:var(--heading-size);
  }

  .about-ownership {
    padding-block:80px;
  }

  .about-feature, .location-feature {
    padding:44px;
  }

  .about-feature .feature-statement {
    font-size:2.9rem;
  }

  .about-model-section {
    padding-block:64px 72px;
  }

  .model-rows summary {
    min-height:120px;
    padding-block:32px;
  }

  .location-feature {
    margin-bottom:72px;
  }
}

@media(max-width:600px) {
  .about-introduction {
    padding-top:24px;
  }

  .about-introduction h1 {
    font-size:var(--heading-size);
    line-height:1.1;
    letter-spacing:-.05em;
    margin-bottom:28px;
  }

  .about-intro-image {
    margin-top:32px;
  }

  .about-intro-image img {
    aspect-ratio:3/2;
    border-radius:16px;
  }

  .about-ownership {
    padding-block:64px;
  }

  .ownership-statement {
    font-size:2.4rem;
    line-height:1.22;
    margin-bottom:28px;
  }

  .about-reveal summary {
    font-size:.875rem;
    gap:18px;
    padding-left:20px;
  }

  .reveal-copy {
    padding-top:24px;
  }

  .reveal-copy p {
    font-size:1rem;
    line-height:1.75;
  }

  .about-feature {
    padding:32px 24px;
    border-radius:20px;
    margin-bottom:24px;
  }

  .about-feature .feature-label {
    font-size:1rem;
    margin-bottom:26px;
  }

  .about-feature .feature-statement {
    font-size:2.2rem;
    line-height:1.28;
    margin-bottom:30px;
  }

  .about-model-section {
    padding-block:48px 56px;
  }

  .about-model-section>h2 {
    font-size:2.65rem;
    margin-bottom:36px;
  }

  .model-rows summary {
    gap:20px;
    min-height:110px;
    padding-block:28px;
  }

  .model-rows summary h3 {
    font-size:1.8rem;
    line-height:1.3;
  }

  .model-rows .disclosure-indicator {
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .model-rows .disclosure-indicator:before, .model-rows .disclosure-indicator:after {
    left:11px;
    right:11px;
    top:17px;
  }

  .model-rows .reveal-copy {
    padding-bottom:28px;
  }

  .location-feature {
    padding:32px 24px;
    border-radius:20px;
    margin-bottom:56px;
  }

  .location-feature h2 {
    font-size:2.45rem;
  }

  .location-feature p {
    font-size:1.0625rem;
    line-height:1.75;
  }
}

@media(prefers-reduced-motion:reduce) {
  .disclosure-indicator:after {
    transition:none;
  }
}

.location-image {
  margin-top:40px;
}

.location-image img {
  width:100%;
  height:auto;
  border-radius:20px;
}

@media(max-width:600px) {
  .location-image {
    margin-top:28px;
  }

  .location-image img {
    border-radius:16px;
  }
}

.task-feature-image {
  margin-top:44px;
}

.task-feature-image img {
  width:100%;
  height:auto;
  aspect-ratio:2.6/1;
  object-fit:cover;
  object-position:center;
  border-radius:20px;
}

@media(max-width:600px) {
  .task-feature-image {
    margin-top:32px;
  }

  .task-feature-image img {
    aspect-ratio:3/2;
    border-radius:16px;
  }
}

.partner-links {
  align-items:center;
  gap:20px 48px;
}

.partner-links a {
  display:flex;
  align-items:center;
  min-height:64px;
  text-decoration:none;
  padding-block:8px;
}

.partner-logo {
  object-fit:contain;
  height:auto;
}

.partner-logo-wsp {
  width:100px;
}

.partner-logo-mcmillan {
  width:155px;
}
