.hero {
  min-height:704px;
  border-radius:36px;
}

.hero-copy {
  padding:64px 44px 64px 48px;
}

.hero h1 {
  font-size:var(--heading-size);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.05em;
}

.hero-copy>p:not(.eyebrow) {
  margin:32px 0;
}

.hero-photo {
  margin:16px 16px 16px 0;
  border-radius:20px;
}

.hero-photo img {
  border-radius:20px;
}

.home-aims {
  padding-block:88px;
}

.aims-grid {
  grid-template-columns:1fr 1.6fr;
  gap:80px;
  align-items:start;
}

.aims-list>details {
  border-top:1px solid var(--border);
}

.aims-list>details:last-of-type {
  border-bottom:1px solid var(--border);
}

.aims-list summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:32px;
  min-height:104px;
  color:var(--accent);
  cursor:pointer;
  list-style:none;
}

.aims-list summary::-webkit-details-marker {
  display:none;
}

.aims-list summary:focus-visible {
  outline:3px solid var(--highlight);
  outline-offset:4px;
  border-radius:8px;
}

.aims-list details>p {
  max-width:60ch;
  margin:0;
  padding-bottom:32px;
}

.aim-indicator {
  position:relative;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:1px solid currentColor;
  border-radius:50%;
}

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

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

.aims-list details[open] .aim-indicator::after {
  transform:rotate(0deg);
}

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

.aims-list h2 {
  font-size:clamp(1.875rem,2.8vw,2.5rem);
  line-height:1.25;
  letter-spacing:-.035em;
}

.aims-list .button {
  margin-top:36px;
}

@media(min-width:1600px) {
  .hero {
    min-height:752px;
  }

  .hero-copy {
    padding-block:76px;
  }
}

@media(max-width:1150px) {
  .hero-copy {
    padding:52px 32px;
  }

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

  .aims-grid {
    gap:56px;
  }
}

@media(max-width:800px) {
  .hero {
    grid-template-columns:1fr;
    min-height:0;
  }

  .hero-copy {
    padding:48px 36px;
  }

  .hero h1 {
    font-size:var(--heading-size);
    max-width:640px;
  }

  .hero-copy>p:not(.eyebrow) {
    max-width:560px;
  }

  .hero-photo {
    margin:0 20px 20px;
    height:400px;
  }

  .hero-photo img {
    object-position:center 42%;
  }

  .home-aims {
    padding-block:68px;
  }

  .aims-grid {
    grid-template-columns:.75fr 1.4fr;
    gap:40px;
  }

  .aims-list h2 {
    font-size:1.875rem;
  }

  .aims-list summary {
    padding-block:28px;
    min-height:96px;
  }
}

@media(max-width:600px) {
  .hero {
    border-radius:32px;
  }

  .hero-copy {
    padding:40px 26px;
  }

  .hero h1 {
    font-size:var(--heading-size);
    line-height:1.1;
  }

  .hero-copy>p:not(.eyebrow) {
    margin:28px 0;
  }

  .hero-photo {
    margin:0 16px 16px;
    height:340px;
    border-radius:16px;
  }

  .hero-photo img {
    border-radius:16px;
  }

  .home-aims {
    padding-block:60px;
  }

  .aims-grid {
    grid-template-columns:1fr;
    gap:28px;
  }

  .aims-list summary {
    padding-block:26px;
    min-height:88px;
  }

  .aims-list h2 {
    font-size:1.8rem;
  }

  .aims-list .button {
    margin-top:30px;
  }
}

@media(max-width:360px) {
  .hero-copy {
    padding-inline:22px;
  }

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

  .hero-photo {
    height:300px;
  }
}

.home-vocation .eyebrow, .home-aims .eyebrow {
  font-size:1.125rem;
}

.vocation-passage {
  display:block;
}

.vocation-passage + .vocation-passage {
  margin-top:24px;
}

@media (prefers-reduced-motion:no-preference) {
  .vocation-opacity .vocation-passage:first-child {
    opacity:var(--vocation-first,1);
  }

  .vocation-opacity .vocation-passage:last-child {
    opacity:var(--vocation-second,.6);
  }
}

@media print {
  .vocation-opacity .vocation-passage {
    opacity:1 !important;
  }
}
