@font-face {
    font-family: 'HDI Montserrat';
    src: url('assets/montserrat.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'HDI Inter';
    src: url('assets/inter.woff2') format('woff2');
    font-weight: 400 700;
    font-display: swap;
}
:is(.hdi-teacher-site, .editor-styles-wrapper) {
    --hdi-navy: #05275f;
    --hdi-red: #d40a36;
    --hdi-red-hover: #b5092f;
    --hdi-ice: #ebeff8;
    --hdi-gray: #f7f7f7;
    --hdi-text: #1e293b;
    --hdi-muted: #475569;
    --hdi-border: #e2e8f0;
    --hdi-head: 'HDI Montserrat', Montserrat, sans-serif;
    --hdi-body: 'HDI Inter', Inter, sans-serif;
}
.hdi-teacher-site { margin: 0; background: #fff; color: var(--hdi-text); font: 400 16px/1.6 var(--hdi-body); }
.hdi-teacher-site *, .hdi-block-preview * { box-sizing: border-box; }
.hdi-teacher-site a { text-decoration: none; }
.hdi-teacher-site :focus-visible { outline: 2px solid var(--hdi-red); outline-offset: 4px; }
.hdi-wrap { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.hdi-teacher-site :is(.hdi-wrap, .hdi-hero, .hdi-directory-main, .hdi-profile-main, .hdi-cta, .hdi-intro-layout) { margin-block: 0; }
.hdi-teacher-site :is(.hdi-hero, .hdi-directory-main, .hdi-profile-main) { padding-inline: 0; }
.hdi-teacher-site .hdi-wrap { margin-inline: auto; }
.hdi-teacher-site :is(h1, h2, h3, p, ul, ol, dl, dd) { margin-block: 0; }
.hdi-teacher-site :is(h1, h2, h3), .hdi-block-preview :is(h1, h2, h3) { color: var(--hdi-navy); font-family: var(--hdi-head); font-weight: 700; }
.hdi-teacher-site h1, .hdi-block-preview h1 { font-size: clamp(32px, 4vw, 52px); line-height: 1.19; }
.hdi-teacher-site h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.25; font-weight: 700; }
.hdi-cta .wp-block-button__link {
    display: inline-flex; align-items: center; justify-content: center; min-height: 50px;
    padding: 10px 26px; border-radius: 400px; background: var(--hdi-red); color: white;
    font: 700 16px/1.3 var(--hdi-body); text-align: center; white-space: nowrap;
}
.hdi-cta .wp-block-button__link:hover { background: var(--hdi-red-hover); color: white; }
.hdi-hero { background: var(--hdi-ice); }
.hdi-hero > .hdi-wrap { padding-block: 34px 49px; }
.hdi-crumb { color: var(--hdi-navy); font: 500 14px/1.5 var(--hdi-body); margin-bottom: 30px; }
.hdi-crumb a { color: inherit; }
.hdi-crumb a:hover { text-decoration: underline; }
.hdi-intro-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, 380px); align-items: center; gap: 32px; }
.hdi-teacher-site .hdi-list .hdi-intro-layout { margin-top: 26px; }
.hdi-intro-copy h1 { max-width: 640px; }
.hdi-intro-copy p { margin-top: 24px; font-size: 18px; line-height: 1.6; }
.hdi-book { display: block; width: 198px; max-width: 75%; margin-inline: auto; transform: translateY(-11px); }
.hdi-teacher-site .hdi-list .hdi-hero > .hdi-wrap { position: relative; }
.hdi-teacher-site .hdi-hero-team {
    position: absolute;
    inset: auto 0 0 auto;
    width: min(380px, 42%);
    height: 276px;
    margin: 0;
}
.hdi-teacher-site .hdi-hero-team img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
}
.hdi-directory-main, .hdi-profile-main { padding-block: 80px; }
.hdi-directory-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 24px; }
.hdi-card {
    min-width: 0; min-height: 211px; display: grid; grid-template-columns: 149px minmax(0, 1fr);
    align-items: start; gap: 26px; padding: 23px; border: 1px solid var(--hdi-border); border-radius: 20px;
    transition: box-shadow .18s ease, transform .18s ease;
}
.hdi-card:hover { transform: translateY(-3px); box-shadow: 0 10px 25px -5px rgb(13 31 57 / 10%); }
.hdi-photo { display: grid; place-items: center; height: 163px; overflow: hidden; border-radius: 16px; background: var(--hdi-ice); }
.hdi-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.hdi-photo svg { width: 68%; max-width: 210px; fill: var(--hdi-navy); }
.hdi-card-copy h2, .hdi-block-preview .hdi-card-copy h2 { font-size: 25px; line-height: 1.28; font-weight: 700; }
.hdi-card-copy p { margin-top: 5px; color: var(--hdi-muted); font-size: 17px; line-height: 1.5; }
.hdi-badges, .hdi-teacher-site .hdi-badges { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin-top: 22px; }
.hdi-badges li { border-radius: 400px; background: var(--hdi-ice); color: var(--hdi-navy); padding: 6px 13px; font: 700 13px/1.3 var(--hdi-body); }
.hdi-teacher-site .hdi-red-link, .hdi-block-preview .hdi-red-link { display: inline-block; color: var(--hdi-red); font: 700 15px/1.4 var(--hdi-body); }
.hdi-red-link:hover { text-decoration: underline; }
.hdi-card .hdi-red-link { margin-top: 13px; }
.hdi-card .hdi-red-link span { margin-left: 4px; font-size: 18px; }
.hdi-teacher-site .hdi-cta, .editor-styles-wrapper .hdi-cta {
    display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 140px;
    margin-top: 80px; padding: 36px 50px 36px 42px; border-radius: 20px; background: var(--hdi-ice);
}
.hdi-teacher-site .hdi-cta h2 { font-size: clamp(24px, 2.6vw, 32px); line-height: 1.3; }
.hdi-teacher-site .hdi-cta > .wp-block-buttons { margin-block: 0; }
.hdi-cta .wp-block-button__link { min-width: 193px; }
.hdi-profile-hero > .hdi-wrap { padding-block: 87px 63px; }
.hdi-profile-intro { display: grid; grid-template-columns: 332px minmax(0, 1fr); gap: 62px; align-items: center; }
.hdi-teacher-site .hdi-profile-hero > .hdi-wrap:has(> .hdi-crumb + .hdi-profile-intro) {
    display: grid;
    grid-template-columns: 332px minmax(0, 1fr);
    grid-template-rows: 1fr auto auto 1fr;
    column-gap: 62px;
}
.hdi-profile-hero .hdi-crumb + .hdi-profile-intro { display: contents; }
.hdi-teacher-site .hdi-profile-hero .hdi-crumb { grid-area: 2 / 2; margin: 0 0 12px; }
.hdi-profile-hero .hdi-crumb + .hdi-profile-intro > .hdi-photo { grid-area: 1 / 1 / -1 / 2; align-self: center; }
.hdi-profile-hero .hdi-crumb + .hdi-profile-intro > :last-child { grid-area: 3 / 2; }
.hdi-profile-intro .hdi-photo { height: 314px; border: 9px solid white; border-radius: 22px; }
.hdi-profile-intro .hdi-photo img { object-position: center 29%; }
.hdi-teacher-site .hdi-eyebrow, .hdi-block-preview .hdi-eyebrow { margin-bottom: 14px; color: var(--hdi-red); font: 700 13px/1.4 var(--hdi-body); text-transform: uppercase; }
.hdi-teacher-site .hdi-full-name, .hdi-block-preview .hdi-full-name { margin-top: 12px; color: var(--hdi-navy); font: 700 24px/1.35 var(--hdi-head); }
.hdi-profile-intro .hdi-badges { margin-top: 26px; }
.hdi-profile-intro .hdi-badges li { background: white; font-size: 14px; padding: 8px 18px; }
.hdi-teacher-site .hdi-profile-summary { margin-top: 22px; font-size: 18px; }
.hdi-profile-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 366px); gap: 90px; align-items: start; }
.hdi-teacher-site .hdi-profile-columns > * { margin-block: 0; }
.hdi-experience h2 { margin-bottom: 26px; }
.hdi-teacher-site .hdi-timeline { list-style: none; padding: 0 0 26px 27px; border-left: 2px solid var(--hdi-border); margin-left: 9px; }
.hdi-timeline li { position: relative; }
.hdi-timeline li + li { margin-top: 38px; }
.hdi-timeline li::before { content: ''; position: absolute; top: 9px; left: -36px; width: 15px; height: 15px; border-radius: 50%; background: var(--hdi-red); }
.hdi-teacher-site .hdi-timeline h3 { font-size: 24px; line-height: 1.35; font-weight: 700; margin-bottom: 6px; }
.hdi-teacher-site .hdi-period { font-size: 14px; color: var(--hdi-muted); margin-bottom: 6px; }
.hdi-facts { padding: 24px 27px 34px; border-radius: 20px; background: var(--hdi-ice); }
.hdi-teacher-site .hdi-facts h2 { font-size: 23px; }
.hdi-teacher-site .hdi-facts dl { margin-top: 16px; }
.hdi-facts dl > div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; font-size: 14px; }
.hdi-facts dt { color: var(--hdi-muted); }
.hdi-facts dd { color: var(--hdi-navy); font-weight: 700; text-align: right; }
.hdi-facts .hdi-red-link { border-top: 1px solid var(--hdi-border); margin-top: 13px; padding-top: 17px; width: 100%; }
.hdi-teacher-site .hdi-method, .hdi-block-preview .hdi-method { margin-top: 36px; min-height: 239px; background: var(--hdi-gray); padding: 26px 32px 40px; border-radius: 20px; }
.hdi-teacher-site .hdi-method h2 { font-size: clamp(25px, 3vw, 32px); }
.hdi-teacher-site .hdi-method ul { margin-top: 22px; padding-left: 20px; }
.hdi-method li + li { margin-top: 11px; }
.hdi-method li::marker { color: var(--hdi-red); }
.editor-styles-wrapper .hdi-block-preview { font: 400 16px/1.6 var(--hdi-body); }
@media (max-width: 1090px) {
    .hdi-profile-columns { gap: 40px; }
}
@media (max-width: 900px) {
    .hdi-teacher-site .hdi-hero-team { height: 235px; }
    .hdi-card { grid-template-columns: 105px minmax(0, 1fr); gap: 18px; padding: 18px; }
    .hdi-card .hdi-photo { height: 140px; }
    .hdi-profile-intro,
    .hdi-teacher-site .hdi-profile-hero > .hdi-wrap:has(> .hdi-crumb + .hdi-profile-intro) {
        grid-template-columns: minmax(180px, 32%) minmax(0, 1fr);
        column-gap: 32px;
    }
    .hdi-profile-intro .hdi-photo { height: 260px; }
}
@media (max-width: 680px) {
    .hdi-wrap { width: calc(100% - 32px); }
    .hdi-hero > .hdi-wrap { padding-block: 24px 32px; }
    .hdi-crumb { margin-bottom: 20px; }
    .hdi-intro-layout, .hdi-profile-intro, .hdi-directory-grid, .hdi-profile-columns { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .hdi-teacher-site .hdi-profile-hero > .hdi-wrap:has(> .hdi-crumb + .hdi-profile-intro) {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
    }
    .hdi-teacher-site .hdi-profile-hero .hdi-crumb { grid-area: 2 / 1; }
    .hdi-profile-hero .hdi-crumb + .hdi-profile-intro > .hdi-photo { grid-area: 1 / 1; margin-bottom: 22px; }
    .hdi-profile-hero .hdi-crumb + .hdi-profile-intro > :last-child { grid-area: 3 / 1; }
    .hdi-book { width: 110px; margin-inline: 0; transform: none; }
    .hdi-teacher-site .hdi-hero-team {
        display: none;
    }
    .hdi-intro-copy p, .hdi-teacher-site .hdi-profile-summary { margin-top: 15px; font-size: 16px; }
    .hdi-directory-main, .hdi-profile-main { padding-block: 36px 45px; }
    .hdi-card { min-height: 0; grid-template-columns: 96px minmax(0, 1fr); gap: 15px; padding: 15px; border-radius: 16px; }
    .hdi-card .hdi-photo { height: 116px; }
    .hdi-card-copy h2 { font-size: 19px; }
    .hdi-card-copy p { font-size: 14px; }
    .hdi-card .hdi-badges { margin-top: 10px; gap: 5px; }
    .hdi-card .hdi-badges li { font-size: 11px; padding: 4px 8px; }
    .hdi-card .hdi-red-link { margin-top: 7px; padding-block: 9px; font-size: 14px; }
    .hdi-profile-intro .hdi-photo { width: min(100%, 240px); height: 224px; }
    .hdi-teacher-site .hdi-full-name { font-size: 20px; overflow-wrap: anywhere; }
    .hdi-teacher-site .hdi-timeline h3 { font-size: 20px; }
    .hdi-teacher-site .hdi-method { margin-top: 28px; min-height: 0; padding: 22px 20px; }
    .hdi-teacher-site .hdi-cta { align-items: flex-start; flex-direction: column; margin-top: 36px; padding: 22px; border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .hdi-card { transition: none; }
}
