/* Photo and flow refinement. The approved research exhibition is untouched. */
:root{--photo-ease:cubic-bezier(.22,1,.36,1);--photo-zoom:1.055}
.hero-photo,.outdoor-image,.tedx-image,.year-photo,.story-visual{isolation:isolate}
.photo-media{position:absolute;inset:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(transparent,#000 7%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(transparent,#000 7%,#000 91%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect;
}
.photo-media img{scale:1;transition:scale 1.1s var(--photo-ease)}
.hero-photo{margin:16px 24px 16px -16px;overflow:visible}
.hero-photo .photo-media{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 88%,transparent),linear-gradient(transparent,#000 9%,#000 84%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 88%,transparent),linear-gradient(transparent,#000 9%,#000 84%,transparent);
}
.hero-photo .photo-media>img{width:100%;height:calc(100% + 90px);position:absolute;top:-45px;object-fit:cover;object-position:53% center}
.hero-photo:after{inset:55% 0 0;background:linear-gradient(transparent,#801b2caa 65%,var(--red));z-index:0}
.hero-photo .photo-caption{bottom:36px;left:46px;right:38px;text-shadow:0 2px 12px #0006}
.outdoor-image .photo-media{inset:-1px}
.outdoor-image .image-label{bottom:36px;left:36px;right:36px;text-shadow:0 2px 8px #000}
.tedx-image .photo-media{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 8%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(transparent,#000 8%,#000 90%,transparent);
}
.year-photo{position:relative;aspect-ratio:1.65}
.tedx-years .year-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.tedx-years figure{position:relative}
.tedx-years figcaption{margin-top:10px}

/* Adjacent chapters share a transition, rather than two full section paddings. */
.curriculum{padding-bottom:32px}
.elective-note{margin-top:28px;padding:0;border-bottom:0}
.elective-note summary{padding:20px 0;align-items:center;gap:24px}
.elective-note>p{margin:0;padding:0 0 22px}
.journey{padding-top:48px;padding-bottom:64px;background:linear-gradient(var(--paper),#eaece5 100px,#eaece5 calc(100% - 90px),var(--paper))}
.journey .section-heading{margin-bottom:36px}
.journey{--muted:#59645c}
.journey-note{margin-top:36px}
.outdoor{padding-top:60px;padding-bottom:30px;background:linear-gradient(var(--paper) 70%,#e9e5df)}
.outdoor>.wrap>.eyebrow{margin-bottom:28px}
.subheading{margin-top:48px;margin-bottom:24px}
.research{padding-top:48px}

/* The whole story is one link. Revealing a summary does not move the page. */
.story-grid{gap:30px;align-items:start}
.story-card{position:relative;min-width:0}
.story-card:focus-within,.story-card:hover{z-index:4}
.story-link{display:block;position:relative;transition:transform .65s var(--photo-ease);outline-offset:8px}
.story-visual{position:relative;aspect-ratio:1.6}
.story-visual .photo-media img{width:100%;height:100%;object-fit:cover}
.story-copy{position:relative;padding:18px 4px 10px}
.story-copy h3{font:25px/1.2 var(--serif);margin:0 0 12px;text-wrap:balance;transition:color .3s}
.story-action{display:inline-flex;align-items:center;gap:22px;font-size:12px;color:var(--red);border-bottom:1px solid #9b8176;padding-bottom:5px}
.story-action>span{transition:transform .4s var(--photo-ease)}
.story-teaser{position:absolute;left:0;right:0;bottom:100%;padding:44px 20px 18px;background:linear-gradient(transparent,#f7f5f0f5 25%,var(--paper));opacity:0;transform:translateY(12px);visibility:hidden;pointer-events:none;transition:opacity .4s,transform .55s var(--photo-ease),visibility .4s}
.story-teaser p{color:#485249;font-size:13px;line-height:1.7;margin:0}
.story-link:focus-visible .story-teaser{opacity:1;transform:none;visibility:visible}
.story-link:focus-visible .photo-media img{scale:var(--photo-zoom)}
.story-link:focus-visible .story-copy h3{color:var(--red)}

.hover-disclosure summary{transition:color .3s,background .3s}
.hover-disclosure[open]>summary{color:var(--red)}
.hover-disclosure[open] .plus{rotate:45deg;background:var(--red);color:var(--paper);border-color:var(--red)}
.hover-disclosure[open]>p{animation:disclosure-reveal .45s var(--photo-ease) both}
.tedx .hover-disclosure[open]>summary{color:#d7e4c9}
@keyframes disclosure-reveal{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (pointer:fine){
  .hero-photo:hover .photo-media img,.outdoor-image:hover .photo-media img,.tedx-image:hover .photo-media img,.tedx-years figure:hover .photo-media img{scale:var(--photo-zoom)}
  .story-link:hover{transform:translateY(-5px) scale(1.025)}
  .story-link:hover .photo-media img{scale:1.075}
  .story-link:hover .story-teaser{opacity:1;transform:none;visibility:visible}
  .story-link:hover .story-copy h3{color:var(--red)}
  .story-link:hover .story-action>span{transform:translate(3px,-3px)}
  .hover-disclosure:hover>summary{background:#801b2c07;color:var(--red)}
  .tedx .hover-disclosure:hover>summary{background:#c0cfb20b;color:#d7e4c9}
}
@media(hover:none),(pointer:coarse){
  .story-teaser{position:static;padding:0 0 16px;background:none;opacity:1;transform:none;visibility:visible}
}
@media(min-width:1600px){.hero-photo{margin-right:max(24px,calc((100vw - 1384px)/2))}}
@media(max-width:900px){
  .hero-photo{margin:12px 16px 12px -8px}
  .hero-photo .photo-caption{left:28px;right:24px}
  .story-grid{gap:20px}
  .story-teaser{padding:30px 12px 14px}
  .story-teaser p{font-size:12px}
}
@media(max-width:680px){
  .hero-photo{margin:-8px 8px 12px;min-height:380px}
  .hero-photo .photo-media>img{object-position:center 35%}
  .hero-photo .photo-caption{left:28px;right:28px;bottom:30px}
  .hero-photo .photo-media{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(transparent,#000 12%,#000 83%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(transparent,#000 12%,#000 83%,transparent);
  }
  .curriculum{padding-bottom:20px}.journey{padding-top:32px;padding-bottom:44px}
  .outdoor{padding-top:38px;padding-bottom:24px}.research{padding-top:32px}
  .elective-note summary{padding:17px 0}.elective-note>p{font-size:13px;padding-bottom:16px}
  .outdoor-image{height:370px;margin:0 -8px}
  .outdoor-image .image-label{left:26px;bottom:30px}
  .subheading{margin-top:34px;margin-bottom:24px}.story-grid{gap:26px}
  .story-copy{padding:10px 2px 8px}.story-copy h3{font-size:28px}
  .story-teaser{position:static;padding:0 0 14px;background:none;opacity:1;transform:none;visibility:visible}
  .story-teaser p{font-size:14px}
  .year-photo{aspect-ratio:1.2}
  .tedx-image{margin:0 -8px}
}
.motion-off .photo-media img{scale:1!important}
.motion-off .story-link:hover{transform:none}
@media(prefers-reduced-motion:reduce){.photo-media img{scale:1!important}.story-link:hover{transform:none}}
