.home-page {
    background: #fff;
    color: #343e47;
    font-family: Lato, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    overflow-x: hidden;
    overflow-x: clip;
}

.home-page .public-main { padding-top: 0; padding-bottom: 0; }
.home-page .container { width: min(1180px, calc(100% - 2rem)); }

.home-full-bleed {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
}

.home-page h1,
.home-page h2,
.home-page h3 {
    color: #343e47;
    font-family: Raleway, Arial, sans-serif;
}

.site-slider {
    position: relative;
    overflow: hidden;
    background: #202634;
    color: #fff;
    width: 100%;
    margin-inline: auto;
}

.site-slider__track {
    display: flex;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
}

.site-slider__track::-webkit-scrollbar { display: none; }
.site-slider__slide { position: relative; flex: 0 0 100%; height: clamp(220px, 31vw, 360px); scroll-snap-align: start; overflow: hidden; }
.site-slider__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.site-slider__caption { position: absolute; left: max(16px, calc((100vw - 1180px) / 2)); bottom: 20px; display: grid; max-width: calc(100% - 140px); padding: 7px 12px; background: rgba(40,46,63,.8); color: #fff; font-size: 14px; }
.site-slider__caption span { font-size: 12px; }
.site-slider__link { position: absolute; inset: 0; text-indent: -9999px; }
.site-slider__control { position: absolute; top: 50%; width: 44px; min-height: 48px; border: 0; background: rgba(40,46,63,.6); color: #fff; cursor: pointer; font: 300 32px/1 Georgia, serif; transform: translateY(-50%); }
.site-slider__control--previous { left: 12px; }.site-slider__control--next { right: 12px; }
.site-slider__control:hover, .site-slider__control:focus-visible { background: #ff7264; }
.site-slider__dots { position: absolute; right: max(16px, calc((100vw - 1180px) / 2)); bottom: 24px; display: flex; gap: 7px; }
.site-slider__dots button { width: 10px; min-height: 10px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.site-slider__dots button[aria-current="true"] { border-color: #ff7264; background: #ff7264; }

.wp-introduction { padding-block: 30px 28px; }
.wp-introduction__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; align-items: start; }
.wp-intro-card h1, .wp-intro-card h2 { margin: 0 0 10px; font-size: 20px; font-weight: 600; line-height: 25px; }
.wp-intro-card p { margin: 0; font-size: 14px; line-height: 23px; }
.wp-intro-card > img, .wp-intro-card > a:not(.wp-pathway__image) img { display: block; width: 100%; height: 181px; margin-bottom: 22px; object-fit: cover; }
.wp-pathway__image { display: flex; width: 100%; align-items: flex-start; justify-content: flex-start; margin-bottom: 18px; overflow: hidden; background: #fff; }
.wp-pathway__image img { display: block; width: 100%; height: auto; object-fit: contain; }
.wp-intro-card--pathway p { font-size: 16px; line-height: 25px; }
.wp-intro-card p { text-align: justify; }

.wp-information-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 10px 0 34px; border-top: 1px solid #e2e2e2; border-left: 1px solid #e2e2e2; }
.wp-information-grid article { display: grid; min-height: 185px; grid-template-columns: 48px 1fr; gap: 12px; padding: 28px 20px 22px 10px; border-right: 1px solid #e2e2e2; border-bottom: 1px solid #e2e2e2; }
.wp-information-grid article > span { color: #8e9297; font-size: 38px; line-height: 1; text-align: center; }
.wp-information-grid h2 { margin: 0 0 2px; font-size: 16px; font-weight: 700; line-height: 22px; }
.wp-information-grid p { margin: 0; font-size: 14px; line-height: 23px; }

.wp-updates { padding-block: 38px 46px; background: #44474c; color: #fff; }
.wp-updates h2 { margin: 0 0 30px; text-align: center; font-size: 24px; font-weight: 600; line-height: 31px; }
.wp-updates h2 a { color: #fff; text-decoration: none; }
.wp-updates__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wp-update-card { min-width: 0; color: #fff; }
.wp-update-card__media { position: relative; width: 100%; height: 118px; margin-bottom: 15px; overflow: hidden; background: #343943; }
.wp-update-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-update-card__media.is-placeholder { background: linear-gradient(135deg, #343943, #515762); }
.wp-update-card__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.38); font: 600 18px/1 Raleway, sans-serif; }
.wp-update-card__date { position: absolute; top: 0; left: 0; display: flex; width: 64px; min-height: 64px; align-items: center; justify-content: center; flex-direction: column; background: #ff7264; color: #fff; }
.wp-update-card__date span { font-size: 13px; text-transform: capitalize; }.wp-update-card__date strong { font-size: 26px; line-height: 30px; }
.wp-update-card h3 { margin: 0 0 4px; color: #fff; font-size: 20px; font-weight: 400; line-height: 25px; }
.wp-update-card h3 a { color: #fff; text-decoration: none; }
.wp-update-card p { margin: 0 0 10px; color: #e0e0e0; font-size: 14px; line-height: 22px; }
.wp-update-card__author { color: #bfc1c3 !important; font-size: 12px !important; }
.wp-read-more { color: #fff; font-size: 13px; text-decoration: none; }

.wp-literary { padding: 38px 0 32px; text-align: center; }
.wp-literary > h2 { margin: 0 0 14px; font-size: 24px; font-weight: 600; line-height: 31px; }
.wp-literary > p { width: min(900px, 100%); margin: 0 auto 26px; font-size: 18px; line-height: 28px; }
.wp-literary__links { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.wp-literary__links > * { display: grid; min-height: 124px; place-items: center; align-content: center; gap: 8px; color: #fff; text-decoration: none; }
.wp-literary__links span { font-size: 38px; line-height: 1; }.wp-literary__links strong { font-size: 14px; }
.wp-literary__links .is-blue { background: #4b91cd; }.wp-literary__links .is-green { background: #53ae69; }.wp-literary__links .is-pink { background: #f45266; }.wp-literary__links .is-turquoise { background: #42c7c4; }.wp-literary__links .is-violet { background: #9667b4; }

.wp-gallery-strip { display: grid; height: 151px; grid-template-columns: 2.5fr 1.22fr 1fr .94fr 2.98fr; gap: 14px; margin: 0 0 28px; }
.wp-gallery-strip a { min-width: 0; overflow: hidden; }.wp-gallery-strip img { display: block; width: 100%; height: 100%; object-fit: cover; }

.wp-achievements { padding: 0 0 32px; }
.wp-achievements > h2 { margin: 0 0 15px; text-align: center; font-size: 30px; font-weight: 400; line-height: 37px; }
.wp-achievements__intro { margin: 0 0 24px; text-align: center; font-size: 15px; line-height: 24px; }
.wp-achievements__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px 30px; }
.wp-achievement { min-width: 0; }
.wp-achievement--lead { grid-column: 1 / -1; }
.wp-achievement__image { position: relative; height: 220px; overflow: hidden; border-radius: 5px; background: #eee; }
.wp-achievement--lead .wp-achievement__image { height: 270px; }
.wp-achievement__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-achievement__image span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(255,255,255,.9); color: #343e47; font: 600 24px/31px Raleway, sans-serif; text-align: center; opacity: 0; transition: opacity .2s ease; }
.wp-achievement:hover .wp-achievement__image span, .wp-achievement:focus .wp-achievement__image span { opacity: 1; }
.wp-achievement h3 { margin: 8px 0 0; text-align: center; font-size: 14px; font-weight: 600; line-height: 25px; }

.wp-inclusive { padding: 24px 0 34px; }
.wp-inclusive > h2 { margin: 0 0 30px; padding-bottom: 8px; border-bottom: 1px solid #aeb2b6; font-size: 24px; font-weight: 600; line-height: 31px; }
.wp-inclusive__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.wp-inclusive article { display: grid; grid-template-columns: 50px 1fr; gap: 12px; }
.wp-inclusive article > span { font-size: 42px; line-height: 1; text-align: center; }.wp-inclusive .is-blue { color: #2d84c6; }.wp-inclusive .is-red { color: #d85062; }.wp-inclusive .is-green { color: #7ac944; }.wp-inclusive .is-gold { color: #e7c10c; }
.wp-inclusive h3 { margin: 0 0 10px; font-size: 16px; font-weight: 700; line-height: 22px; }
.wp-inclusive p { margin: 0; font-size: 14px; line-height: 24px; }

.wp-faq-feedback { padding-block: 46px 64px; background: #f5f5f5; }
.wp-faq-feedback__grid { display: grid; grid-template-columns: 1fr 1.06fr; gap: 58px; }
.wp-faq h2, .wp-feedback-form h2 { margin: 0 0 27px; font-size: 24px; font-weight: 600; line-height: 31px; }
.wp-faq details { border-top: 1px solid #e2e2e2; }.wp-faq details:last-child { border-bottom: 1px solid #e2e2e2; }
.wp-faq summary { position: relative; min-height: 49px; padding: 14px 15px 10px 40px; color: #73777c; cursor: pointer; font: 400 16px/24px Raleway, sans-serif; list-style: none; }
.wp-faq summary::-webkit-details-marker { display: none; }.wp-faq summary::before { position: absolute; left: 8px; top: 13px; width: 20px; height: 20px; border: 1px solid #b9bdc1; border-radius: 50%; content: '+'; font: 14px/18px Arial; text-align: center; }.wp-faq details[open] summary::before { content: '−'; }
.wp-faq details > p, .wp-faq details > div { margin: 0; padding: 12px 20px 18px; font-size: 14px; line-height: 24px; }.wp-faq ol { padding-left: 22px; }
.wp-faq details[open] > p, .wp-faq details[open] > div { animation: faq-reveal .18s ease-out; }
@keyframes faq-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.wp-feedback-form { padding: 36px 30px 32px; border: 1px solid #ddd; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.wp-feedback-form h2 { text-align: center; font-size: 22px; }
.wp-feedback-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.wp-feedback-form__fields > div { display: grid; align-content: start; gap: 10px; }
.wp-feedback-form input, .wp-feedback-form textarea { width: 100%; min-height: 57px; padding: 14px; border: 0; background: #f3f3f3; color: #343e47; font: 14px/24px Lato, sans-serif; }.wp-feedback-form textarea { height: 258px; resize: vertical; }
.wp-feedback-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; }.wp-feedback-form__footer span { font-size: 14px; }.wp-feedback-form__footer button { min-width: 98px; min-height: 51px; border: 0; background: #ff7264; color: #fff; cursor: pointer; font-weight: 700; }

@media (max-width: 900px) {
    .wp-introduction__cards, .wp-updates__grid, .wp-inclusive__grid { grid-template-columns: repeat(2, 1fr); }
    .wp-information-grid { grid-template-columns: repeat(2, 1fr); }
    .wp-literary__links { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 901px) {
    .site-slider {
        width: min(calc(100% + 24px), calc(100vw - 24px));
        margin-right: -12px;
        margin-left: -12px;
    }
}

@media (max-width: 600px) {
    .home-page .container { width: min(100% - 20px, 1180px); }
    .site-slider__slide { height: 220px; }.site-slider__caption { left: 10px; bottom: 10px; max-width: calc(100% - 80px); }.site-slider__dots { display: none; }.site-slider__control--previous { left: 5px; }.site-slider__control--next { right: 5px; }
    .wp-introduction { padding-block: 20px; }.wp-introduction__cards { gap: 24px; }.wp-pathway__image { margin-bottom: 14px; }.wp-intro-card h1 { font-size: 18px; line-height: 23px; }
    .wp-introduction__cards, .wp-information-grid, .wp-updates__grid, .wp-inclusive__grid, .wp-faq-feedback__grid { grid-template-columns: 1fr; }
    .wp-intro-card img { height: 210px; }.wp-information-grid article { min-height: 0; }
    .wp-updates__grid { gap: 28px; }.wp-update-card__date { min-height: 65px; }
    .wp-literary > p { font-size: 16px; line-height: 25px; }.wp-literary__links { grid-template-columns: repeat(2, 1fr); gap: 10px; }.wp-literary__links > * { min-height: 110px; }
    .wp-gallery-strip { height: auto; grid-template-columns: repeat(2, 1fr); gap: 8px; }.wp-gallery-strip a { height: 130px; }.wp-gallery-strip a:first-child, .wp-gallery-strip a:last-child { grid-column: 1 / -1; }
    .wp-achievements__grid { grid-template-columns: 1fr; }.wp-achievement--lead { grid-column: 1; }.wp-achievement__image, .wp-achievement--lead .wp-achievement__image { height: 220px; }
    .wp-inclusive article { grid-template-columns: 44px 1fr; }
    .wp-faq-feedback { padding-block: 30px; }.wp-faq-feedback__grid { gap: 30px; }.wp-feedback-form { padding: 24px 15px; }.wp-feedback-form__fields { grid-template-columns: 1fr; gap: 10px; }.wp-feedback-form textarea { height: 180px; }.wp-feedback-form__footer { align-items: stretch; flex-direction: column; }.wp-feedback-form__footer button { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    .site-slider__track { scroll-behavior: auto; }
    .wp-achievement__image span { transition: none; }
    .wp-faq details[open] > p, .wp-faq details[open] > div { animation: none; }
}
