/* 5T-E — Institution, campuses and community, in the approved City in Motion system. */

/* ---------------------------------------------------------------- shared About section */
.abt-opening{padding-bottom:80px}
.abt-hero{height:min(620px,48vw)}

/* ---------------------------------------------------------------- F03 vision & mission */
.vm-statements{padding-top:120px;padding-bottom:40px;background:var(--paper)}
.vm-statement{display:grid;grid-template-columns:24% 1fr;gap:30px;padding-bottom:110px}
.vm-statement .flag-eyebrow{color:var(--sage);padding-top:18px}
.vm-statement h2{font-size:clamp(40px,5.4vw,86px);line-height:1.14;letter-spacing:-.065em;margin:0;max-width:1050px;font-weight:500}
.vm-statement .flag-rich{font-size:clamp(18px,1.5vw,21px);max-width:640px;margin-top:34px;color:var(--muted)}
.vm-statement.is-vision{border-top:1px solid var(--line);padding-top:110px}
.vm-statement.is-vision h2{color:var(--forest-2)}
.vm-statement.is-vision h2::first-line{color:var(--forest)}

.vm-values{display:grid;grid-template-columns:24% 1fr;gap:30px;padding-top:110px;padding-bottom:120px;background:var(--forest);color:var(--paper)}
.vm-values-head .flag-eyebrow{color:var(--lime)}
.vm-values-head h2{font-size:clamp(39px,4.4vw,70px);line-height:1.2;letter-spacing:-.06em;margin:28px 0 0}
.vm-values-list{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff2b}
.vm-values-list li{display:grid;grid-template-columns:70px minmax(0,.9fr) minmax(0,1.1fr);gap:24px;padding:38px 0 40px;border-bottom:1px solid #ffffff2b}
.vm-values-list li>span{font-size:14px;color:var(--lime);padding-top:12px}
.vm-values-list h3{font-size:clamp(28px,2.8vw,44px);line-height:1.2;letter-spacing:-.05em;font-weight:500;margin:0}
.vm-values-list .flag-rich{font-size:18px;color:#d7e2d5}
.vm-values-list .flag-rich p:last-child{margin-top:18px;padding:16px 20px;background:#ffffff0f;border-left:2px solid var(--lime);color:var(--paper);font-size:16px}
.vm-values-list .flag-rich strong{color:var(--lime);font-weight:600}

.vm-priorities{padding-top:110px;padding-bottom:120px;background:#e7eadf}
.vm-priorities>.flag-eyebrow{color:var(--sage)}
.vm-priorities>h2{font-size:clamp(39px,5.3vw,80px);line-height:1.2;letter-spacing:-.065em;margin:26px 0 60px}
.vm-priorities ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vm-priorities li{background:var(--paper);padding:34px 32px 40px;display:flex;flex-direction:column;min-height:330px;transition:background .3s,color .3s}
.vm-priorities li:hover{background:var(--lime)}
.vm-priorities li>span{font-size:clamp(60px,6vw,96px);line-height:1;letter-spacing:-.08em;color:#c5cfbf;transition:color .3s}
.vm-priorities li:hover>span{color:var(--forest)}
.vm-priorities h3{font-size:clamp(24px,2.1vw,32px);line-height:1.25;letter-spacing:-.04em;font-weight:500;margin:auto 0 14px}
.vm-priorities .flag-rich{font-size:17px;color:var(--muted)}

/* ---------------------------------------------------------------- F04 leadership & governance */
.ld-team{padding-top:110px;padding-bottom:120px;background:var(--paper)}
.ld-team-head{display:grid;grid-template-columns:24% 1fr;gap:30px;margin-bottom:60px;align-items:end}
.ld-team-head .flag-eyebrow{color:var(--sage)}
.ld-team-head h2,.ld-gov-head h2{font-size:clamp(39px,5.3vw,80px);line-height:1.2;letter-spacing:-.065em;margin:0}
.ld-people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px}
.ld-person{display:flex;flex-direction:column}
.ld-portrait{aspect-ratio:4/5;background:#e7eadf;display:grid;place-items:center;overflow:hidden;position:relative;transition:background .35s}
.ld-portrait img{width:100%;height:100%;object-fit:cover}
.ld-portrait>span{font-size:clamp(54px,6vw,96px);letter-spacing:-.07em;color:var(--forest);font-weight:500;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ld-person:hover .ld-portrait{background:var(--lime)}
.ld-person:hover .ld-portrait>span{transform:scale(1.08)}
.ld-person-copy{padding-top:22px}
.ld-role{font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--sage);margin:0 0 10px}
.ld-person h3{font-size:clamp(24px,2vw,30px);letter-spacing:-.04em;line-height:1.25;font-weight:500;margin:0 0 14px}
.ld-person .flag-rich{font-size:16px;color:var(--muted)}
/* The president leads the page as a wide profile. */
.ld-person.is-lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(30px,5vw,90px);align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:12px}
.ld-person.is-lead .ld-portrait{aspect-ratio:auto;height:min(520px,42vw);background:var(--forest)}
.ld-person.is-lead .ld-portrait>span{color:var(--lime);font-size:clamp(90px,11vw,180px)}
.ld-person.is-lead:hover .ld-portrait{background:var(--forest-2)}
.ld-person.is-lead h3{font-size:clamp(40px,4.6vw,72px);letter-spacing:-.06em;line-height:1.1;margin-bottom:26px}
.ld-person.is-lead .flag-rich{font-size:clamp(18px,1.5vw,21px);max-width:620px}

.ld-governance{padding-top:110px;padding-bottom:120px;background:#e7eadf}
.ld-gov-head{display:grid;grid-template-columns:24% 1fr;gap:30px;margin-bottom:70px;align-items:end}
.ld-gov-head .flag-eyebrow{color:var(--sage)}
/* The chart is an ordered list: reading order is the reporting order, so it needs no separate text version. */
.ld-chart{list-style:none;margin:0 auto;padding:0;max-width:980px;display:flex;flex-direction:column;align-items:center}
.ld-tier{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;padding-bottom:64px}
.ld-tier::after{content:"";position:absolute;left:50%;bottom:8px;height:48px;width:1px;background:var(--forest)}
.ld-tier:last-child{padding-bottom:0}
.ld-tier:last-child::after{display:none}
.ld-node{width:min(620px,100%);background:var(--paper);border:1px solid var(--forest);padding:28px 32px;text-align:center}
.ld-tier:first-child .ld-node{background:var(--forest);color:var(--paper)}
.ld-tier:first-child .ld-node .flag-rich{color:#d7e2d5}
.ld-node h3{font-size:clamp(24px,2.3vw,34px);letter-spacing:-.045em;line-height:1.2;font-weight:500;margin:0 0 10px}
.ld-node .flag-rich{font-size:16px;color:var(--muted)}
.ld-tier.is-departments{padding-top:6px}
.ld-tier-label{font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-weight:700;color:var(--sage)}
.ld-tier.is-departments ul{list-style:none;margin:0;padding:22px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;border-top:1px solid var(--forest);position:relative}
.ld-tier.is-departments ul a{display:flex;justify-content:space-between;align-items:start;gap:12px;min-height:118px;padding:20px;background:var(--lime);color:var(--forest);text-decoration:none;font-size:18px;line-height:1.35;transition:background .25s,color .25s}
.ld-tier.is-departments ul a:hover,.ld-tier.is-departments ul a:focus-visible{background:var(--forest);color:var(--paper)}

/* ---------------------------------------------------------------- F05 history & milestones */
.hs-timeline{display:grid;grid-template-columns:24% 1fr;gap:30px;padding-top:110px;padding-bottom:130px;background:var(--paper)}
.hs-side{position:sticky;top:96px;align-self:start}
.hs-side .flag-eyebrow{color:var(--sage)}
.hs-side h2{font-size:clamp(34px,3.4vw,54px);line-height:1.15;letter-spacing:-.06em;margin:24px 0 40px}
.hs-years ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.hs-years a{display:block;padding:7px 0 7px 18px;margin-left:-1px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-size:17px;font-variant-numeric:tabular-nums;transition:color .2s,border-color .2s}
.hs-years a:hover,.hs-years a:focus-visible,.hs-years a[aria-current=true]{color:var(--forest);border-left-color:var(--forest)}
.hs-list{list-style:none;margin:0;padding:0;position:relative}
.hs-list::before{content:"";position:absolute;left:clamp(150px,15vw,250px);top:0;bottom:0;width:1px;background:var(--line)}
.hs-item{display:grid;grid-template-columns:clamp(150px,15vw,250px) 1fr;scroll-margin-top:90px;padding:0 0 90px}
.hs-item:last-child{padding-bottom:0}
.hs-year{margin:0;font-size:clamp(46px,5.4vw,88px);line-height:.95;letter-spacing:-.075em;color:#c5cfbf;font-variant-numeric:tabular-nums;padding-right:24px;transition:color .4s}
.hs-item:hover .hs-year,.hs-item:target .hs-year{color:var(--forest)}
.hs-copy{position:relative;padding-left:clamp(28px,4vw,60px);max-width:760px}
.hs-copy::before{content:"";position:absolute;left:-6px;top:14px;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--forest);transition:background .3s}
.hs-item:hover .hs-copy::before,.hs-item:target .hs-copy::before{background:var(--lime)}
.hs-copy h3{font-size:clamp(28px,2.8vw,44px);line-height:1.2;letter-spacing:-.05em;font-weight:500;margin:0 0 16px}
.hs-copy .flag-rich{font-size:18px;color:var(--muted);max-width:620px}
.hs-media{margin:30px 0 0;height:min(400px,32vw);overflow:hidden;background:var(--forest)}
.hs-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.hs-item:hover .hs-media img{transform:scale(1.03)}
.hs-item:last-child .hs-year{color:var(--forest)}
.hs-item:last-child .hs-copy::before{background:var(--lime)}

/* ---------------------------------------------------------------- About page link to History */
.flag-history-head .flag-text-link{margin-top:24px}

@media(max-width:1100px){
  .vm-values{display:block}
  .vm-values-list{margin-top:45px}
  .vm-priorities ol{grid-template-columns:1fr 1fr}
  .ld-people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ld-tier.is-departments ul{grid-template-columns:1fr 1fr}
  .hs-timeline{display:block}
  .hs-side{position:static;margin-bottom:50px}
  .hs-years ol{display:flex;flex-wrap:wrap;gap:8px;border:0}
  .hs-years a{border:1px solid var(--line);border-radius:40px;padding:8px 16px;margin:0}
  .hs-years a:hover,.hs-years a:focus-visible{border-color:var(--forest)}
}
@media(max-width:700px){
  .abt-hero{height:300px;min-height:0}
  .vm-statements{padding-top:80px;padding-bottom:10px}
  .vm-statement{display:block;padding-bottom:75px}
  .vm-statement.is-vision{padding-top:75px}
  .vm-statement h2{font-size:clamp(34px,9vw,48px);margin-top:22px}
  .vm-statement .flag-rich{font-size:17px;margin-top:22px}
  .vm-values{padding-top:80px;padding-bottom:85px}
  .vm-values-list li{grid-template-columns:40px 1fr;gap:8px 12px;padding:28px 0}
  .vm-values-list li>.flag-rich{grid-column:2}
  .vm-values-list h3{font-size:28px}
  .vm-values-list .flag-rich{font-size:16px}
  .vm-priorities{padding-top:80px;padding-bottom:85px}
  .vm-priorities>h2{font-size:clamp(38px,9vw,55px);margin-bottom:35px}
  .vm-priorities ol{grid-template-columns:1fr;gap:12px}
  .vm-priorities li{min-height:0;padding:26px 24px 30px}
  .vm-priorities li>span{font-size:54px;margin-bottom:28px}
  .ld-team,.ld-governance{padding-top:80px;padding-bottom:85px}
  .ld-team-head,.ld-gov-head{display:block;margin-bottom:40px}
  .ld-team-head h2,.ld-gov-head h2{font-size:clamp(38px,9vw,55px);margin-top:22px}
  .ld-people{grid-template-columns:1fr 1fr;gap:34px 14px}
  .ld-person.is-lead{display:block;padding-bottom:30px}
  .ld-person.is-lead .ld-portrait{height:280px}
  .ld-person.is-lead h3{font-size:40px;margin:0 0 16px}
  .ld-person.is-lead .ld-person-copy{padding-top:24px}
  .ld-role{font-size:12px}
  .ld-person h3{font-size:21px}
  .ld-person .flag-rich{font-size:15px}
  .ld-tier{align-items:stretch;padding-bottom:44px}
  .ld-tier::after{height:32px}
  .ld-node{padding:22px 20px}
  .ld-node h3{font-size:24px}
  .ld-tier.is-departments{align-items:center}
  .ld-tier.is-departments ul{grid-template-columns:1fr}
  .ld-tier.is-departments ul a{min-height:0}
  .hs-timeline{padding-top:80px;padding-bottom:90px}
  .hs-side h2{font-size:clamp(34px,9vw,48px);margin-bottom:26px}
  .hs-list::before{left:6px}
  .hs-item{display:block;padding:0 0 60px 34px;position:relative}
  .hs-year{font-size:52px;padding:0;margin-bottom:14px}
  .hs-copy{position:static;padding-left:0}
  .hs-copy::before{left:1px;top:14px}
  .hs-copy h3{font-size:28px}
  .hs-copy .flag-rich{font-size:16px}
  .hs-media{height:220px}
}
@media(prefers-reduced-motion:reduce){
  .ld-portrait>span,.hs-media img,.vm-priorities li{transition:none}
  .ld-person:hover .ld-portrait>span,.hs-item:hover .hs-media img{transform:none}
}

/* ---------------------------------------------------------------- footer: Campus life group (5 columns on desktop) */
@media(min-width:1101px){.site-footer .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr)) 1.3fr;gap:30px}}

/* ---------------------------------------------------------------- illustrative campus map */
.cm-map{position:relative;margin:0;aspect-ratio:1/1;max-width:460px;width:100%;justify-self:end}
.cm-map svg{position:absolute;inset:0;width:100%;height:100%}
.cm-region{fill:#ffffff10;stroke:#ffffff45;stroke-width:.35}
.cm-harbour{fill:none;stroke:var(--lime);stroke-width:.3;stroke-dasharray:1.2 1.2;opacity:.6}
.cm-pins{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.cm-pins li{position:absolute;transform:translate(-9px,-9px)}
.cm-pins a{display:flex;align-items:center;gap:10px;color:var(--paper);text-decoration:none;font-size:15px;white-space:nowrap}
.cm-pins i{width:18px;height:18px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px #e9ff8633;flex:0 0 auto;transition:box-shadow .3s}
.cm-pins a:hover i,.cm-pins a:focus-visible i,.cm-pins a[aria-current=page] i{box-shadow:0 0 0 12px #e9ff8640}
.cm-pins a[aria-current=page]{font-weight:700;color:var(--lime)}
.cm-map figcaption{position:absolute;left:0;bottom:-8px;font-size:13px;color:#9fb29f}
.cm-opening-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:50px;align-items:center}
.cm-opening-grid h1{margin-top:30px}

/* ---------------------------------------------------------------- campus directory */
.cm-filters{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px 60px;align-items:start;padding-top:40px;padding-bottom:40px;background:#e7eadf}
.cm-filter-group>p{font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin:0 0 14px;color:var(--sage)}
.cm-filters .study-disciplines{margin:0}
.cm-filters .study-disciplines a{color:var(--forest);border-color:#aab9a9}
.cm-filters .study-disciplines a[aria-current=true]{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.cm-filters .study-count{margin:0;white-space:nowrap;align-self:end}
.cm-list{list-style:none;margin:0;padding:0}
.cm-card{display:grid;grid-template-columns:55% 45%;min-height:620px;background:var(--paper);border-bottom:1px solid var(--line)}
.cm-card.is-reversed{grid-template-columns:45% 55%}
.cm-card.is-reversed .cm-card-media{order:2}
.cm-card-media{display:block;overflow:hidden;background:var(--forest)}
.cm-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.cm-card:hover .cm-card-media img{transform:scale(1.035)}
.cm-card-copy{padding:80px clamp(28px,5vw,90px);display:flex;flex-direction:column;justify-content:center;align-items:start}
.cm-card-copy .flag-eyebrow{color:var(--sage)}
.cm-card-copy h2{font-size:clamp(36px,3.8vw,60px);line-height:1.12;letter-spacing:-.06em;margin:22px 0 18px}
.cm-card-copy h2 a{text-decoration:none}
.cm-summary{font-size:18px;color:var(--muted);max-width:520px;margin:0 0 28px}
.cm-facts{margin:0 0 24px;width:100%;max-width:560px;border-top:1px solid var(--line)}
.cm-facts div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.cm-facts dt{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--sage)}
.cm-facts dd{margin:0;font-size:16px}
.cm-tags{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cm-tags li{font-size:14px;padding:6px 14px;border-radius:40px;background:#e7eadf}

/* ---------------------------------------------------------------- campus detail */
.cm-detail-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
.cm-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(40px,6vw,110px);align-items:center;padding-top:110px;padding-bottom:120px;background:var(--forest);color:var(--paper)}
.cm-location .flag-eyebrow{color:var(--lime)}
.cm-location-row h2{font-size:clamp(34px,3.6vw,56px);line-height:1.15;letter-spacing:-.06em;margin:26px 0 18px}
.cm-location-row .flag-rich{font-size:18px;color:#d7e2d5;max-width:560px;margin-bottom:26px}
.cm-subhead{font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:34px 0 14px;color:#9fb29f}
.cm-location .cm-tags li{background:#ffffff14;color:var(--paper)}
.cm-access{display:grid;grid-template-columns:24% 1fr;gap:30px;padding-top:100px;padding-bottom:110px;background:#e7eadf}
.cm-access .flag-eyebrow{color:var(--sage);padding-top:14px}
.cm-access h2{font-size:clamp(34px,3.6vw,56px);letter-spacing:-.06em;margin:0 0 22px}
.cm-access .flag-rich{font-size:19px;max-width:720px}

/* ---------------------------------------------------------------- student life */
.sl-essay{background:var(--paper)}
.sl-frame{display:grid;grid-template-columns:62% 38%;margin:0;min-height:560px}
.sl-frame.is-reversed{grid-template-columns:38% 62%}
.sl-frame.is-reversed .sl-frame-photo{order:2}
.sl-frame-photo{overflow:hidden;background:var(--forest)}
.sl-frame-photo img{width:100%;height:100%;object-fit:cover}
.sl-frame-copy{padding:60px clamp(28px,5vw,80px);display:flex;flex-direction:column;justify-content:end}
.sl-frame-copy>span{font-size:clamp(64px,7vw,110px);line-height:1;letter-spacing:-.08em;color:#c5cfbf}
.sl-frame-copy h2{font-size:clamp(30px,3vw,48px);line-height:1.15;letter-spacing:-.055em;margin:26px 0 16px}
.sl-frame-copy .flag-rich{font-size:17px;color:var(--muted);max-width:420px}
.sl-activities{display:grid;grid-template-columns:24% 1fr;gap:30px;padding-top:110px;padding-bottom:120px;background:var(--forest);color:var(--paper)}
.sl-activities .flag-eyebrow{color:var(--lime)}
.sl-activities h2{font-size:clamp(39px,4.4vw,70px);line-height:1.2;letter-spacing:-.06em;margin:28px 0 0}
.sl-activities ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.sl-activities li{padding:30px 0 34px;border-top:1px solid #ffffff2b}
.sl-activities h3{font-size:clamp(24px,2.2vw,34px);letter-spacing:-.045em;font-weight:500;margin:0 0 12px}
.sl-activities .flag-rich{font-size:17px;color:#d7e2d5}
.dept-events>.flag-text-link{margin-top:30px}
.sl-support{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-top:95px;padding-bottom:105px;background:var(--lime)}
.sl-support h2{font-size:clamp(39px,5.3vw,80px);letter-spacing:-.065em;margin:22px 0}
.sl-support .flag-rich{font-size:17px;max-width:560px}

/* ---------------------------------------------------------------- student support */
.ss-services{padding-top:110px;padding-bottom:120px;background:var(--paper)}
.ss-services ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ss-services li{border:1px solid var(--line);padding:32px 30px 36px;display:flex;flex-direction:column;min-height:300px;transition:background .3s,border-color .3s}
.ss-services li:hover{background:#e7eadf;border-color:#aab9a9}
.ss-services li>span{font-size:14px;color:var(--sage);font-weight:700;letter-spacing:.1em}
.ss-services h3{font-size:clamp(24px,2.1vw,32px);letter-spacing:-.045em;line-height:1.2;font-weight:500;margin:auto 0 14px;padding-top:50px}
.ss-services .flag-rich{font-size:16px;color:var(--muted)}
.ss-where{display:grid;grid-template-columns:24% 1fr;gap:30px;padding-top:100px;padding-bottom:110px;background:var(--forest);color:var(--paper)}
.ss-where .flag-eyebrow{color:var(--lime)}
.ss-where h2{font-size:clamp(34px,3.6vw,56px);letter-spacing:-.06em;margin:24px 0 0}
.ss-where ul{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff2b}
.ss-where a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px;gap:6px 24px;padding:26px 0;border-bottom:1px solid #ffffff2b;text-decoration:none;color:var(--paper);transition:padding .25s,background .25s}
.ss-where a:hover,.ss-where a:focus-visible{background:#ffffff0d;padding-left:16px;padding-right:16px}
.ss-where strong{font-size:clamp(22px,2vw,30px);font-weight:500;letter-spacing:-.04em}
.ss-where small{grid-column:1/3;font-size:15px;color:#9fb29f}
.ss-where span{font-size:17px;color:#d7e2d5}
.ss-where i{font-style:normal;font-size:24px;grid-row:1;grid-column:3}

/* ---------------------------------------------------------------- stories */
.st-directory{padding-top:80px;padding-bottom:110px;background:var(--paper)}
.st-lead{display:grid;grid-template-columns:50% 50%;background:var(--forest);color:var(--paper);text-decoration:none;margin-bottom:24px;min-height:520px}
.st-lead-media{overflow:hidden}
.st-lead-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.st-lead:hover .st-lead-media img{transform:scale(1.035)}
.st-lead-copy{padding:60px clamp(28px,5vw,80px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.st-lead-copy .study-row-meta span{color:#9fb29f}
.st-lead q{font-size:clamp(28px,2.9vw,46px);line-height:1.25;letter-spacing:-.045em;quotes:"“" "”"}
.st-lead strong{font-size:18px;color:var(--lime)}
.st-card-title{font-size:15px;color:var(--muted)}
.st-lead .st-card-title{color:#d7e2d5}
.st-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.st-card a{display:flex;flex-direction:column;gap:12px;text-decoration:none;height:100%}
.st-card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--forest);margin-bottom:8px}
.st-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.st-card a:hover .st-card-media img{transform:scale(1.04)}
.st-card q{font-size:clamp(20px,1.7vw,25px);line-height:1.35;letter-spacing:-.03em;quotes:"“" "”"}
.st-card strong{font-size:16px}
.st-note{font-size:14px;color:var(--muted);margin:40px 0 0}
.st-teaser{padding-top:100px;padding-bottom:110px;background:#e7eadf}
.st-teaser .study-more-head{margin-bottom:45px}
.st-portrait{display:grid;grid-template-columns:50% 50%;background:var(--forest);color:var(--paper)}
.st-portrait figure{margin:0;height:min(680px,54vw);overflow:hidden}
.st-portrait img{width:100%;height:100%;object-fit:cover}
.st-portrait blockquote{margin:0;padding:70px clamp(28px,6vw,110px);display:flex;flex-direction:column;justify-content:center}
.st-portrait blockquote p{font-size:clamp(30px,3.4vw,56px);line-height:1.2;letter-spacing:-.05em;margin:0}
.st-portrait blockquote p::before{content:"“";display:block;font-size:1.8em;line-height:.8;color:var(--lime)}
.st-portrait blockquote footer{margin-top:30px;font-size:18px;color:var(--lime)}
.st-body{display:grid;grid-template-columns:24% 1fr;gap:clamp(30px,5vw,90px);padding-top:110px;padding-bottom:120px;background:var(--paper)}
.st-aside{position:sticky;top:40px;align-self:start;display:flex;flex-direction:column;align-items:start;gap:10px}
.st-aside .flag-eyebrow{color:var(--sage);margin-top:18px}
.st-person{font-size:22px;letter-spacing:-.03em;margin:0}
.st-aside .st-note{margin-top:30px}
.st-narrative{max-width:760px}
.st-narrative>div+div{margin-top:60px}
.st-narrative h2{font-size:clamp(30px,3vw,46px);line-height:1.2;letter-spacing:-.055em;margin:0 0 20px}
.st-narrative .flag-rich{font-size:19px}

/* ---------------------------------------------------------------- industry */
.in-ways .flag-path-heading{grid-template-columns:23% 1fr}
.in-ways-list{list-style:none;margin:0;padding-top:0;padding-bottom:0}
.in-ways-list li{display:grid;grid-template-columns:23% 70px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:34px 0;border-top:1px solid #aab9a9;align-items:start}
.in-ways-list li:last-child{border-bottom:1px solid #aab9a9}
.in-ways-list b{grid-column:2;font-size:14px;padding-top:12px}
.in-ways-list h3{font-size:clamp(28px,3vw,46px);letter-spacing:-.05em;line-height:1.15;font-weight:500;margin:0}
.in-ways-list .flag-rich{font-size:17px;color:var(--muted)}
.in-examples{display:grid;grid-template-columns:24% 1fr;gap:30px;padding-top:110px;padding-bottom:120px;background:var(--forest);color:var(--paper)}
.in-examples .flag-eyebrow{color:var(--lime)}
.in-examples ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.in-example-photo{aspect-ratio:4/3;overflow:hidden;margin-bottom:22px}
.in-example-photo img{width:100%;height:100%;object-fit:cover}
.in-examples h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.04em;font-weight:500;margin:0 0 12px}
.in-examples .flag-rich{font-size:16px;color:#d7e2d5}
.in-departments{padding-top:100px;padding-bottom:110px;background:var(--paper)}
.in-departments>.flag-eyebrow{color:var(--sage)}
.in-departments h2{font-size:clamp(39px,5.3vw,80px);letter-spacing:-.065em;margin:24px 0 45px}
.in-departments ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.in-departments a{display:flex;flex-direction:column;gap:10px;min-height:190px;padding:24px;background:#e7eadf;text-decoration:none;transition:background .25s,color .25s}
.in-departments a:hover,.in-departments a:focus-visible{background:var(--forest);color:var(--paper)}
.in-departments span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.in-departments strong{font-size:22px;font-weight:500;letter-spacing:-.03em;line-height:1.25}
.in-departments i{font-style:normal;font-size:24px;margin-top:auto;align-self:end}

@media(max-width:1100px){
  .cm-opening-grid{grid-template-columns:1fr}
  .cm-map{justify-self:start;max-width:400px;margin-top:20px}
  .cm-filters{grid-template-columns:1fr}
  .cm-card,.cm-card.is-reversed{grid-template-columns:1fr;min-height:0}
  .cm-card.is-reversed .cm-card-media{order:0}
  .cm-card-media{height:420px}
  .cm-detail-facts{grid-template-columns:1fr 1fr}
  .cm-location{grid-template-columns:1fr}
  .cm-location .cm-map{justify-self:center}
  .sl-frame,.sl-frame.is-reversed{grid-template-columns:1fr;min-height:0}
  .sl-frame.is-reversed .sl-frame-photo{order:0}
  .sl-frame-photo{height:440px}
  .sl-activities,.ss-where,.in-examples,.st-body{display:block}
  .sl-activities ul,.ss-where ul,.in-examples ul{margin-top:40px}
  .st-aside{position:static;margin-bottom:50px}
  .ss-services ul,.st-cards,.in-examples ul{grid-template-columns:1fr 1fr}
  .in-departments ul{grid-template-columns:1fr 1fr}
  .in-ways-list li{grid-template-columns:50px minmax(0,1fr)}
  .in-ways-list b{grid-column:1}
  .in-ways-list .flag-rich{grid-column:2}
}
@media(max-width:700px){
  .cm-map{max-width:none}
  .cm-pins a{font-size:13px}
  .cm-card-media{height:280px}
  .cm-card-copy{padding:40px var(--gutter) 60px}
  .cm-card-copy h2{font-size:36px}
  .cm-facts div{grid-template-columns:110px 1fr}
  .cm-detail-facts{grid-template-columns:1fr}
  .cm-location,.cm-access,.sl-activities,.ss-services,.ss-where,.in-examples,.in-departments,.st-body,.st-teaser,.st-directory{padding-top:80px;padding-bottom:85px}
  .cm-access{display:block}
  .cm-access h2{margin-top:22px}
  .sl-frame-photo{height:300px}
  .sl-frame-copy{padding:36px var(--gutter) 56px}
  .sl-activities ul,.ss-services ul,.st-cards,.in-examples ul,.in-departments ul{grid-template-columns:1fr}
  .ss-services li{min-height:0}
  .ss-services h3{padding-top:28px}
  .ss-where a{grid-template-columns:1fr 30px}
  .ss-where span,.ss-where small{grid-column:1}
  .sl-support{display:block;padding-top:80px;padding-bottom:90px}
  .sl-support .study-cta-actions{margin-top:35px}
  .st-lead,.st-portrait{grid-template-columns:1fr;min-height:0}
  .st-lead-media{height:300px}
  .st-lead-copy{padding:36px 24px 44px}
  .st-portrait figure{height:360px}
  .st-portrait blockquote{padding:50px var(--gutter) 60px}
  .st-narrative .flag-rich{font-size:17px}
  .in-departments a{min-height:0}
  .in-ways-list li{padding:26px 0}
}
@media(prefers-reduced-motion:reduce){
  .cm-card-media img,.st-lead-media img,.st-card-media img{transition:none}
  .cm-card:hover .cm-card-media img,.st-lead:hover .st-lead-media img,.st-card a:hover .st-card-media img{transform:none}
}
