
:root {
    --isert-ink: #17201f;
    --isert-muted: #5f6866;
    --isert-paper: #f5f3ee;
    --isert-white: #ffffff;
    --isert-teal: #1f5c59;
    --isert-teal-dark: #154743;
    --isert-line: #d8ddda;
    --isert-soft: #e8eeeb;
    --isert-max: 1180px;
}

html { scroll-behavior: smooth; }
body { margin: 0; }

.isert-site,
.isert-site * { box-sizing: border-box; }

.isert-site {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    background: var(--isert-white);
    color: var(--isert-ink);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.7;
}

.isert-site img { display: block; max-width: 100%; }
.isert-site a { color: inherit; }

.isert-container {
    width: min(calc(100% - 48px), var(--isert-max));
    margin: 0 auto;
}

.isert-narrow { max-width: 840px; }

.isert-skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 9999;
    padding: 10px 14px;
    background: var(--isert-white);
    transform: translateY(-150%);
}

.isert-skip-link:focus { transform: translateY(0); }

.isert-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--isert-line);
    backdrop-filter: blur(12px);
}

.isert-header-inner {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.isert-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.isert-brand img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.isert-brand span { display: grid; line-height: 1.1; }
.isert-brand strong { font-size: 20px; letter-spacing: .1em; }
.isert-brand small {
    margin-top: 5px;
    color: var(--isert-muted);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.isert-navigation {
    display: flex;
    align-items: center;
    gap: 24px;
}

.isert-navigation a {
    position: relative;
    padding: 28px 0;
    color: var(--isert-ink);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.isert-navigation a::after {
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    height: 2px;
    background: var(--isert-teal);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
}

.isert-navigation a:hover::after,
.isert-navigation a:focus-visible::after { transform: scaleX(1); }

.isert-menu-toggle {
    display: none;
    align-items: center;
    gap: 10px;
    border: 0;
    background: transparent;
    color: var(--isert-ink);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.isert-menu-icon,
.isert-menu-icon::before,
.isert-menu-icon::after {
    width: 22px;
    height: 2px;
    display: block;
    background: currentColor;
    content: "";
}

.isert-menu-icon { position: relative; }
.isert-menu-icon::before { position: absolute; top: -7px; }
.isert-menu-icon::after { position: absolute; top: 7px; }

.isert-hero {
    min-height: 690px;
    display: flex;
    align-items: center;
    padding: 96px 0;
    background: var(--isert-paper);
}

.isert-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.65fr) minmax(280px,.75fr);
    align-items: center;
    gap: 80px;
}

.isert-eyebrow,
.isert-section-label {
    margin: 0 0 20px;
    color: var(--isert-teal);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .17em;
    line-height: 1.4;
    text-transform: uppercase;
}

.isert-hero h1,
.isert-site h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.035em;
}

.isert-hero h1 {
    max-width: 850px;
    font-size: clamp(44px,6vw,78px);
    line-height: 1.04;
}

.isert-lead {
    max-width: 740px;
    margin: 32px 0 0;
    color: #38413f;
    font-size: clamp(19px,2vw,23px);
    line-height: 1.55;
}

.isert-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 36px;
}

.isert-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border: 1px solid var(--isert-teal);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.isert-button:hover,
.isert-button:focus-visible { transform: translateY(-2px); }

.isert-button-primary { background: var(--isert-teal); color: var(--isert-white)!important; }
.isert-button-primary:hover,
.isert-button-primary:focus-visible { background: var(--isert-teal-dark); }

.isert-button-secondary { color: var(--isert-teal)!important; }
.isert-button-secondary:hover,
.isert-button-secondary:focus-visible { background: var(--isert-teal); color: var(--isert-white)!important; }

.isert-hero-mark { position: relative; }
.isert-hero-mark::before {
    position: absolute;
    inset: 10% -5% -5% 15%;
    border: 1px solid rgba(31,92,89,.18);
    border-radius: 50%;
    content: "";
}

.isert-hero-mark img {
    position: relative;
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
    opacity: .86;
}

.isert-intro { padding: 120px 0; }

.isert-site h2 {
    max-width: 900px;
    font-size: clamp(38px,5vw,59px);
    line-height: 1.12;
}

.isert-intro h2 { margin-bottom: 36px; }

.isert-rich-text p {
    margin: 0 0 22px;
    color: #3e4745;
    font-size: 20px;
    line-height: 1.75;
}

.isert-objectives,
.isert-board {
    padding: 110px 0;
    background: var(--isert-paper);
}

.isert-section-heading { margin-bottom: 52px; }

.isert-card-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}

.isert-card {
    min-height: 360px;
    padding: 34px;
    background: var(--isert-white);
    border-top: 4px solid var(--isert-teal);
}

.isert-card-number {
    color: var(--isert-teal);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .15em;
}

.isert-card h3,
.isert-membership-panel h3,
.isert-board-grid h3 {
    margin: 70px 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.2;
}

.isert-card p { margin: 0; color: var(--isert-muted); }

.isert-next-conference,
.isert-journal {
    padding: 80px 0;
    background: var(--isert-teal);
    color: var(--isert-white);
}

.isert-conference-feature,
.isert-journal-grid {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    align-items: end;
    gap: 90px;
}

.isert-conference-feature.has-image {
    grid-template-columns: minmax(0,.7fr) minmax(0,.9fr) minmax(260px,.7fr);
    align-items: center;
    gap: 55px;
}

.isert-conference-image img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}

.isert-next-conference h2,
.isert-journal h2 { color: var(--isert-white); }

.isert-next-conference p:last-child,
.isert-journal-grid>div:last-child>p {
    margin: 0;
    font-size: 20px;
    line-height: 1.7;
}

.isert-light-label { color: #b8d7d2; }

.isert-news,
.isert-conferences,
.isert-membership { padding: 120px 0; }

.isert-news { background: var(--isert-white); }

.isert-heading-row {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr);
    align-items: end;
    gap: 70px;
}

.isert-heading-row>p {
    margin: 0;
    color: var(--isert-muted);
    font-size: 18px;
}

.isert-news-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
}

.isert-news-card {
    min-width: 0;
    overflow: hidden;
    background: var(--isert-paper);
    border: 1px solid var(--isert-line);
}

.isert-news-image {
    display: block;
    overflow: hidden;
    text-decoration: none;
}

.isert-news-image img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover;
    transition: transform 250ms ease;
}

.isert-news-card:hover .isert-news-image img { transform: scale(1.025); }

.isert-news-content { padding: 27px; }

.isert-news-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    color: var(--isert-muted);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.isert-news-meta span { color: var(--isert-teal); font-weight: 700; }

.isert-news-card h3 {
    margin: 18px 0 14px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.22;
}

.isert-news-card h3 a,
.isert-news-link { text-decoration: none; }

.isert-news-card p { margin: 0; color: var(--isert-muted); }

.isert-news-link {
    display: inline-block;
    margin-top: 22px;
    color: var(--isert-teal)!important;
    font-size: 14px;
    font-weight: 700;
}

.isert-timeline {
    margin: 70px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--isert-line);
}

.isert-timeline li {
    display: grid;
    grid-template-columns: 90px 170px minmax(0,1fr);
    gap: 20px;
    align-items: baseline;
    padding: 22px 0;
    border-bottom: 1px solid var(--isert-line);
}

.isert-timeline span { color: var(--isert-teal); font-size: 14px; font-weight: 700; }
.isert-timeline strong { font-size: 17px; }
.isert-timeline em {
    color: var(--isert-muted);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
}

.isert-membership { background: #eef2ef; }

.isert-two-column {
    display: grid;
    grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
    gap: 90px;
}

.isert-large-copy { color: var(--isert-muted); font-size: 20px; }

.isert-membership .isert-button { margin-top: 20px; }

.isert-membership-panel {
    padding: 42px;
    background: var(--isert-white);
}

.isert-membership-panel h3 { margin: 0 0 17px; font-size: 25px; }
.isert-membership-panel h3:not(:first-child) { margin-top: 38px; }
.isert-membership-panel ul { margin: 0; padding-left: 22px; }
.isert-membership-panel li { margin-bottom: 10px; }

.isert-note {
    margin: 30px 0 0;
    padding-top: 24px;
    border-top: 1px solid var(--isert-line);
    color: var(--isert-muted);
    font-size: 15px;
}

.isert-board-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}

.isert-board-card {
    overflow: hidden;
    background: var(--isert-white);
}

.isert-board-photo img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    object-position: center top;
}

.isert-board-placeholder {
    display: grid;
    aspect-ratio: 4/5;
    place-items: center;
    background: var(--isert-soft);
    color: var(--isert-teal);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
}

.isert-board-content {
    min-height: 228px;
    padding: 26px;
}

.isert-board-content>p {
    margin: 0;
    color: var(--isert-teal);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.isert-board-grid h3 {
    margin: 48px 0 10px;
    font-size: 24px;
}

.isert-board-grid h3 a { text-decoration: none; }
.isert-board-grid span { display: block; color: var(--isert-muted); font-size: 15px; }

.isert-board-link {
    display: inline-block;
    margin-top: 17px;
    color: var(--isert-teal)!important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.isert-journal-grid { align-items: start; }

.isert-text-link {
    display: inline-block;
    margin-top: 27px;
    padding-bottom: 4px;
    border-bottom: 1px solid currentColor;
    color: var(--isert-white)!important;
    font-weight: 700;
    text-decoration: none;
}

.isert-footer {
    padding: 58px 0;
    background: var(--isert-ink);
    color: var(--isert-white);
}

.isert-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr .7fr;
    gap: 50px;
}

.isert-footer-brand {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    text-decoration: none;
}

.isert-footer p { margin: 8px 0 0; color: #b8c0bd; font-size: 13px; }
.isert-footer p a { color: inherit; }

.isert-footer-links {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px 25px;
}

.isert-footer-links a { color: var(--isert-white); font-size: 14px; text-decoration: none; }
.isert-footer-meta { text-align: right; }

.isert-site a:focus-visible,
.isert-site button:focus-visible {
    outline: 3px solid #8fc7bf;
    outline-offset: 4px;
}

/* Remove WordPress/Divi title wrappers only on the selected front page. */
body.isert-front-page .entry-title,
body.isert-front-page h1.entry-title,
body.isert-front-page .main_title,
body.isert-front-page h1.main_title,
body.isert-front-page .page-title,
body.isert-front-page .wp-block-post-title,
body.isert-front-page .et_post_meta_wrapper,
body.isert-front-page .et_pb_title_container,
body.isert-front-page .et_pb_post_title,
body.isert-front-page article.page>header,
body.isert-front-page article.type-page>header {
    display: none!important;
}

body.isert-front-page #main-content,
body.isert-front-page #main-content .container,
body.isert-front-page #left-area,
body.isert-front-page article.page,
body.isert-front-page article.type-page,
body.isert-front-page .entry-content {
    width: 100%!important;
    max-width: none!important;
    margin: 0!important;
    padding: 0!important;
}

body.isert-front-page #main-content .container::before { display: none!important; }

@media (max-width: 1080px) {
    .isert-navigation { gap: 18px; }
    .isert-navigation a { font-size: 13px; }
}

@media (max-width: 980px) {
    .isert-menu-toggle { display: inline-flex; }

    .isert-navigation {
        position: absolute;
        top: 84px;
        right: 0;
        left: 0;
        display: none;
        padding: 12px 24px 24px;
        background: var(--isert-white);
        border-bottom: 1px solid var(--isert-line);
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .isert-navigation.is-open { display: flex; }
    .isert-navigation a { width: 100%; padding: 12px 0; }
    .isert-navigation a::after { bottom: 8px; }

    .isert-hero-grid,
    .isert-conference-feature,
    .isert-conference-feature.has-image,
    .isert-heading-row,
    .isert-two-column,
    .isert-journal-grid {
        grid-template-columns: 1fr;
    }

    .isert-hero { min-height: auto; }
    .isert-hero-mark img { max-width: 310px; }
    .isert-card-grid { grid-template-columns: 1fr; }
    .isert-card { min-height: auto; }
    .isert-card h3 { margin-top: 38px; }

    .isert-conference-feature,
    .isert-conference-feature.has-image,
    .isert-journal-grid { gap: 34px; }

    .isert-heading-row,
    .isert-two-column { gap: 40px; }

    .isert-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .isert-board-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
    .isert-container { width: min(calc(100% - 30px),var(--isert-max)); }
    .isert-header-inner { min-height: 72px; }
    .isert-brand img { width: 46px; height: 46px; }
    .isert-brand small { display: none; }
    .isert-navigation { top: 72px; }

    .isert-menu-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0,0,0,0);
    }

    .isert-hero,
    .isert-intro,
    .isert-objectives,
    .isert-news,
    .isert-conferences,
    .isert-membership,
    .isert-board { padding: 76px 0; }

    .isert-hero-grid { gap: 48px; }
    .isert-hero h1 { font-size: 44px; }
    .isert-actions { flex-direction: column; }
    .isert-button { width: 100%; }
    .isert-rich-text p { font-size: 18px; }

    .isert-news-grid,
    .isert-board-grid,
    .isert-footer-grid { grid-template-columns: 1fr; }

    .isert-timeline li { grid-template-columns: 70px 1fr; }
    .isert-timeline em { grid-column: 2; font-size: 17px; }
    .isert-membership-panel { padding: 28px 22px; }
    .isert-footer-meta { text-align: left; }
}


/* The ISERT page has its own navigation and footer. Remove any Divi/WordPress
   sidebar or widget footer that the selected page template adds afterwards. */
body.isert-front-page #sidebar,
body.isert-front-page #secondary,
body.isert-front-page aside.widget-area,
body.isert-front-page .et_pb_widget_area,
body.isert-front-page #footer-widgets,
body.isert-front-page .footer-widgets,
body.isert-front-page #main-footer,
body.isert-front-page footer#colophon,
body.isert-front-page .site-footer:not(.isert-footer) {
    display: none !important;
}

body.isert-front-page #main-content .container {
    display: block !important;
}

body.isert-front-page #left-area {
    float: none !important;
    width: 100% !important;
    padding-right: 0 !important;
}


.isert-timeline strong a,
.isert-timeline em a {
    color: inherit;
    text-decoration: none;
}

.isert-timeline strong a:hover,
.isert-timeline strong a:focus-visible,
.isert-timeline em a:hover,
.isert-timeline em a:focus-visible {
    color: var(--isert-teal);
}
