@media(min-width:1440px) {
    .header-inner {
        max-width:1440px
    }
}
@media(max-width:1250px) {
    .header-contact {
        display:none
    }
    .desktop-nav {
        gap:20px
    }
    .member-grid {
        gap:20px
    }
    .member-controls {
        flex-direction:column;
        align-items:stretch
    }
    .member-search {
        width:100%;
        max-width:420px
    }
    .division-hero {
        gap:32px
    }
}
@media(max-width:960px) {
    :root {
        --header-height:80px
    }
    .container {
        width:calc(100% - 48px)
    }
    .profile-page#main {
        width:calc(100% - 48px)!important
    }
    .desktop-nav {
        display:none
    }
    .menu-toggle {
        display:flex
    }
    .brand {
        width:205px
    }
    .section {
        padding-block:55px
    }
    .display {
        font-size:clamp(52px,8vw,80px)
    }
    .division-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .member-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .profile-hero {
        grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);
        gap:32px
    }
    .division-hero .display {
        font-size:clamp(40px,6vw,64px)
    }
    .division-hero {
        gap:24px
    }
    .news-card h2 {
        font-size:20px
    }
    .footer-top {
        flex-direction:column;
        gap:30px
    }
    .footer-top nav {
        justify-content:flex-start;
        max-width:none
    }
    .contact-strip {
        flex-direction:column;
        align-items:flex-start
    }
    .home-about {
        gap:32px;
        grid-template-columns:1fr 2fr
    }
}
@media(max-width:600px) {
    :root {
        --header-height:74px
    }
    html {
        scroll-padding-top:90px
    }
    body {
        font-size:16px;
        line-height:1.8
    }
    .container {
        width:calc(100% - 40px)
    }
    .profile-page#main {
        width:calc(100% - 40px)!important
    }
    .brand {
        width:190px
    }
    .header-inner {
        gap:16px
    }
    .header-inner .menu-toggle {
        border:0
    }
    .hero-kv {
        max-height:none
    }
    .hero-actions {
        width:100%;
        min-height:60px
    }
    .hero-actions a {
        width:50%;
        padding:16px 20px;
        border-left:0;
        font-size:16px
    }
    .hero-actions a:last-child {
        border-right:0;
        border-left:1px solid var(--line)
    }
    .section {
        padding-block:44px
    }
    .display {
        font-size:clamp(40px,11vw,58px);
        letter-spacing:-.055em
    }
    .section-heading {
        gap:16px;
        align-items:flex-start;
        flex-wrap:wrap;
        margin-bottom:26px
    }
    .section-heading .text-link {
        margin-left:auto;
        gap:16px
    }
    .section-caption {
        font-size:16px
    }
    .sub-display {
        font-size:28px
    }
    .page-main {
        padding-top:26px;
        padding-bottom:60px
    }
    .page-heading {
        margin-bottom:28px;
        padding-bottom:28px
    }
    .page-subtitle {
        margin-top:16px;
        font-size:16px
    }
    .lead {
        font-size:18px;
        line-height:1.8
    }
    .breadcrumb {
        font-size:14px;
        padding-block:16px;
        gap:8px
    }
    .news-grid {
        grid-template-columns:1fr;
        gap:32px
    }
    .news-card h2 {
        font-size:18px;
        gap:16px
    }
    .news-image {
        aspect-ratio:16/9
    }
    .article-meta {
        gap:16px;
        margin:16px 0 12px
    }
    .article-meta time {
        font-size:14px
    }
    .division-grid {
        grid-template-columns:1fr;
        gap:12px
    }
    .division-card {
        min-height:142px;
        padding:22px
    }
    .division-card h2 {
        font-size:28px;
        padding-right:22px
    }
    .division-card p {
        font-size:16px
    }
    .division-summary {
        display:none
    }
    .division-arrow {
        top:16px;
        right:18px;
        font-size:25px
    }
    .division-card img {
        object-position:center 45%;
        opacity:.65
    }
    .member-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:16px 12px
    }
    .member-card {
        border-radius:8px
    }
    .member-card>a {
        padding:9px
    }
    .member-card-body {
        padding-top:12px
    }
    .member-card h2 {
        font-size:16px
    }
    .member-card .role {
        font-size:16px;
        padding-bottom:12px;
        line-height:1.6
    }
    .member-card .tags {
        gap:4px;
        margin-bottom:8px
    }
    .member-card .tags span {
        font-size:14px;
        padding:2px 4px
    }
    .member-portrait {
        border-radius:4px
    }
    .card-more {
        font-size:14px;
        padding-top:12px;
        gap:8px
    }
    .member-controls {
        padding:0;
        background:none;
        gap:18px;
        flex-direction:column-reverse
    }
    .filter-list {
        gap:7px
    }
    .filter-list a {
        font-size:16px;
        padding:9px 11px
    }
    .member-search {
        max-width:none
    }
    .result-count {
        font-size:16px;
        margin-top:24px;
        margin-bottom:20px
    }
    .pagination {
        gap:7px;
        margin-top:32px
    }
    .pagination .page-numbers {
        min-width:44px;
        padding:8px 12px
    }
    .home-about {
        grid-template-columns:1fr;
        gap:24px
    }
    .home-about>div>p:not(.eyebrow) {
        font-size:23px;
        line-height:1.85
    }
    .home-about br {
        display:none
    }
    .contact-strip {
        padding-block:34px;
        margin-bottom:32px;
        gap:24px
    }
    .contact-strip h2 {
        font-size:28px
    }
    .contact-strip .button-row,.contact-strip .button {
        width:100%
    }
    .footer-top {
        padding-bottom:30px
    }
    .footer-top nav {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        font-size:16px;
        gap:16px 24px
    }
    .footer-bottom {
        flex-direction:column;
        gap:12px;
        font-size:14px
    }
    .site-footer {
        padding-top:34px
    }
    .division-hero {
        grid-template-columns:1fr;
        gap:28px;
        padding-top:20px;
        padding-bottom:40px
    }
    .division-hero .display {
        font-size:clamp(42px,11vw,60px);
        margin-top:16px
    }
    .division-hero .text-link {
        margin-top:22px
    }
    .division-visual {
        aspect-ratio:16/10;
        padding:24px
    }
    .division-visual>span {
        font-size:40px
    }
    .division-intro {
        grid-template-columns:1fr;
        gap:20px;
        padding-block:30px
    }
    .division-intro h2 {
        font-size:22px
    }
    .profile-hero {
        grid-template-columns:1fr;
        gap:28px
    }
    .profile-image {
        width:100%;
        max-width:390px
    }
    .profile-info {
        padding:0
    }
    .profile-info h1 {
        font-size:34px;
        margin:14px 0 20px
    }
    .profile-intro {
        margin-top:24px
    }
    .social-links .button {
        flex:1;
        white-space:nowrap;
        gap:16px
    }
    .video-grid {
        grid-template-columns:1fr;
        gap:28px
    }
    .entry-content h2 {
        font-size:24px
    }
    .entry-content h3 {
        font-size:20px
    }
    .article-heading h1 {
        font-size:28px;
        line-height:1.55;
        margin-top:18px;
        margin-bottom:28px
    }
    .article-body {
        line-height:1.9
    }
    .article-cover {
        margin-bottom:30px
    }
    .article-pagination {
        gap:14px;
        font-size:14px;
        grid-template-columns:1fr 1fr;
        margin-top:42px
    }
    .article-pagination>a {
        grid-column:1 / -1;
        grid-row:2;
        text-align:center;
        min-height:44px;
        padding:10px
    }
    .recruit-list a {
        padding:26px 0;
        gap:18px
    }
    .recruit-list h2 {
        font-size:22px
    }
    .recruit-list p {
        font-size:16px
    }
    .circle-arrow {
        width:44px;
        height:44px;
        font-size:24px
    }
    .about-intro {
        grid-template-columns:1fr;
        gap:24px;
        padding-block:40px 0
    }
    .about-intro h2 {
        font-size:28px
    }
    .empty-state {
        padding:46px 20px
    }
    .empty-state h2 {
        font-size:21px
    }
    .admin-bar .site-header {
        top:0
    }
}
