/* Keep the teaching building visible beside the desktop copy and above the mobile copy. */

.home-campus-hero .hero-image { object-position: 65% 52%; }

.home-campus-hero .hero-shade {

    background:

        linear-gradient(90deg, #10365ff5, #10365fc9 27%, #10365f66 52%, #10365f0c 80%),

        linear-gradient(0deg, #10365fb8, transparent 24%);

}

.home-campus-hero .image-credit {

    background: #102e4ce8;

    color: #fff;

    padding: 3px 7px;

    font-size: 10px;

}



@media (max-width: 700px) {

    .home-campus-hero { height: auto; min-height: 0; }

    .home-campus-hero .hero-image { height: 275px; object-position: 72% 52%; }

    .home-campus-hero .hero-shade {

        height: 276px;

        background: linear-gradient(0deg, var(--deep), #103d7050 30%, transparent 65%);

    }

    .home-campus-hero .hero-content { height: auto; padding-top: 225px; }

    .home-campus-hero .hero-foot { position: static; margin-top: 25px; padding-block: 13px; }

    .home-campus-hero .image-credit { inset: 12px 12px auto auto; }

}

/* Photo-led school journal. Open text lists share one edge and one rhythm. */
.home-campus-area, .home-news-area { padding-block: clamp(42px, 5.5vw, 74px); }
.home-campus-area { background: #fff; }
.home-campus-editorial {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 18px clamp(28px, 4.5vw, 64px);
    align-items: start;
}
.home-campus-editorial > .home-journal-heading { grid-column: 1 / -1; margin-bottom: 0; }
.home-news-area { background: var(--paper); border-block: 1px solid var(--line); }
.program-section { background: #fff; }
.home-journal-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 10px;
    margin-bottom: 16px;
}
.home-journal-heading .eyebrow { color: #3d6e88; margin-bottom: 7px; }
.home-journal-heading h2 { color: var(--deep); font-size: clamp(28px, 3.3vw, 40px); line-height: 1.3; }
.home-journal-heading .text-link { gap: 7px; color: var(--navy); }
.home-campus-picture { position: relative; isolation: isolate; margin: 0; }
.home-campus-picture img { width: 100%; aspect-ratio: 1.4; object-fit: cover; object-position: center 53%; }
.home-campus-picture figcaption {
    position: absolute;
    inset: auto 10px 10px auto;
    padding: 3px 7px;
    color: #fff;
    background: #102e4cea;
    font-size: 10px;
}
.home-story-lead { display: block; padding-block: 0 13px; }
.home-story-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    color: #1f627c;
    font-size: 11px;
    letter-spacing: .04em;
}
.home-story-meta time { color: #557083; }
.home-story-lead h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 5px;
    color: var(--deep);
    font: 600 clamp(19px, 2.15vw, 28px)/1.42 var(--serif);
}
.home-story-lead svg, .home-journal-heading .text-link svg { width: 18px; }
.home-story-summary { margin-top: 5px; color: #4d6576; font-size: 13px; line-height: 1.65; }
.home-journal-list { margin: 0; padding: 0; list-style: none; }
.home-journal-list li { border-top: 1px solid var(--line); }
.home-journal-list a {
    display: grid;
    align-items: baseline;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding-block: 9px;
    color: #233d52;
    font-size: 14px;
    line-height: 1.55;
}
.home-journal-list a span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-journal-list time { color: #526c7e; font-size: 11px; font-variant-numeric: tabular-nums; }
.home-journal-list a:hover, .home-story-lead:hover h3 { color: var(--red); }
.home-campus-more { display: flex; flex-wrap: wrap; gap: 5px 17px; margin-top: 5px; }
.home-campus-more .text-link { gap: 6px; border-color: transparent; color: var(--navy); }
.home-campus-more .text-link:first-child { border-color: #9ebccd; }
.home-campus-more .text-link:hover { border-color: var(--red); color: var(--red); }
.home-journal-empty { padding-block: 12px; color: var(--muted); font-size: 13px; }
.home-bulletins {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(26px, 5vw, 70px);
}

.home-bulletin-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.home-bulletin-head h3 { color: var(--deep); font-size: clamp(15px, 1.55vw, 18px); }
.home-bulletin-head .text-link { border-color: transparent; gap: 7px; color: var(--navy); }
.home-bulletin-head .text-link:hover { border-color: var(--red); color: var(--red); }

.home-service-band { padding-block: clamp(44px, 5.5vw, 76px); background: var(--navy); color: #fff; }
.home-service-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
    gap: clamp(22px, 6vw, 82px);
    align-items: start;
}
.home-service-intro .eyebrow { color: #c2e4ef; margin-bottom: 10px; }
.home-service-intro h2 { color: #fff; font-size: clamp(27px, 3.6vw, 42px); }
.home-service-intro > p:not(.eyebrow) { margin: 12px 0 7px; color: #d7e9f3; font-size: 14px; }
.home-service-intro .text-link { color: #fff; border-color: #ffffff6b; gap: 14px; }
.home-service-band a:focus-visible { outline-color: #c2e4ef; }
.home-service-links { margin: 0; padding: 0; list-style: none; border-top: 1px solid #ffffff42; }
.home-service-links li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 15px;
    align-items: center;
    border-bottom: 1px solid #ffffff42;
}
.home-service-primary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding-block: 12px;
    column-gap: 10px;
}
.home-service-primary strong { font-size: clamp(16px, 1.8vw, 20px); }
.home-service-primary span { grid-column: 1; color: #d7e9f3; font-size: 12px; }
.home-service-primary svg { grid-column: 2; grid-row: 1 / span 2; width: 17px; }
.home-service-notice { color: #d7e9f3; white-space: nowrap; font-size: 12px; padding: 8px 0; }
.home-service-links a:hover { color: #c2f0ff; }

@media (max-width: 700px) {
    .home-campus-editorial, .home-bulletins, .home-service-layout { grid-template-columns: minmax(0, 1fr); }
    .home-campus-picture img { aspect-ratio: 2.65; }
    .home-story-lead { padding-block: 12px 11px; }
    .home-journal-list a { font-size: 13px; gap: 7px; }
    .home-journal-list time { font-size: 10px; }
    .home-bulletin + .home-bulletin { margin-top: 3px; }
    .home-service-intro > p:not(.eyebrow) { margin-top: 5px; font-size: 13px; }
    .home-service-intro .text-link { margin-top: 2px; }
    .home-service-links li { gap: 12px; }
}
