/*
Theme Name: GIGB
Description: Custom child theme for the Graduate Institute of Genomics and Bioinformatics, National Chung Hsing University.
Author: Graduate Institute of Genomics and Bioinformatics, NCHU
Template: generatepress
Version: 1.1.3
Text Domain: generatepress-gigb
*/

:root {
    --gigb-content-width: 1120px;
    --gigb-text-width: 860px;

    --gigb-teal: #18353d;
    --gigb-heading: #18232b;
    --gigb-text: #3d4348;
    --gigb-muted-text: #5a646a;
    --gigb-label: #56727f;
    --gigb-dark-text: #e4ecec;
    --gigb-dark-label: #a8c5c5;

    --gigb-surface: #ffffff;
    --gigb-surface-muted: #f4f6f4;
    --gigb-surface-soft: #eef2ef;
    --gigb-border: #e2e7e3;

    --gigb-pad-x: 56px;
    --gigb-pad-x-tablet: 42px;
    --gigb-pad-x-mobile: 24px;
    --gigb-pad-x-small: 20px;
}

/* =========================================================
   GIGB DESIGN SYSTEM v2 — SHARED MODULE CLASSES
   Migration baseline: 2026-08-28

   HTML model:
     gigb-page-hero gigb-page-hero--<page>
     gigb-section gigb-section--<identity>

   Page-specific modifier classes below retain the existing visual design.
   Resources document lists now use native Gutenberg blocks; presentation is handled here.
   ========================================================= */

.gigb-page-hero,
.gigb-section {
    width: 100%;
    margin: 0;
}

/* ---------------------------------------------------------
   Inner-page identity compatibility
   Semantic .gigb-page-hero / .gigb-section classes are primary;
   these aliases preserve layout for older Gutenberg markup.
   --------------------------------------------------------- */

.gigb-page-hero--about,
.gigb-page-hero--academics,
.gigb-page-hero--resources,
.gigb-page-hero--news,
.gigb-page-hero--people,
.gigb-section--about-intro,
.gigb-section--about-story,
.gigb-section--about-mission,
.gigb-section--about-environment,
.gigb-section--about-contact,
.gigb-section--academics-admissions,
.gigb-section--academics-curriculum,
.gigb-section--academics-degree,
.gigb-section--academics-documents,
.gigb-section--resources-forms,
.gigb-section--resources-regulations,
.gigb-section--news,
.gigb-section--faculty,
.gigb-section--affiliated-faculty,
.gigb-section--research-areas {
    width: 100%;
    margin: 0;
}

/* Shared content container geometry.
   Individual sections may override vertical padding later in this file. */
.gigb-section > .wp-block-group__inner-container {
    max-width: var(--gigb-content-width);
    margin: 0 auto;
    padding-left: var(--gigb-pad-x);
    padding-right: var(--gigb-pad-x);
    box-sizing: border-box;
}

.gigb-section > .wp-block-group__inner-container > p:first-child {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gigb-label);
}

.gigb-section h2 {
    margin-top: 8px;
    margin-bottom: 28px;
    font-size: clamp(30px, 3.2vw, 44px);
    line-height: 1.2;
    font-weight: 650;
    letter-spacing: -0.02em;
    color: var(--gigb-heading);
}

.gigb-section p {
    max-width: var(--gigb-text-width);
    font-size: 17px;
    line-height: 1.85;
    color: var(--gigb-text);
}

/* Semantic section surfaces */
.gigb-section--light {
    background: var(--gigb-surface);
}

.gigb-section--muted {
    background: var(--gigb-surface-muted);
    border-top: 1px solid #e2e7e3;
    border-bottom: 1px solid #e2e7e3;
}

.gigb-section--soft {
    background: var(--gigb-surface-soft);
    border-top: 1px solid #dce3de;
}

.gigb-section--dark {
    position: relative;
    overflow: hidden;
    background: var(--gigb-teal);
    color: #ffffff;
}

.gigb-section--dark > .wp-block-group__inner-container {
    position: relative;
    z-index: 1;
}

.gigb-section--dark > .wp-block-group__inner-container > p:first-child {
    color: var(--gigb-dark-label);
}

.gigb-section--dark h2,
.gigb-section--dark h3,
.gigb-section--dark h4,
.gigb-section--dark h5,
.gigb-section--dark h6 {
    color: #ffffff;
}

.gigb-section--dark p,
.gigb-section--dark li {
    color: var(--gigb-dark-text);
}

.gigb-section--dark strong {
    color: inherit;
}

.gigb-section--dark a {
    color: #ffffff;
}

/* Shared responsive horizontal rhythm */
@media (max-width: 1024px) {
    .gigb-page-hero > .wp-block-group__inner-container,
    .gigb-section > .wp-block-group__inner-container {
        padding-left: var(--gigb-pad-x-tablet);
        padding-right: var(--gigb-pad-x-tablet);
    }
}

@media (max-width: 781px) {
    .gigb-page-hero > .wp-block-group__inner-container,
    .gigb-section > .wp-block-group__inner-container {
        padding-left: var(--gigb-pad-x-mobile);
        padding-right: var(--gigb-pad-x-mobile);
    }
}

@media (max-width: 480px) {
    .gigb-page-hero > .wp-block-group__inner-container,
    .gigb-section > .wp-block-group__inner-container {
        padding-left: var(--gigb-pad-x-small);
        padding-right: var(--gigb-pad-x-small);
    }

    .gigb-section h2 {
        font-size: 28px;
    }
}

/* =========================================================
   INNER PAGE / GENERATEPRESS RESET
   Shared by Welcome, About, People, Academics, and News.
   Resources retains its existing page behavior separately.
   ========================================================= */

.page-id-42.full-width-content .inside-article,
.page-id-8.full-width-content .inside-article,
.page-id-15.full-width-content .inside-article,
.page-id-17.full-width-content .inside-article,
.page-id-17 .inside-article,
.page-id-11.full-width-content .inside-article,
.page-id-11 .inside-article,
.page-id-42 .site-content,
.page-id-8 .site-content,
.page-id-15 .site-content,
.page-id-17 .site-content,
.page-id-11 .site-content {
    padding: 0;
}

.page-id-42 #page,
.page-id-8 #page,
.page-id-15 #page,
.page-id-17 #page,
.page-id-11 #page {
    max-width: none;
}

.page-id-42 .site-main,
.page-id-8 .site-main,
.page-id-15 .site-main,
.page-id-17 .site-main,
.page-id-11 .site-main {
    margin: 0;
}

.page-id-42 .entry-content > .wp-block-group,
.page-id-8 .entry-content > .wp-block-group,
.page-id-15 .entry-content > .wp-block-group,
.page-id-17 .entry-content > .wp-block-group,
.page-id-11 .entry-content > .wp-block-group {
    margin-top: 0;
    margin-bottom: 0;
}

/* =========================================================
   GIGB HOME PAGE
   ========================================================= */

/* ---------------------------------------------------------
   Shared layout
   --------------------------------------------------------- */

.gigb-hero,
.gigb-intro,
.gigb-research,
.gigb-learning,
.gigb-news {
    width: 100%;
    margin: 0;
}

.gigb-hero > .wp-block-group__inner-container,
.gigb-intro > .wp-block-group__inner-container,
.gigb-research > .wp-block-group__inner-container,
.gigb-learning > .wp-block-group__inner-container,
.gigb-news > .wp-block-group__inner-container {
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 56px;
    padding-right: 56px;
    box-sizing: border-box;
}

/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.gigb-hero {
    background:
        linear-gradient(
            135deg,
            #eef4f5 0%,
            #f6f8f7 56%,
            #edf1ee 100%
        );
    border-bottom: 1px solid #d9e1e2;
}

.gigb-hero > .wp-block-group__inner-container {
    padding-top: 84px;
    padding-bottom: 92px;
}

.gigb-hero .wp-block-columns {
    align-items: center !important;
    gap: 70px;
}

.gigb-hero .wp-block-column:first-child {
    flex-basis: 58%;
}

.gigb-hero .wp-block-column:last-child {
    flex-basis: 42%;
}

.gigb-hero .wp-block-column:first-child > p:first-child {
    margin: 0 0 18px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #56727f;
}

.gigb-hero h1 {
    margin: 0 0 24px;
    font-size: clamp(48px, 6.2vw, 78px);
    line-height: 0.98;
    font-weight: 650;
    letter-spacing: -0.045em;
    color: #17242b;
}

.gigb-hero h2 {
    margin: 0 0 8px;
    font-size: clamp(25px, 2.7vw, 35px);
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #263940;
}

.gigb-hero h2 + p {
    margin: 0 0 24px;
    font-size: 17px;
    line-height: 1.6;
    color: #536168;
}

.gigb-hero h2 + p + p {
    max-width: 580px;
    margin: 0 0 32px;
    font-size: 18px;
    line-height: 1.7;
    color: #35434a;
}

.gigb-hero .wp-block-buttons {
    gap: 12px;
}

.gigb-hero .wp-block-button__link {
    padding: 13px 20px;
    border-radius: 2px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    background: #244e56;
    color: #ffffff;
}

.gigb-hero .wp-block-button:nth-child(2) .wp-block-button__link {
    background: transparent;
    border: 1px solid #315e66;
    color: #244e56;
}

.gigb-hero .wp-block-button__link:hover,
.gigb-hero .wp-block-button__link:focus {
    background: #18353d;
    color: #ffffff;
}

.gigb-hero .wp-block-image {
    margin: 0;
}

.gigb-hero .wp-block-image img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

/* ---------------------------------------------------------
   INTRO
   --------------------------------------------------------- */

.gigb-intro {
    background: #ffffff;
}

.gigb-intro > .wp-block-group__inner-container {
    padding-top: 96px;
    padding-bottom: 100px;
}

.gigb-intro .wp-block-columns {
    gap: 82px;
    align-items: flex-start !important;
}

.gigb-intro .wp-block-column:first-child {
    flex-basis: 68%;
}

.gigb-intro .wp-block-column:last-child {
    flex-basis: 32%;
}

.gigb-intro .wp-block-column:first-child > p:first-child {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #56727f;
}

.gigb-intro h2 {
    max-width: 820px;
    margin: 0 0 32px;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.18;
    font-weight: 650;
    letter-spacing: -0.025em;
    color: #18232b;
}

.gigb-intro .wp-block-column:first-child p:not(:first-child) {
    max-width: 820px;
    margin-top: 0;
    margin-bottom: 22px;
    font-size: 17px;
    line-height: 1.85;
    color: #3d4348;
}

.gigb-intro .wp-block-column:first-child p:nth-of-type(3),
.gigb-intro .wp-block-column:first-child p:nth-of-type(5) {
    color: #5a646a;
}

.gigb-focus {
    margin-top: 46px;
    border-top: 1px solid #d7dfdc;
}

.gigb-focus p {
    margin: 0;
    padding: 17px 0;
    border-bottom: 1px solid #d7dfdc;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #315e66;
}

/* ---------------------------------------------------------
   RESEARCH
   --------------------------------------------------------- */

.gigb-research {
    background: #f4f6f4;
    border-top: 1px solid #e2e7e3;
    border-bottom: 1px solid #e2e7e3;
}

.gigb-research > .wp-block-group__inner-container {
    padding-top: 96px;
    padding-bottom: 104px;
}

.gigb-research > .wp-block-group__inner-container > p:first-child {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #56727f;
}

.gigb-research > .wp-block-group__inner-container > h2 {
    max-width: 900px;
    margin: 0 0 30px;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.18;
    font-weight: 650;
    letter-spacing: -0.025em;
    color: #18232b;
}

.gigb-research > .wp-block-group__inner-container > p:not(:first-child) {
    max-width: 860px;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.85;
    color: #3d4348;
}

.gigb-research > .wp-block-group__inner-container > p:nth-of-type(3) {
    color: #5a646a;
}

.gigb-research .wp-block-columns {
    gap: 20px;
    margin-top: 52px;
    align-items: stretch !important;
}

.gigb-research-card {
    padding: 28px 24px 30px;
    border-top: 3px solid #587f80;
    background: #ffffff;
}

.gigb-research-card > p:first-child {
    margin: 0 0 30px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #789091;
}

.gigb-research-card h3 {
    margin: 0 0 18px;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
    color: #20383e;
}

.gigb-research-card p:not(:first-child) {
    margin: 0 0 14px;
    font-size: 15px;
    line-height: 1.7;
    color: #465258;
}

.gigb-research-card p:last-child {
    margin-bottom: 0;
    color: #697277;
}

/* ---------------------------------------------------------
   LEARNING
   --------------------------------------------------------- */

.gigb-learning {
    position: relative;
    overflow: hidden;
    background: #18353d;
    color: #ffffff;
}

.gigb-learning::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -190px;
    bottom: -260px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
}

.gigb-learning > .wp-block-group__inner-container {
    position: relative;
    z-index: 1;
    padding-top: 96px;
    padding-bottom: 100px;
}

.gigb-learning .wp-block-columns {
    gap: 84px;
    align-items: flex-start !important;
}

.gigb-learning .wp-block-column:first-child {
    flex-basis: 42%;
}

.gigb-learning .wp-block-column:last-child {
    flex-basis: 58%;
}

.gigb-learning .wp-block-column:first-child > p:first-child {
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #a8c5c5;
}

.gigb-learning h2 {
    margin: 0;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.18;
    font-weight: 650;
    letter-spacing: -0.025em;
    color: #ffffff;
}

.gigb-learning .wp-block-column:last-child > p {
    margin-top: 0;
    margin-bottom: 22px;
    font-size: 17px;
    line-height: 1.85;
    color: #e4ecec;
}

.gigb-learning .wp-block-column:last-child > p:nth-of-type(2),
.gigb-learning .wp-block-column:last-child > p:nth-of-type(4) {
    color: #bfcfd0;
}

.gigb-learning-words {
    margin-top: 42px;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,0.18);
}

.gigb-learning-words > .wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    padding: 0;
}

.gigb-learning-words p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #a8c5c5 !important;
}

/* ---------------------------------------------------------
   NEWS
   --------------------------------------------------------- */

.gigb-news {
    background: #ffffff;
}

.gigb-news > .wp-block-group__inner-container {
    padding-top: 96px;
    padding-bottom: 104px;
}

.gigb-news > .wp-block-group__inner-container > p:first-child {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #56727f;
}

.gigb-news > .wp-block-group__inner-container > h2 {
    margin: 0 0 20px;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.18;
    font-weight: 650;
    letter-spacing: -0.025em;
    color: #18232b;
}

.gigb-news > .wp-block-group__inner-container > h2 + p {
    max-width: 760px;
    margin: 0 0 6px;
    font-size: 17px;
    line-height: 1.7;
    color: #465258;
}

.gigb-news > .wp-block-group__inner-container > h2 + p + p {
    max-width: 760px;
    margin: 0 0 38px;
    font-size: 17px;
    line-height: 1.7;
    color: #697277;
}

.gigb-home-news {
    margin: 0;
    padding: 0;
    border-top: 1px solid #d8dfdc;
}

.gigb-home-news > li {
    position: relative;
    margin: 0;
    padding: 18px 0 16px;
    border-bottom: 1px solid #d8dfdc;
}

.gigb-home-news-category {
    margin: 0 0 6px;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #71858c;
}

.gigb-home-news-category a {
    color: inherit;
    text-decoration: none;
}

.gigb-home-news-category a:hover,
.gigb-home-news-category a:focus {
    color: #244e56;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.gigb-home-news .wp-block-post-title {
    margin: 0 0 6px;
    font-size: 19px;
    line-height: 1.45;
    font-weight: 600;
    color: #263b40;
}

.gigb-home-news .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

.gigb-home-news .wp-block-post-title a:hover,
.gigb-home-news .wp-block-post-title a:focus {
    color: #244e56;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.gigb-home-news .wp-block-post-date {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.06em;
    color: #879195;
}

/* ---------------------------------------------------------
   HOME PAGE CLEANUP
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .gigb-hero > .wp-block-group__inner-container,
    .gigb-intro > .wp-block-group__inner-container,
    .gigb-research > .wp-block-group__inner-container,
    .gigb-learning > .wp-block-group__inner-container,
    .gigb-news > .wp-block-group__inner-container {
        padding-left: 42px;
        padding-right: 42px;
    }

    .gigb-hero .wp-block-columns,
    .gigb-intro .wp-block-columns,
    .gigb-learning .wp-block-columns {
        gap: 52px;
    }

    .gigb-research .wp-block-columns {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 781px) {

    .gigb-hero > .wp-block-group__inner-container,
    .gigb-intro > .wp-block-group__inner-container,
    .gigb-research > .wp-block-group__inner-container,
    .gigb-learning > .wp-block-group__inner-container,
    .gigb-news > .wp-block-group__inner-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .gigb-hero > .wp-block-group__inner-container {
        padding-top: 58px;
        padding-bottom: 66px;
    }

    .gigb-intro > .wp-block-group__inner-container,
    .gigb-research > .wp-block-group__inner-container,
    .gigb-learning > .wp-block-group__inner-container,
    .gigb-news > .wp-block-group__inner-container {
        padding-top: 64px;
        padding-bottom: 68px;
    }

    .gigb-hero .wp-block-columns,
    .gigb-intro .wp-block-columns,
    .gigb-learning .wp-block-columns {
        gap: 42px;
    }

    .gigb-hero h1 {
        font-size: clamp(44px, 13vw, 60px);
    }

    .gigb-hero .wp-block-image img {
        max-height: 540px;
    }

    .gigb-focus {
        margin-top: 8px;
    }

    .gigb-research .wp-block-columns {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .gigb-learning::after {
        width: 330px;
        height: 330px;
        right: -160px;
        bottom: -180px;
    }
}

/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .gigb-hero > .wp-block-group__inner-container,
    .gigb-intro > .wp-block-group__inner-container,
    .gigb-research > .wp-block-group__inner-container,
    .gigb-learning > .wp-block-group__inner-container,
    .gigb-news > .wp-block-group__inner-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gigb-hero h1 {
        font-size: 42px;
    }

    .gigb-hero h2 {
        font-size: 25px;
    }

    .gigb-intro h2,
    .gigb-research > .wp-block-group__inner-container > h2,
    .gigb-learning h2,
    .gigb-news h2 {
        font-size: 29px;
    }

    .gigb-hero .wp-block-buttons {
        display: block;
    }

    .gigb-hero .wp-block-button {
        display: block;
        margin-bottom: 10px;
    }

    .gigb-hero .wp-block-button__link {
        width: 100%;
    }
}

/* =========================================================
   SHARED INNER-PAGE HERO SYSTEM
   About / People & Research / Academics / News / Resources
   ========================================================= */

.gigb-page-hero--about,
.gigb-page-hero,
.gigb-page-hero--academics,
.gigb-page-hero--news,
.gigb-page-hero--resources {
    width: 100%;
    margin: 0;
    border-bottom: 1px solid #d9e1e2;
}

.gigb-page-hero--about > .wp-block-group__inner-container,
.gigb-page-hero > .wp-block-group__inner-container,
.gigb-page-hero--academics > .wp-block-group__inner-container,
.gigb-page-hero--news > .wp-block-group__inner-container,
.gigb-page-hero--resources > .wp-block-group__inner-container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 86px 56px 92px;
    box-sizing: border-box;
}

/* Shared geometry and typography; page identity comes from subtle tint only. */
.gigb-page-hero--about {
    background: linear-gradient(135deg, #eef4f5 0%, #f6f8f7 56%, #edf1ee 100%);
}

.gigb-page-hero {
    background: linear-gradient(135deg, #edf5f3 0%, #f6f8f7 56%, #edf2f0 100%);
}

.gigb-page-hero--academics {
    background: linear-gradient(135deg, #eef3f6 0%, #f7f8f8 56%, #edf2f4 100%);
}

.gigb-page-hero--news {
    background: linear-gradient(135deg, #f4f3ef 0%, #faf8f5 56%, #f1f2ef 100%);
}

.gigb-page-hero--resources {
    background: linear-gradient(135deg, #f1f5f8 0%, #f8f9fa 56%, #eef2f5 100%);
}

.gigb-page-hero--about > .wp-block-group__inner-container > p:first-child,
.gigb-page-hero > .wp-block-group__inner-container > p:first-child,
.gigb-page-hero--academics > .wp-block-group__inner-container > p:first-child,
.gigb-page-hero--news > .wp-block-group__inner-container > p:first-child,
.gigb-page-hero--resources > .wp-block-group__inner-container > p:first-child {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #56727f;
}

.gigb-page-hero--about h1,
.gigb-page-hero h1,
.gigb-page-hero--academics h1,
.gigb-page-hero--news h1,
.gigb-page-hero--resources h1 {
    max-width: 850px;
    margin: 0 0 28px;
    font-size: clamp(46px, 6vw, 76px);
    line-height: 1.06;
    font-weight: 650;
    letter-spacing: -0.035em;
    color: #17242b;
}

.gigb-page-hero--about p:not(:first-child),
.gigb-page-hero p:not(:first-child),
.gigb-page-hero--academics p:not(:first-child),
.gigb-page-hero--news p:not(:first-child),
.gigb-page-hero--resources p:not(:first-child) {
    max-width: 860px;
    margin-top: 0;
    margin-bottom: 17px;
    font-size: 18px;
    line-height: 1.82;
    color: #35434a;
}

/* The section navigation is a nested Group on pages that use one. */
.gigb-page-hero--about > .wp-block-group__inner-container > p:last-child,
.gigb-page-hero > .wp-block-group__inner-container > p:last-child,
.gigb-page-hero--academics > .wp-block-group__inner-container > p:last-child,
.gigb-page-hero--news > .wp-block-group__inner-container > p:last-child,
.gigb-page-hero--resources > .wp-block-group__inner-container > p:last-child {
    margin-bottom: 0;
    color: #56636a;
}

@media (max-width: 1024px) {
    .gigb-page-hero--about > .wp-block-group__inner-container,
    .gigb-page-hero > .wp-block-group__inner-container,
    .gigb-page-hero--academics > .wp-block-group__inner-container,
    .gigb-page-hero--news > .wp-block-group__inner-container,
    .gigb-page-hero--resources > .wp-block-group__inner-container {
        padding: 72px 42px 76px;
    }
}

@media (max-width: 768px) {
    .gigb-page-hero--about > .wp-block-group__inner-container,
    .gigb-page-hero > .wp-block-group__inner-container,
    .gigb-page-hero--academics > .wp-block-group__inner-container,
    .gigb-page-hero--news > .wp-block-group__inner-container,
    .gigb-page-hero--resources > .wp-block-group__inner-container {
        padding: 58px 24px 62px;
    }

    .gigb-page-hero--about h1,
    .gigb-page-hero h1,
    .gigb-page-hero--academics h1,
    .gigb-page-hero--news h1,
    .gigb-page-hero--resources h1 {
        margin-bottom: 24px;
        font-size: clamp(40px, 12vw, 56px);
    }

    .gigb-page-hero--about p:not(:first-child),
    .gigb-page-hero p:not(:first-child),
    .gigb-page-hero--academics p:not(:first-child),
    .gigb-page-hero--news p:not(:first-child),
    .gigb-page-hero--resources p:not(:first-child) {
        font-size: 16.5px;
        line-height: 1.78;
    }
}

@media (max-width: 480px) {
    .gigb-page-hero--about > .wp-block-group__inner-container,
    .gigb-page-hero > .wp-block-group__inner-container,
    .gigb-page-hero--academics > .wp-block-group__inner-container,
    .gigb-page-hero--news > .wp-block-group__inner-container,
    .gigb-page-hero--resources > .wp-block-group__inner-container {
        padding: 50px 20px 54px;
    }

    .gigb-page-hero--about h1,
    .gigb-page-hero h1,
    .gigb-page-hero--academics h1,
    .gigb-page-hero--news h1,
    .gigb-page-hero--resources h1 {
        font-size: 42px;
    }
}

/* ---------------------------------------------------------
   Shared inner-page vertical rhythm
   --------------------------------------------------------- */

.gigb-section--about-intro > .wp-block-group__inner-container,
.gigb-section--academics-admissions > .wp-block-group__inner-container,
.gigb-section--resources-forms > .wp-block-group__inner-container {
    padding-top: 92px;
    padding-bottom: 92px;
}

.gigb-section--about-mission > .wp-block-group__inner-container,
.gigb-section--about-environment > .wp-block-group__inner-container,
.gigb-section--academics-degree > .wp-block-group__inner-container {
    padding-top: 92px;
    padding-bottom: 96px;
}

.gigb-section--about-story > .wp-block-group__inner-container,
.gigb-section--about-contact > .wp-block-group__inner-container,
.gigb-section--academics-curriculum > .wp-block-group__inner-container,
.gigb-section--academics-documents > .wp-block-group__inner-container,
.gigb-section--resources-regulations > .wp-block-group__inner-container,
.gigb-section--news > .wp-block-group__inner-container {
    padding-top: 92px;
    padding-bottom: 100px;
}

.gigb-section--faculty > .wp-block-group__inner-container,
.gigb-section--affiliated-faculty > .wp-block-group__inner-container,
.gigb-section--research-areas > .wp-block-group__inner-container {
    padding-top: 92px;
    padding-bottom: 104px;
}

/* =========================================================
   GIGB ABOUT PAGE
   ========================================================= */

/* ---------------------------------------------------------
   Shared layout
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   Generic typography
   --------------------------------------------------------- */

.gigb-section--about-intro p,
.gigb-section--about-story p,
.gigb-section--about-mission p,
.gigb-section--about-environment p,
.gigb-section--about-contact p {
    max-width: 860px;
    font-size: 17px;
    line-height: 1.85;

}

/* ---------------------------------------------------------
   INTRODUCTION
   --------------------------------------------------------- */

.gigb-section--about-intro p {
    margin-top: 0;
    margin-bottom: 22px;
}

.gigb-section--about-intro p:nth-of-type(3),
.gigb-section--about-intro p:nth-of-type(5) {
    color: #5a646a;
}

/* ---------------------------------------------------------
   OUR STORY
   --------------------------------------------------------- */

.gigb-section--about-story h3:not(.gigb-story-explainer) {
    position: relative;
    margin: 42px 0 6px;
    padding-left: 34px;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 700;
    color: #183840;
}

.gigb-section--about-story h3:not(.gigb-story-explainer)::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.35em;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #5d8788;
    box-shadow: 0 0 0 5px #dde8e6;
}

.gigb-section--about-story h3:not(.gigb-story-explainer)::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 1.05em;
    width: 1px;
    height: 58px;
    background: #c5d4d1;
}

/* remove timeline connector from the last actual year */

.gigb-section--about-story h3:nth-of-type(3)::after {
    display: none;
}

.gigb-section--about-story h3 + p {
    margin-top: 0;
    margin-bottom: 14px;
    padding-left: 34px;
    font-size: 17px;
    line-height: 1.65;
    color: #444f54;
}

.gigb-section--about-story .gigb-story-explainer,
.gigb-section--about-story h3:last-of-type {
    margin: 66px 0 20px;
    padding: 30px 0 0;
    border-top: 1px solid #cfd8d5;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 650;
    color: #23383f;
}

.gigb-section--about-story .gigb-story-explainer::before,
.gigb-section--about-story .gigb-story-explainer::after,
.gigb-section--about-story h3:last-of-type::before,
.gigb-section--about-story h3:last-of-type::after {
    display: none;
}

.gigb-section--about-story .gigb-story-explainer + p,
.gigb-section--about-story h3:last-of-type + p {
    padding-left: 0;
    max-width: 860px;
    margin-bottom: 22px;
    line-height: 1.85;
}

.gigb-section--about-story .gigb-story-explainer + p + p,
.gigb-section--about-story h3:last-of-type + p + p {
    max-width: 860px;
    padding-left: 0;
    color: #5a6468;
}

/* ---------------------------------------------------------
   EDUCATION & MISSION
   --------------------------------------------------------- */

.gigb-section--about-mission::after {
    content: "";
    position: absolute;
    width: 480px;
    height: 480px;
    right: -180px;
    bottom: -240px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
}

.gigb-section--about-mission p:nth-of-type(3),
.gigb-section--about-mission p:nth-of-type(5) {
    color: #bfcfd0;
}

/* ---------------------------------------------------------
   RESEARCH ENVIRONMENT
   --------------------------------------------------------- */

.gigb-section--about-environment p {
    margin-bottom: 22px;
}

.gigb-section--about-environment p:nth-of-type(3),
.gigb-section--about-environment p:nth-of-type(5) {
    color: #5a646a;
}

/* ---------------------------------------------------------
   CONTACT
   --------------------------------------------------------- */

.gigb-section--about-contact {
    background: #eef2ef;
    border-top: 1px solid #dce3de;
}

.gigb-section--about-contact h3 {
    margin-top: 42px;
    margin-bottom: 14px;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 650;
    color: #203238;
}

/* First H3 should sit closer to section heading */

.gigb-section--about-contact h2 + h3 {
    margin-top: 34px;
}

.gigb-section--about-contact p {
    margin-top: 0;
    margin-bottom: 15px;
    max-width: 760px;
}

.gigb-section--about-contact h3 + p {
    color: #455258;
}

/* contact information as visually grouped blocks */

.gigb-section--about-contact h3:nth-of-type(2) {
    margin-top: 52px;
}

.gigb-section--about-contact .gigb-map-link a {
    display: inline-block;
    margin-top: 10px;
    padding: 12px 18px;
    border: 1px solid #315e66;
    border-radius: 2px;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.2;
    color: #244e56;
    text-decoration: none;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease;
}

.gigb-section--about-contact .gigb-map-link a:hover,
.gigb-section--about-contact .gigb-map-link a:focus {
    background: #244e56;
    border-color: #244e56;
    color: #ffffff;
}

/* ---------------------------------------------------------
   General page cleanup
   --------------------------------------------------------- */

/* remove GeneratePress article padding around custom layout */

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .gigb-page-hero--about > .wp-block-group__inner-container,
    .gigb-section--about-intro > .wp-block-group__inner-container,
    .gigb-section--about-story > .wp-block-group__inner-container,
    .gigb-section--about-mission > .wp-block-group__inner-container,
    .gigb-section--about-environment > .wp-block-group__inner-container,
    .gigb-section--about-contact > .wp-block-group__inner-container {
        padding-left: 42px;
        padding-right: 42px;
    }

    .gigb-page-hero--about > .wp-block-group__inner-container {
        padding-top: 72px;
        padding-bottom: 76px;
    }

    .gigb-section--about-intro > .wp-block-group__inner-container,
    .gigb-section--about-story > .wp-block-group__inner-container,
    .gigb-section--about-mission > .wp-block-group__inner-container,
    .gigb-section--about-environment > .wp-block-group__inner-container,
    .gigb-section--about-contact > .wp-block-group__inner-container {
        padding-top: 76px;
        padding-bottom: 78px;
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .gigb-page-hero--about > .wp-block-group__inner-container,
    .gigb-section--about-intro > .wp-block-group__inner-container,
    .gigb-section--about-story > .wp-block-group__inner-container,
    .gigb-section--about-mission > .wp-block-group__inner-container,
    .gigb-section--about-environment > .wp-block-group__inner-container,
    .gigb-section--about-contact > .wp-block-group__inner-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .gigb-page-hero--about > .wp-block-group__inner-container {
        padding-top: 58px;
        padding-bottom: 62px;
    }

    .gigb-section--about-intro > .wp-block-group__inner-container,
    .gigb-section--about-story > .wp-block-group__inner-container,
    .gigb-section--about-mission > .wp-block-group__inner-container,
    .gigb-section--about-environment > .wp-block-group__inner-container,
    .gigb-section--about-contact > .wp-block-group__inner-container {
        padding-top: 62px;
        padding-bottom: 66px;
    }

    .gigb-page-hero--about h1 {
        font-size: clamp(40px, 12vw, 56px);
        margin-bottom: 24px;
    }

    .gigb-page-hero--about p:not(:first-child) {
        font-size: 16.5px;
        line-height: 1.78;
    }

    .gigb-section--about-intro h2,
    .gigb-section--about-story h2,
    .gigb-section--about-mission h2,
    .gigb-section--about-environment h2,
    .gigb-section--about-contact h2 {
        font-size: 31px;
        margin-bottom: 24px;
    }

    .gigb-section--about-intro p,
    .gigb-section--about-story p,
    .gigb-section--about-mission p,
    .gigb-section--about-environment p,
    .gigb-section--about-contact p {
        font-size: 16px;
        line-height: 1.8;
    }

    .gigb-section--about-story h3:not(.gigb-story-explainer) {
        margin-top: 34px;
        padding-left: 28px;
        font-size: 22px;
    }

    .gigb-section--about-story h3 + p {
        padding-left: 28px;
    }

    .gigb-section--about-story h3:not(.gigb-story-explainer)::before {
        left: 0;
        width: 10px;
        height: 10px;
    }

    .gigb-section--about-story h3:not(.gigb-story-explainer)::after {
        left: 4px;
    }

    .gigb-section--about-story .gigb-story-explainer,
    .gigb-section--about-story h3:last-of-type {
        margin-top: 54px;
        padding-top: 26px;
        font-size: 21px;
    }

    .gigb-section--about-contact h3 {
        font-size: 19px;
        margin-top: 36px;
    }

    .gigb-section--about-contact h3:nth-of-type(2),
.gigb-section--about-mission::after {
        width: 320px;
        height: 320px;
        right: -150px;
        bottom: -170px;
    }
}

/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .gigb-page-hero--about > .wp-block-group__inner-container,
    .gigb-section--about-intro > .wp-block-group__inner-container,
    .gigb-section--about-story > .wp-block-group__inner-container,
    .gigb-section--about-mission > .wp-block-group__inner-container,
    .gigb-section--about-environment > .wp-block-group__inner-container,
    .gigb-section--about-contact > .wp-block-group__inner-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gigb-page-hero--about h1 {
        font-size: 42px;
    }

    .gigb-section--about-intro h2,
    .gigb-section--about-story h2,
    .gigb-section--about-mission h2,
    .gigb-section--about-environment h2,
    .gigb-section--about-contact h2 {
        font-size: 28px;
    }

    .gigb-page-hero--about > .wp-block-group__inner-container {
        padding-top: 50px;
        padding-bottom: 54px;
    }

    .gigb-section--about-intro > .wp-block-group__inner-container,
    .gigb-section--about-story > .wp-block-group__inner-container,
    .gigb-section--about-mission > .wp-block-group__inner-container,
    .gigb-section--about-environment > .wp-block-group__inner-container,
    .gigb-section--about-contact > .wp-block-group__inner-container {
        padding-top: 54px;
        padding-bottom: 58px;
    }
}
/* =========================================================
   GIGB ACADEMICS PAGE
   ========================================================= */

/* ---------------------------------------------------------
   Shared layout
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   Generic typography
   --------------------------------------------------------- */

.gigb-section--academics-admissions p,
.gigb-section--academics-curriculum p,
.gigb-section--academics-degree p,
.gigb-section--academics-documents p {
    max-width: 860px;
    font-size: 17px;
    line-height: 1.85;
}

/* ---------------------------------------------------------
   ADMISSIONS
   --------------------------------------------------------- */

.gigb-section--academics-admissions p {
    margin-top: 0;
    margin-bottom: 22px;
}

.gigb-section--academics-admissions p:nth-of-type(3) {
    color: #5a646a;
}

/* ---------------------------------------------------------
   CURRICULUM
   --------------------------------------------------------- */

.gigb-section--academics-curriculum p {
    margin-top: 0;
    margin-bottom: 22px;
}

.gigb-section--academics-curriculum p:nth-of-type(3) {
    color: #5a646a;
}

.gigb-section--academics-curriculum .wp-block-image {
    max-width: 960px;
    margin: 42px 0 10px;
}

.gigb-section--academics-curriculum .wp-block-image img {
    width: 100%;
    height: auto;
}

/* ---------------------------------------------------------
   DEGREE REQUIREMENTS
   --------------------------------------------------------- */

.gigb-section--academics-degree::after {
    content: "";
    position: absolute;
    width: 480px;
    height: 480px;
    right: -180px;
    bottom: -240px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50%;
}

.gigb-section--academics-degree h3 {
    color: #ffffff;
}

.gigb-section--academics-degree p:nth-of-type(3),
.gigb-section--academics-degree p:nth-of-type(5) {
    color: #bfcfd0;
}

.gigb-section--academics-degree h3 {
    max-width: 860px;
    margin: 48px 0 18px;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,0.18);
    font-size: 24px;
    line-height: 1.35;
    font-weight: 650;
}

/* ---------------------------------------------------------
   DOCUMENTS
   --------------------------------------------------------- */

.gigb-section--academics-documents {
    background: #eef2ef;
    border-top: 1px solid #dce3de;
}

.gigb-section--academics-documents p {
    margin-top: 0;
    margin-bottom: 22px;
}

.gigb-section--academics-documents p:nth-of-type(3) {
    color: #5a646a;
}

.gigb-section--academics-documents h3 {
    margin: 42px 0 18px;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 650;
    color: #203238;
}

.gigb-section--academics-admissions a,
.gigb-section--academics-curriculum a,
.gigb-section--academics-documents a {
    color: #244e56;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.gigb-section--academics-admissions a:hover,
.gigb-section--academics-admissions a:focus,
.gigb-section--academics-curriculum a:hover,
.gigb-section--academics-curriculum a:focus,
.gigb-section--academics-documents a:hover,
.gigb-section--academics-documents a:focus {
    color: #18353d;
}

/* ---------------------------------------------------------
   General page cleanup
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .gigb-page-hero--academics > .wp-block-group__inner-container,
    .gigb-section--academics-admissions > .wp-block-group__inner-container,
    .gigb-section--academics-curriculum > .wp-block-group__inner-container,
    .gigb-section--academics-degree > .wp-block-group__inner-container,
    .gigb-section--academics-documents > .wp-block-group__inner-container {
        padding-left: 42px;
        padding-right: 42px;
    }

    .gigb-page-hero--academics > .wp-block-group__inner-container {
        padding-top: 72px;
        padding-bottom: 76px;
    }

    .gigb-section--academics-admissions > .wp-block-group__inner-container,
    .gigb-section--academics-curriculum > .wp-block-group__inner-container,
    .gigb-section--academics-degree > .wp-block-group__inner-container,
    .gigb-section--academics-documents > .wp-block-group__inner-container {
        padding-top: 76px;
        padding-bottom: 78px;
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .gigb-page-hero--academics > .wp-block-group__inner-container,
    .gigb-section--academics-admissions > .wp-block-group__inner-container,
    .gigb-section--academics-curriculum > .wp-block-group__inner-container,
    .gigb-section--academics-degree > .wp-block-group__inner-container,
    .gigb-section--academics-documents > .wp-block-group__inner-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .gigb-page-hero--academics > .wp-block-group__inner-container {
        padding-top: 58px;
        padding-bottom: 62px;
    }

    .gigb-section--academics-admissions > .wp-block-group__inner-container,
    .gigb-section--academics-curriculum > .wp-block-group__inner-container,
    .gigb-section--academics-degree > .wp-block-group__inner-container,
    .gigb-section--academics-documents > .wp-block-group__inner-container {
        padding-top: 62px;
        padding-bottom: 66px;
    }

    .gigb-page-hero--academics h1 {
        font-size: clamp(40px, 12vw, 56px);
        margin-bottom: 24px;
    }

    .gigb-page-hero--academics p:not(:first-child) {
        font-size: 16.5px;
        line-height: 1.78;
    }

    .gigb-section--academics-admissions h2,
    .gigb-section--academics-curriculum h2,
    .gigb-section--academics-degree h2,
    .gigb-section--academics-documents h2 {
        font-size: 31px;
        margin-bottom: 24px;
    }

    .gigb-section--academics-admissions p,
    .gigb-section--academics-curriculum p,
    .gigb-section--academics-degree p,
    .gigb-section--academics-documents p {
        font-size: 16px;
        line-height: 1.8;
    }

    .gigb-section--academics-degree h3,
    .gigb-section--academics-documents h3 {
        font-size: 20px;
    }

    .gigb-section--academics-degree::after {
        width: 320px;
        height: 320px;
        right: -150px;
        bottom: -170px;
    }
}

/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .gigb-page-hero--academics > .wp-block-group__inner-container,
    .gigb-section--academics-admissions > .wp-block-group__inner-container,
    .gigb-section--academics-curriculum > .wp-block-group__inner-container,
    .gigb-section--academics-degree > .wp-block-group__inner-container,
    .gigb-section--academics-documents > .wp-block-group__inner-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gigb-page-hero--academics h1 {
        font-size: 42px;
    }

    .gigb-section--academics-admissions h2,
    .gigb-section--academics-curriculum h2,
    .gigb-section--academics-degree h2,
    .gigb-section--academics-documents h2 {
        font-size: 28px;
    }

    .gigb-page-hero--academics > .wp-block-group__inner-container {
        padding-top: 50px;
        padding-bottom: 54px;
    }

    .gigb-section--academics-admissions > .wp-block-group__inner-container,
    .gigb-section--academics-curriculum > .wp-block-group__inner-container,
    .gigb-section--academics-degree > .wp-block-group__inner-container,
    .gigb-section--academics-documents > .wp-block-group__inner-container {
        padding-top: 54px;
        padding-bottom: 58px;
    }
}

/* =========================================================
   GIGB RESOURCES PAGE
   ========================================================= */

.gigb-section--resources-regulations {
    background: #f7f8f9;
    border-top: 1px solid var(--gigb-border);
    border-bottom: 1px solid var(--gigb-border);
}

/* Introductory copy only.
   Direct-child selectors keep document-list paragraphs independent. */
.gigb-section--resources-forms > .wp-block-group__inner-container > p:not(:first-child),
.gigb-section--resources-regulations > .wp-block-group__inner-container > p:not(:first-child) {
    max-width: var(--gigb-text-width);
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.85;
    color: var(--gigb-text);
}

.gigb-section--resources-forms > .wp-block-group__inner-container > p:nth-of-type(3),
.gigb-section--resources-regulations > .wp-block-group__inner-container > p:nth-of-type(3) {
    color: var(--gigb-muted-text);
}

/* ---------------------------------------------------------
   RESOURCE DOCUMENT LISTS
   Native Gutenberg Groups + Paragraphs
   --------------------------------------------------------- */

.gigb-forms-list,
.gigb-regulations-list {
    width: 100%;
    margin-top: 24px;
}

/* Gutenberg may add block-gap margins between nested Groups. */
.gigb-forms-list > .wp-block-group__inner-container,
.gigb-regulations-list > .wp-block-group__inner-container {
    padding: 0;
    gap: 0;
}

.gigb-form-row,
.gigb-regulation-row {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 14px 8px;
    border-bottom: 1px solid var(--gigb-border);
    box-sizing: border-box;
}

.gigb-form-info,
.gigb-regulation-info {
    flex: 1 1 auto;
    min-width: 0;
}

.gigb-form-info > .wp-block-group__inner-container,
.gigb-regulation-info > .wp-block-group__inner-container {
    padding: 0;
    gap: 0;
}

/* GeneratePress adds padding to nested Group inner containers.
   Resource-list Groups manage their own spacing, so reset it here. */
.gigb-file-icons > .wp-block-group__inner-container {
    padding: 0;
}

/* Document titles */
.gigb-form-tw,
.gigb-form-en,
.gigb-regulation-tw,
.gigb-regulation-en {
    max-width: none !important;
    margin: 0 !important;
    padding: 0;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.gigb-form-en,
.gigb-regulation-en {
    margin-top: 2px !important;
    font-size: 15px !important;
    font-style: italic;
    color: var(--gigb-muted-text) !important;
}

.gigb-form-tw a,
.gigb-form-en a,
.gigb-regulation-tw a,
.gigb-regulation-en a {
    color: inherit;
    text-decoration: none;
}

.gigb-form-tw a:hover,
.gigb-form-tw a:focus,
.gigb-form-en a:hover,
.gigb-form-en a:focus,
.gigb-regulation-tw a:hover,
.gigb-regulation-tw a:focus,
.gigb-regulation-en a:hover,
.gigb-regulation-en a:focus {
    color: #244e56;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

/* ---------------------------------------------------------
   FILE LINKS
   Gutenberg Paragraph blocks styled as compact file badges
   --------------------------------------------------------- */

.gigb-file-icons {
    flex: 0 0 auto;
    min-width: 52px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.gigb-file-icons > .wp-block-group__inner-container {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.gigb-file-link {
    max-width: none !important;
    margin: 0 !important;
    padding: 0;
    font-size: 11px !important;
    line-height: 1 !important;
}

.gigb-file-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 28px;
    padding: 7px 8px;
    border: 1px solid #9aa8ad;
    border-radius: 2px;
    box-sizing: border-box;
    background: #ffffff;
    color: #45565d;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-decoration: none;
    text-transform: uppercase;
}

.gigb-file-link a:hover,
.gigb-file-link a:focus {
    border-color: #315e66;
    background: #244e56;
    color: #ffffff;
}

@media (max-width: 1024px) {
    .gigb-section--resources-forms > .wp-block-group__inner-container,
    .gigb-section--resources-regulations > .wp-block-group__inner-container {
        padding-left: 42px;
        padding-right: 42px;
    }
}

@media (max-width: 768px) {
    .gigb-section--resources-forms > .wp-block-group__inner-container,
    .gigb-section--resources-regulations > .wp-block-group__inner-container {
        padding: 62px 24px 66px;
    }

    .gigb-section--resources-forms h2,
    .gigb-section--resources-regulations h2 {
        margin-bottom: 24px;
        font-size: 31px;
    }

    .gigb-section--resources-forms > .wp-block-group__inner-container > p:not(:first-child),
    .gigb-section--resources-regulations > .wp-block-group__inner-container > p:not(:first-child) {
        font-size: 16px;
        line-height: 1.8;
    }

    .gigb-form-tw,
    .gigb-regulation-tw {
        font-size: 15.5px !important;
    }

    .gigb-form-en,
    .gigb-regulation-en {
        font-size: 14.5px !important;
    }
}

@media (max-width: 600px) {
    .gigb-form-row,
    .gigb-regulation-row {
        gap: 10px;
        padding: 12px 4px;
    }

    .gigb-file-icons,
    .gigb-file-icons > .wp-block-group__inner-container {
        gap: 6px;
    }

    .gigb-file-link a {
        min-width: 38px;
        min-height: 27px;
        padding: 6px;
        font-size: 9px;
    }
}

@media (max-width: 480px) {
    .gigb-section--resources-forms > .wp-block-group__inner-container,
    .gigb-section--resources-regulations > .wp-block-group__inner-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gigb-section--resources-forms h2,
    .gigb-section--resources-regulations h2 {
        font-size: 28px;
    }
}

/* =========================================================
   GIGB NEWS & EVENTS PAGE
   ========================================================= */

/* ---------------------------------------------------------
   Shared layout
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   Small section labels
   --------------------------------------------------------- */

.gigb-page-hero--news > .wp-block-group__inner-container > p:first-child,
.gigb-section--news > .wp-block-group__inner-container > p:first-child {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #56727f;
}

/* ---------------------------------------------------------
   NEWS SECTIONS
   --------------------------------------------------------- */

.gigb-section--news {
    background: #ffffff;
}

/* Actual section headings only — not post titles */

.gigb-section--news > .wp-block-group__inner-container > p:not(:first-child) {
    max-width: 860px;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.85;
    color: #3d4348;
}

.gigb-section--news > .wp-block-group__inner-container > p:nth-of-type(3) {
    color: #5a646a;
}

/* ---------------------------------------------------------
   QUERY LIST
   --------------------------------------------------------- */

.gigb-section--news .wp-block-query {
    margin-top: 42px;
}

.gigb-section--news .wp-block-post-template {
    margin: 0;
    padding: 0;
}

.gigb-section--news .wp-block-post-template > li {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    column-gap: 30px;
    align-items: baseline;

    margin: 0;
    padding: 20px 0;
    border-top: 1px solid #dce3e0;
}

.gigb-section--news .wp-block-post-template > li:last-child {
    border-bottom: 1px solid #dce3e0;
}

.gigb-section--news .wp-block-post-date {
    grid-column: 1;
    grid-row: 1;

    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #7a8588;
    white-space: nowrap;
}

.gigb-section--news .wp-block-post-title {
    grid-column: 2;
    grid-row: 1;

    margin: 0;
    font-size: 17px;
    line-height: 1.55;
    font-weight: 600;
    letter-spacing: 0;
}

.gigb-section--news .wp-block-post-title a {
    color: #223940;
    text-decoration: none;
}

.gigb-section--news .wp-block-post-title a:hover,
.gigb-section--news .wp-block-post-title a:focus {
    color: #567f80;
}

/* ---------------------------------------------------------
   PAGE CLEANUP
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .gigb-page-hero--news > .wp-block-group__inner-container,
    .gigb-section--news > .wp-block-group__inner-container {
        padding-left: 42px;
        padding-right: 42px;
    }

    .gigb-page-hero--news > .wp-block-group__inner-container {
        padding-top: 72px;
        padding-bottom: 76px;
    }

    .gigb-section--news > .wp-block-group__inner-container {
        padding-top: 76px;
        padding-bottom: 82px;
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .gigb-page-hero--news > .wp-block-group__inner-container,
    .gigb-section--news > .wp-block-group__inner-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .gigb-page-hero--news > .wp-block-group__inner-container {
        padding-top: 58px;
        padding-bottom: 62px;
    }

    .gigb-section--news > .wp-block-group__inner-container {
        padding-top: 62px;
        padding-bottom: 68px;
    }

    .gigb-page-hero--news h1 {
        font-size: clamp(40px, 12vw, 56px);
        margin-bottom: 24px;
    }

    .gigb-page-hero--news p:not(:first-child) {
        font-size: 16.5px;
        line-height: 1.78;
    }

    .gigb-section--news > .wp-block-group__inner-container > h2 {
        font-size: 31px;
        margin-bottom: 24px;
    }

    .gigb-section--news > .wp-block-group__inner-container > p:not(:first-child) {
        font-size: 16px;
        line-height: 1.8;
    }

    .gigb-section--news .wp-block-query {
        margin-top: 32px;
    }

    .gigb-section--news .wp-block-post-template > li {
        display: block;
        padding: 17px 0;
    }

    .gigb-section--news .wp-block-post-date {
        margin-bottom: 5px;
        font-size: 12.5px;
    }

    .gigb-section--news .wp-block-post-title {
        font-size: 16px;
        line-height: 1.55;
    }
}

/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .gigb-page-hero--news > .wp-block-group__inner-container,
    .gigb-section--news > .wp-block-group__inner-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gigb-page-hero--news h1 {
        font-size: 42px;
    }

    .gigb-section--news > .wp-block-group__inner-container > h2 {
        font-size: 28px;
    }

    .gigb-page-hero--news > .wp-block-group__inner-container {
        padding-top: 50px;
        padding-bottom: 54px;
    }

    .gigb-section--news > .wp-block-group__inner-container {
        padding-top: 54px;
        padding-bottom: 58px;
    }
}
/* =========================================================
   HOMEPAGE HERO — prevent BIOINFORMATICS from splitting
   ========================================================= */

/*
 * The homepage H1 already contains an explicit <br> between
 * "GENOMICS ×" and "BIOINFORMATICS". Keep BIOINFORMATICS
 * on one line, and reduce the heading slightly on narrower
 * screens so it still fits inside the left hero column.
 */
.page-id-42 .gigb-hero h1 {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

@media (max-width: 1100px) {
    .page-id-42 .gigb-hero h1 {
        font-size: clamp(44px, 5.4vw, 64px);
    }
}

@media (max-width: 781px) {
    .page-id-42 .gigb-hero h1 {
        font-size: clamp(36px, 9vw, 48px);
    }
}

@media (max-width: 480px) {
    .page-id-42 .gigb-hero h1 {
        font-size: clamp(30px, 8.5vw, 38px);
    }
}

/* =========================================================
   GIGB ABOUT PAGE — ADMINISTRATIVE OFFICE
   Matches current Gutenberg structure
   Added 2026-08-23
   ========================================================= */

.gigb-section--about-office {
    width: 100%;
    margin: 0;
border-bottom: 1px solid #e2e7e3;
}

.gigb-section--about-office > .wp-block-group__inner-container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 92px 56px 100px;
    box-sizing: border-box;
}

.gigb-section--about-office h2 {
    margin-top: 8px;
    margin-bottom: 36px;
    font-size: clamp(30px, 3.2vw, 44px);
    line-height: 1.2;
    font-weight: 650;
    letter-spacing: -0.02em;
    color: #18232b;
}

/* The Gutenberg Group that contains the two people */
.gigb-office-grid {
    margin: 0;
}

.gigb-office-grid > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    max-width: none;
    padding: 0 !important;
}

.gigb-office-member {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff;
    border-top: 3px solid #587f80;
}

.gigb-office-member > .wp-block-group__inner-container {
    max-width: none;
    margin: 0;
    padding: 28px 28px 30px !important;
    box-sizing: border-box;
}

/* Name — in the current Gutenberg page this is the first paragraph */
.gigb-office-member > .wp-block-group__inner-container > p:first-child {
    margin: 0 0 8px;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 700;
    color: #20383e;
}

.gigb-office-member > .wp-block-group__inner-container > p:nth-child(2) {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 700;
    color: #65797e;
}

.gigb-office-member > .wp-block-group__inner-container > p:nth-child(n+3) {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 15px;
    line-height: 1.7;
    color: #465258;
}

.gigb-office-member > .wp-block-group__inner-container > p:last-child {
    margin-bottom: 0;
}

.gigb-office-member a {
    color: #244e56;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.16em;
}

.gigb-office-member a:hover,
.gigb-office-member a:focus {
    color: #18353d;
}

/*
   Administrative Office is now its own section.
   In Visit & Contact, the second H3 is "Getting Here".
*/
.gigb-section--about-contact h3:nth-of-type(2) {
    margin-top: 52px;
    padding-top: 36px;
    border-top: 1px solid #ccd7d2;
}

@media (max-width: 1024px) {
    .gigb-section--about-office > .wp-block-group__inner-container {
        padding: 76px 42px 78px;
    }
}

@media (max-width: 768px) {
    .gigb-section--about-office > .wp-block-group__inner-container {
        padding: 62px 24px 66px;
    }

    .gigb-section--about-office h2 {
        margin-bottom: 28px;
        font-size: 31px;
    }

    .gigb-office-grid > .wp-block-group__inner-container {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gigb-office-member > .wp-block-group__inner-container {
        padding: 24px !important;
    }

    .gigb-office-member > .wp-block-group__inner-container > p:first-child {
        font-size: 19px;
    }

    .gigb-office-member > .wp-block-group__inner-container > p:nth-child(n+3) {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .gigb-section--about-office > .wp-block-group__inner-container {
        padding: 54px 20px 58px;
    }

    .gigb-section--about-office h2 {
        font-size: 28px;
    }
}

/* =========================================================
   PEOPLE & RESEARCH — SURFACE SAFETY ALIASES
   Identity classes retain their intended surface styling even
   if a semantic --muted / --dark class is omitted in Gutenberg.
   ========================================================= */

.gigb-section--affiliated-faculty {
    background: var(--gigb-surface-muted);
    border-top: 1px solid var(--gigb-border);
    border-bottom: 1px solid var(--gigb-border);
}

.gigb-section--research-areas {
    background: var(--gigb-teal);
    color: #ffffff;
}

.gigb-section--research-areas > .wp-block-group__inner-container > p:first-child {
    color: var(--gigb-dark-label);
}

.gigb-section--research-areas h2,
.gigb-section--research-areas h3,
.gigb-section--research-areas h4,
.gigb-section--research-areas h5,
.gigb-section--research-areas h6 {
    color: #ffffff;
}

.gigb-section--research-areas p,
.gigb-section--research-areas li {
    color: var(--gigb-dark-text);
}

.gigb-section--research-areas strong {
    color: inherit;
}

.gigb-section--research-areas a {
    color: #ffffff;
}

/* =========================================================
   GIGB PEOPLE & RESEARCH PAGE
   Matches current Gutenberg structure
   Added 2026-08-23
   ========================================================= */

/* ---------------------------------------------------------
   Shared full-width sections
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   FACULTY
   --------------------------------------------------------- */

.gigb-section--faculty > .wp-block-group__inner-container > p:not(:first-child) {
    max-width: 860px;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.85;
    color: #3d4348;
}

.gigb-section--faculty > .wp-block-group__inner-container > p:nth-of-type(3) {
    color: #5a646a;
}

.gigb-faculty-card {
    gap: 34px !important;
    margin: 46px 0 0 !important;
    padding: 30px 0 0;
    border-top: 1px solid #dce3e0;
    align-items: flex-start !important;
}

.gigb-faculty-card:first-of-type {
    margin-top: 52px !important;
}

.gigb-faculty-card .wp-block-column:first-child {
    flex-basis: 28% !important;
}

.gigb-faculty-card .wp-block-column:last-child {
    flex-basis: 72% !important;
}

.gigb-faculty-card .wp-block-image {
    margin: 0;
}

.gigb-faculty-card .wp-block-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    background: #eef1ef;
}

.gigb-faculty-card h3 {
    margin: 0 0 5px;
    font-size: 27px;
    line-height: 1.25;
    font-weight: 700;
    color: #20383e;
}

.gigb-faculty-card h3 + p {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.5;
    color: #718085;
}

.gigb-faculty-card .wp-block-column:last-child p {
    max-width: 720px;
    font-size: 15.5px;
    line-height: 1.72;
    color: #465258;
}

.gigb-faculty-card .wp-block-column:last-child p:nth-of-type(2) {
    margin-bottom: 16px;
    color: #3f4d52;
}

.gigb-faculty-card .wp-block-column:last-child p:nth-of-type(3) {
    margin-bottom: 12px;
    font-weight: 650;
    color: #28474e;
}

.gigb-faculty-card .wp-block-column:last-child p:nth-of-type(4) {
    margin-bottom: 18px;
    font-size: 12.5px;
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: 0.075em;
    color: #6d8788;
}

.gigb-faculty-card .wp-block-column:last-child p:nth-of-type(5) {
    margin-bottom: 14px;
}

.gigb-faculty-card .wp-block-column:last-child p:nth-of-type(6) {
    margin-bottom: 20px;
    color: #657075;
}

.gigb-faculty-card .wp-block-column:last-child p:last-child {
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 650;
}

.gigb-faculty-card a {
    color: #244e56;
    text-decoration: none;
}

.gigb-faculty-card a:hover,
.gigb-faculty-card a:focus {
    color: #18353d;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

/* ---------------------------------------------------------
   JOINT & ADJUNCT FACULTY
   --------------------------------------------------------- */

.gigb-section--affiliated-faculty > .wp-block-group__inner-container > h2:not(:first-of-type) {
    margin: 52px 0 22px;
    padding-top: 30px;
    border-top: 1px solid #d4dcda;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 650;
    letter-spacing: -0.01em;
    color: #23383f;
}

/* First subgroup heading should not have a divider above */
.gigb-section--affiliated-faculty > .wp-block-group__inner-container > h2:nth-of-type(2) {
    margin-top: 42px;
    padding-top: 0;
    border-top: 0;
}

.gigb-affiliated-grid {
    margin: 0;
}

.gigb-affiliated-grid > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    max-width: none;
    padding: 0 !important;
}

.gigb-affiliated-member {
    margin: 0;
    background: #ffffff;
    border-top: 3px solid #6f8f8f;
}

.gigb-affiliated-member > .wp-block-group__inner-container {
    max-width: none;
    margin: 0;
    padding: 22px 22px 24px !important;
    box-sizing: border-box;
}

.gigb-affiliated-member p {
    margin-top: 0;
}

.gigb-affiliated-member > .wp-block-group__inner-container > p:first-child {
    margin-bottom: 6px;
    font-size: 19px;
    line-height: 1.35;
    font-weight: 700;
    color: #20383e;
}

.gigb-affiliated-member > .wp-block-group__inner-container > p:nth-child(2) {
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 650;
    color: #718085;
}

.gigb-affiliated-member > .wp-block-group__inner-container > p:nth-child(3) {
    margin-bottom: 0;
    font-size: 14.5px;
    line-height: 1.65;
    color: #4e5a5f;
}

/* ---------------------------------------------------------
   RESEARCH AREAS
   --------------------------------------------------------- */

.gigb-section--research-areas {
    background: #18353d;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.gigb-section--research-areas::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -190px;
    bottom: -250px;
    border: 1px solid rgba(255,255,255,0.11);
    border-radius: 50%;
}

.gigb-section--research-areas > .wp-block-group__inner-container > p:not(:first-child) {
    max-width: 860px;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.85;
}

.gigb-section--research-areas > .wp-block-group__inner-container > p:nth-of-type(3) {
    color: #bfcfd0;
}

.gigb-section--research-areas .wp-block-columns {
    gap: 18px !important;
    margin-top: 18px;
    margin-bottom: 0;
    align-items: stretch !important;
}

.gigb-section--research-areas .wp-block-columns:first-of-type {
    margin-top: 46px;
}

.gigb-area-card {
    padding: 26px 24px 28px;
    background: rgba(255,255,255,0.055);
    border-top: 2px solid rgba(168,197,197,0.55);
}

.gigb-area-card > p:first-child {
    margin: 0 0 20px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #9fbabb;
}

.gigb-area-card h3 {
    margin: 0 0 18px;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 650;
    color: #ffffff;
}

.gigb-area-card p:not(:first-child) {
    margin-top: 0;
    margin-bottom: 14px;
    font-size: 14.5px;
    line-height: 1.72;
    color: #dfe8e8;
}

.gigb-area-card p:last-child {
    margin-bottom: 0;
    color: #b8c9ca;
}

/* ---------------------------------------------------------
   PEOPLE & RESEARCH PAGE CLEANUP
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .gigb-page-hero--people > .wp-block-group__inner-container,
    .gigb-section--faculty > .wp-block-group__inner-container,
    .gigb-section--affiliated-faculty > .wp-block-group__inner-container,
    .gigb-section--research-areas > .wp-block-group__inner-container {
        padding-left: 42px;
        padding-right: 42px;
    }

    .gigb-page-hero--people > .wp-block-group__inner-container {
        padding-top: 72px;
        padding-bottom: 76px;
    }

    .gigb-section--faculty > .wp-block-group__inner-container,
    .gigb-section--affiliated-faculty > .wp-block-group__inner-container,
    .gigb-section--research-areas > .wp-block-group__inner-container {
        padding-top: 76px;
        padding-bottom: 82px;
    }

    .gigb-faculty-card {
        gap: 28px !important;
    }

    .gigb-affiliated-grid > .wp-block-group__inner-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 781px) {

    .gigb-page-hero--people > .wp-block-group__inner-container,
    .gigb-section--faculty > .wp-block-group__inner-container,
    .gigb-section--affiliated-faculty > .wp-block-group__inner-container,
    .gigb-section--research-areas > .wp-block-group__inner-container {
        padding-left: 24px;
        padding-right: 24px;
    }

    .gigb-page-hero--people > .wp-block-group__inner-container {
        padding-top: 58px;
        padding-bottom: 62px;
    }

    .gigb-section--faculty > .wp-block-group__inner-container,
    .gigb-section--affiliated-faculty > .wp-block-group__inner-container,
    .gigb-section--research-areas > .wp-block-group__inner-container {
        padding-top: 62px;
        padding-bottom: 68px;
    }

    .gigb-page-hero--people h1 {
        font-size: clamp(40px, 12vw, 56px);
        margin-bottom: 24px;
    }

    .gigb-page-hero--people p:not(:first-child) {
        font-size: 16.5px;
        line-height: 1.78;
    }

    .gigb-section--faculty > .wp-block-group__inner-container > h2,
    .gigb-section--affiliated-faculty > .wp-block-group__inner-container > h2:first-of-type,
    .gigb-section--research-areas > .wp-block-group__inner-container > h2 {
        font-size: 31px;
        margin-bottom: 24px;
    }

    .gigb-section--faculty > .wp-block-group__inner-container > p:not(:first-child),
    .gigb-section--research-areas > .wp-block-group__inner-container > p:not(:first-child) {
        font-size: 16px;
        line-height: 1.8;
    }

    .gigb-faculty-card {
        display: block !important;
        margin-top: 38px !important;
        padding-top: 24px;
    }

    .gigb-faculty-card .wp-block-column:first-child,
    .gigb-faculty-card .wp-block-column:last-child {
        flex-basis: auto !important;
        width: 100%;
    }

    .gigb-faculty-card .wp-block-column:first-child {
        max-width: 320px;
        margin-bottom: 24px;
    }

    .gigb-faculty-card h3 {
        font-size: 24px;
    }

    .gigb-section--affiliated-faculty > .wp-block-group__inner-container > h2:not(:first-of-type) {
        margin-top: 42px;
        font-size: 22px;
    }

    .gigb-affiliated-grid > .wp-block-group__inner-container {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .gigb-section--research-areas .wp-block-columns {
        display: block !important;
    }

    .gigb-area-card {
        margin-bottom: 16px;
    }

    .gigb-section--research-areas::after {
        width: 330px;
        height: 330px;
        right: -160px;
        bottom: -180px;
    }
}

/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .gigb-page-hero--people > .wp-block-group__inner-container,
    .gigb-section--faculty > .wp-block-group__inner-container,
    .gigb-section--affiliated-faculty > .wp-block-group__inner-container,
    .gigb-section--research-areas > .wp-block-group__inner-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gigb-page-hero--people h1 {
        font-size: 42px;
    }

    .gigb-section--faculty > .wp-block-group__inner-container > h2,
    .gigb-section--affiliated-faculty > .wp-block-group__inner-container > h2:first-of-type,
    .gigb-section--research-areas > .wp-block-group__inner-container > h2 {
        font-size: 28px;
    }

    .gigb-faculty-card .wp-block-column:first-child {
        max-width: 260px;
    }

    .gigb-affiliated-member > .wp-block-group__inner-container {
        padding: 20px !important;
    }
}

/* =========================================================
   HEADER + PRIMARY NAVIGATION — DESKTOP WRAP FIX ONLY
   Keeps the existing GIGB colors and page layouts unchanged.
   ========================================================= */

/* Keep the long institute title on one line on desktop. */
@media (min-width: 769px) {
    .site-header .main-title,
    .site-header .main-title a {
        white-space: nowrap;
    }

    /* Let the title scale down slightly on narrower desktop/tablet widths
       instead of wrapping onto a second line. */
    .site-header .main-title {
        font-size: clamp(24px, 3vw, 40px);
    }

    /* Keep the primary navigation as one horizontal row. */
    #site-navigation .main-nav > ul {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
    }

    #site-navigation .main-nav > ul > li > a {
        white-space: nowrap;
    }
}
/* =========================================================
   GIGB Footer
   ========================================================= */

.footer-widgets {
    background: #f1f4f2;
    border-top: 1px solid #d8dfdc;
    color: #334247;
}

.footer-widgets-container {
    padding-top: 54px;
    padding-bottom: 48px;
}

.inside-footer-widgets {
    gap: 56px;
    align-items: flex-start;
}

/* ---------------------------------------------------------
   General widget spacing
   --------------------------------------------------------- */

.footer-widgets .widget {
    margin-bottom: 10px;
}

.footer-widgets p {
    margin: 0;
    line-height: 1.65;
}

.footer-widgets a {
    color: inherit;
    text-decoration: none;
}

.footer-widgets a:hover,
.footer-widgets a:focus {
    color: #244e56;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

/* ---------------------------------------------------------
   Column proportions
   --------------------------------------------------------- */

.footer-widget-1 {
    flex: 1.55;
}

.footer-widget-2 {
    flex: 1.05;
}

.footer-widget-3 {
    flex: 0.95;
}

/* ---------------------------------------------------------
   Column 1 — Institute identity
   --------------------------------------------------------- */

.footer-widget-1 > .widget:first-child p {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 700;
    color: #20383e;
}

.footer-widget-1 > .widget:nth-child(2) {
    margin-top: 10px;
}

.footer-widget-1 > .widget:nth-child(2) p {
    font-size: 14.5px;
    line-height: 1.6;
    color: #667479;
}

.footer-widget-1 > .widget:nth-child(3) {
    margin-top: 22px;
}

.footer-widget-1 > .widget:nth-child(3) p {
    font-size: 14px;
    line-height: 1.7;
    color: #5b686d;
}

/* ---------------------------------------------------------
   Column headings
   --------------------------------------------------------- */

.footer-widget-2 > .widget:first-child,
.footer-widget-3 > .widget:first-child {
    margin-bottom: 18px;
}

.footer-widget-2 > .widget:first-child p,
.footer-widget-3 > .widget:first-child p {
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #56727f;
}

/* ---------------------------------------------------------
   Related links
   --------------------------------------------------------- */

.footer-widget-2 > .widget:not(:first-child) {
    margin-bottom: 7px;
}

.footer-widget-2 > .widget:not(:first-child) p {
    font-size: 14px;
    line-height: 1.55;
    color: #48575c;
}

/* ---------------------------------------------------------
   Contact
   --------------------------------------------------------- */

.footer-widget-3 > .widget:not(:first-child) {
    margin-bottom: 11px;
}

.footer-widget-3 > .widget:not(:first-child) p {
    font-size: 14px;
    line-height: 1.6;
    color: #48575c;
}

.footer-widget-3 a {
    color: #244e56;
}

/* ---------------------------------------------------------
   Bottom site info
   --------------------------------------------------------- */

.site-info {
    background: #e8eeeb;
    border-top: 1px solid #d3dcd8;
    font-size: 12.5px;
    color: #68757a;
}

.inside-site-info {
    padding-top: 16px;
    padding-bottom: 16px;
    align-items: center;
}

.footer-bar p {
    margin: 0;
    line-height: 1.5;
}

.site-info a {
    color: inherit;
    text-decoration: none;
}

.site-info a:hover,
.site-info a:focus {
    color: #244e56;
    text-decoration: underline;
}

/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 768px) {

    .inside-footer-widgets {
        gap: 0;
    }

    .footer-widget-1,
    .footer-widget-2,
    .footer-widget-3 {
        flex: 0 0 100%;
        width: 100%;
    }

    .footer-widget-1,
    .footer-widget-2 {
        margin-bottom: 34px;
    }

    .footer-widgets-container {
        padding-top: 40px;
        padding-bottom: 38px;
    }

    .inside-site-info {
        display: block;
        text-align: left;
    }

    .footer-bar {
        margin-bottom: 8px;
    }
}
/* =========================================================
   SHARED IN-PAGE SECTION NAVIGATION
   Used by News, Resources, and other long-form pages.
   ========================================================= */

.gigb-section-nav {
    margin-top: 24px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-align: right;
}

.gigb-section-nav-links p {
    margin-top: 24px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px 28px;
}
/* GeneratePress adds padding to Gutenberg Group inner containers.
   Remove it here so section navigation remains compact text navigation. */
.gigb-section-nav-links > .wp-block-group__inner-container {
    padding: 0;
}

.gigb-section-nav-links p {
    margin: 0;
    max-width: none;
}

.gigb-section-nav-links a,
.gigb-section-nav-links a:visited {
    color: inherit;
    text-decoration: none;
}

.gigb-section-nav-links a:hover,
.gigb-section-nav-links a:focus {
    color: var(--accent);
    text-decoration: underline;
}
.gigb-section-nav > .wp-block-group__inner-container {
    padding: 0;
}

.gigb-section-nav p {
    margin: 0;
    max-width: none;
}

.gigb-section-nav a,
.gigb-section-nav a:visited {
    color: inherit;
    text-decoration: none;
}

.gigb-section-nav a:hover,
.gigb-section-nav a:focus {
    color: var(--accent);
    text-decoration: underline;
}

/* =========================================================
   Header utility area
   ========================================================= */

.header-widget {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.gigb-header-utility {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.gigb-asknchu {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.gigb-asknchu img {
    display: block;
    width: auto;
    height: 38px;
}

.gigb-asknchu:hover img,
.gigb-asknchu:focus img {
    opacity: 0.78;
}

.gigb-language-switch {
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.04em;
    color: #667479;
    white-space: nowrap;
}

.gigb-language-switch a {
    color: inherit;
    text-decoration: none;
}

.gigb-language-switch a:hover,
.gigb-language-switch a:focus {
    color: #244e56;
    text-decoration: underline;
}

.gigb-language-switch span {
    margin: 0 5px;
    color: #a5adaf;
}

@media (max-width: 768px) {

    .header-widget {
        gap: 12px;
    }

    .gigb-asknchu img {
        height: 32px;
    }

    .gigb-language-switch {
        font-size: 11px;
    }
}

