/* Client's five-course sequence, with paired rather than serial mobile cards. */
#programs .program-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;overflow:visible}
#programs .program-card{grid-column:span 2;min-height:370px;min-width:0;border:0;flex:none}
#programs .program-card:nth-child(-n+2){grid-column:span 3;min-height:420px}
#programs .program-card-copy{left:28px;right:28px;bottom:28px}
#programs .program-card-copy h3{font-size:32px;line-height:1.4}
#programs .program-card-copy p{font-size:18px;line-height:1.85}
#programs .program-card-copy>small{font-size:13px;line-height:1.7;letter-spacing:0}
.blog-section{border-top:1px solid var(--line)}
.blog-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.blog-links>a{border-block:1px solid var(--line);padding:28px 0;min-width:0}
.blog-links span{font-size:15px;color:var(--muted)}
.blog-links h3{font-size:27px;line-height:1.5;margin:16px 0 24px;overflow-wrap:anywhere}
.blog-links p{font-size:16px}
.blog-links a:hover h3{text-decoration:underline;text-underline-offset:6px}
.site-menu-head{position:sticky;top:0}
.site-menu-primary>button{font-size:30px;padding-block:12px;line-height:1.4}
.site-menu-secondary{position:sticky;top:124px;align-self:start}
html[data-layout=mobile] #programs .program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
html[data-layout=mobile] #programs .program-card,html[data-layout=mobile] #programs .program-card:nth-child(-n+2){grid-column:span 1;min-height:330px;height:auto;aspect-ratio:auto;width:100%}
html[data-layout=mobile] #programs .program-card:first-child{grid-column:1/-1;min-height:0;height:clamp(280px,79vw,390px)}
@media(max-width:800px){
 html[data-layout=mobile] #programs .program-card-copy{left:17px;right:15px;bottom:24px}
 html[data-layout=mobile] #programs .program-card-copy h3{font-size:23px}
 html[data-layout=mobile] #programs .program-card-copy p{font-size:15px;line-height:1.85}
 html[data-layout=mobile] #programs .program-card:first-child h3{font-size:29px}
 html[data-layout=mobile] #programs .program-card:first-child p{font-size:17px}
 html[data-layout=mobile] .early-stage-links{grid-template-columns:repeat(3,minmax(0,1fr))}
 .blog-links{gap:20px}.blog-links h3{font-size:21px}.blog-links p{font-size:15px}
 .site-menu-primary>button{font-size:20px;line-height:1.5;min-height:52px;padding-block:10px}
 .site-menu-secondary{top:104px}
}
@media(max-width:360px){html[data-layout=mobile] #programs .program-card-copy{left:14px;right:13px}html[data-layout=mobile] #programs .program-card-copy h3{font-size:21px}.site-menu-primary>button{font-size:19px}.blog-links h3{font-size:19px}}

/* Opposing arrivals bring the photographs and reading back together. */
#programs,#journal,#field-records,#school-criteria,.contact-section,.blog-section{overflow-x:clip}
.motion-from-left.reveal-target{transform:translate3d(-84px,0,0);clip-path:none;transition:opacity .8s ease,transform 1.05s cubic-bezier(.22,.75,.18,1)}
.motion-from-right.reveal-target{transform:translate3d(84px,0,0);clip-path:none;transition:opacity .8s ease,transform 1.05s cubic-bezier(.22,.75,.18,1)}
.motion-from-left.reveal-target.is-revealed,.motion-from-right.reveal-target.is-revealed{transform:translate3d(0,0,0);opacity:1}
.program-card.scroll-photo{transform:translate3d(var(--scene-slide,0px),var(--scene-rise,0px),0)!important}
.scroll-photo img{transform:translate3d(var(--photo-arrival-x,0px),var(--photo-drift,0px),0) scale(var(--scene-scale,1.05))}
@media(max-width:800px){.motion-from-left.reveal-target{transform:translate3d(-32px,0,0)}.motion-from-right.reveal-target{transform:translate3d(32px,0,0)}.motion-from-left.reveal-target.is-revealed,.motion-from-right.reveal-target.is-revealed{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-from-left.reveal-target,.motion-from-right.reveal-target,.program-card.scroll-photo,.scroll-photo img{transform:none!important;opacity:1;transition:none!important}}
/* Equal reading rows keep every school link and rule on the same baseline. */
#journal .journal-card{display:flex;flex-direction:column;min-width:0;align-self:stretch}
#journal .journal-image{flex:none}
#journal .journal-card>small{min-height:1.7em;flex:none}
#journal .journal-card h3{flex:1;min-height:2.9em;line-height:1.45;margin-bottom:0}
#journal .journal-card>p{flex:none;min-height:1.7em;margin-top:24px}
html[data-layout=mobile] #journal .journal-card>small{min-height:3.4em}
html[data-layout=mobile] #journal .journal-card>p{min-height:3.4em;margin-top:18px;align-items:center}

/* A held school scene: wheel/touch travel changes the scene before it releases. */
@media(min-height:650px) and (prefers-reduced-motion:no-preference){
 #journal{position:relative;padding-block:0;min-height:175svh;overflow:visible}
 #journal .journal-stage{position:sticky;top:0;box-sizing:border-box;min-height:100svh;padding-block:5svh 3svh;display:flex;flex-direction:column;justify-content:center;background:#fff}
 #journal .section-heading{margin-bottom:3svh}
 #main #journal h2{font-size:38px;line-height:1.4}
 #journal .journal-image{height:26svh;margin-bottom:0}
 #journal .journal-card>small{margin-top:16px}
 #journal .journal-card h3{font-size:25px;margin-top:10px}
 #journal .journal-card>p{margin-top:16px;padding-block:12px}
 #journal .image-note{margin-top:22px}
 #journal .journal-card{opacity:var(--journal-opacity,1);transform:translate3d(var(--journal-arrival,0px),0,0);transition:none;clip-path:none}
 html[data-layout=mobile] #journal .journal-stage{padding-block:24px;min-height:100svh}
 html[data-layout=mobile] #journal .section-heading{margin-bottom:18px}
 html[data-layout=mobile] #main #journal h2{font-size:25px;line-height:1.4}
 html[data-layout=mobile] #journal .section-heading .text-link{margin-top:10px}
 html[data-layout=mobile] #journal .journal-grid{gap:18px 14px}
 html[data-layout=mobile] #journal .journal-image{height:14svh;aspect-ratio:auto}
 html[data-layout=mobile] #journal .journal-card>small{font-size:11px;margin-top:9px;min-height:3.4em}
 html[data-layout=mobile] #journal .journal-card h3{font-size:18px;margin-top:6px}
 html[data-layout=mobile] #journal .journal-card>p{font-size:12px;margin-top:10px;padding-block:8px}
 html[data-layout=mobile] #journal .image-note{font-size:11px;margin-top:14px}
}
@media(min-height:650px) and (prefers-reduced-motion:no-preference){
 html[data-layout=mobile] #journal .journal-stage{padding-block:12px}
 html[data-layout=mobile] #journal .section-kicker{margin-bottom:8px;font-size:11px}
 html[data-layout=mobile] #main #journal h2{font-size:23px;line-height:1.35;margin-bottom:0}
 html[data-layout=mobile] #journal .section-heading .text-link{font-size:13px;padding-block:8px;margin-top:8px}
 html[data-layout=mobile] #journal .journal-image{height:9svh}
 html[data-layout=mobile] #journal .journal-card>small{font-size:10px;line-height:1.5;min-height:3em;margin-top:6px}
 html[data-layout=mobile] #journal .journal-card h3{font-size:17px}
 html[data-layout=mobile] #journal .journal-card>p{font-size:11px;padding-block:6px;margin-top:8px}
 html[data-layout=mobile] #journal .image-note{font-size:10px;line-height:1.6;margin-top:10px}
}
