:root {
    --feast-ink: #2b1b10;
    --feast-brown: #4b2309;
    --feast-brown-2: #6d3714;
    --feast-gold: #bd852d;
    --feast-gold-soft: #d7b16e;
    --feast-cream: #fffaf0;
    --feast-paper: #f8efdf;
    --feast-line: #dfc59c;
    --feast-blue: #086bd9;
    --feast-shadow: 0 16px 38px rgba(77, 43, 18, .12);
}

* { box-sizing: border-box; }
html {
    scroll-behavior: smooth;
    touch-action: pan-x pan-y;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body.feasts-page {
    margin: 0;
    color: var(--feast-ink);
    background:
        radial-gradient(circle at 12% 20%, rgba(157, 105, 38, .06), transparent 25%),
        repeating-linear-gradient(45deg, rgba(116, 73, 22, .018) 0 1px, transparent 1px 8px),
        var(--feast-paper);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    touch-action: pan-x pan-y;
}
.feasts-page a { color: inherit; text-decoration: none; }
.feasts-page button { font: inherit; }
.feasts-container { width: min(100% - 48px, 1360px); margin-inline: auto; }
.feasts-skip-link {
    position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 8px 14px;
    color: #fff !important; background: var(--feast-blue); border-radius: 5px; transform: translateY(-160%);
}
.feasts-skip-link:focus { transform: none; }

.feasts-contact-strip { color: #fff; background: linear-gradient(90deg, #361904, #170c05 58%, #351804); font-family: Arial, sans-serif; }
.feasts-contact-strip .feasts-container { min-height: 40px; display: flex; align-items: center; gap: 42px; }
.feasts-contact-strip a { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; }
.feasts-contact-strip i { color: #fff; }
.feasts-contact-strip__social { margin-left: auto; display: flex; align-items: center; gap: 16px; font-size: 12px; }
.feasts-contact-strip__social a { font-size: 15px; }

.feasts-header { position: relative; z-index: 60; background: #fff; box-shadow: 0 4px 17px rgba(26, 17, 9, .08); }
.feasts-nav { min-height: 72px; display: flex; align-items: center; gap: 28px; }
.feasts-brand { display: inline-flex; flex: 0 0 auto; }
.feasts-brand img { display: block; width: 190px; height: auto; }
.feasts-desktop-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(16px, 1.8vw, 31px); font-family: Arial, sans-serif; }
.feasts-desktop-nav a {
    position: relative; font-size: 12px; font-weight: 700; text-transform: uppercase; white-space: nowrap;
}
.feasts-desktop-nav a::after {
    position: absolute; right: 0; bottom: -12px; left: 0; height: 2px;
    background: var(--feast-gold); content: ""; opacity: 0;
}
.feasts-desktop-nav a:hover::after, .feasts-desktop-nav a:focus-visible::after, .feasts-desktop-nav .is-active::after { opacity: 1; }
.feasts-desktop-nav i { margin-left: 4px; }
.feasts-nav__actions { display: flex; align-items: center; }
.feasts-donate {
    min-height: 42px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center;
    color: #fff !important; background: linear-gradient(135deg, #0b78e9, #0758c4); border-radius: 4px;
    box-shadow: 0 9px 22px rgba(8, 104, 220, .23);
    font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase;
}
.feasts-menu-toggle { display: none; width: 44px; height: 44px; padding: 0; place-items: center; background: transparent; border: 0; cursor: pointer; }
.feasts-menu-toggle span, .feasts-menu-toggle span::before, .feasts-menu-toggle span::after {
    width: 29px; height: 3px; display: block; background: #2f1b0d; border-radius: 999px; content: "";
}
.feasts-menu-toggle span { position: relative; }
.feasts-menu-toggle span::before, .feasts-menu-toggle span::after { position: absolute; left: 0; }
.feasts-menu-toggle span::before { top: -9px; }
.feasts-menu-toggle span::after { top: 9px; }
.feasts-mobile-nav { padding: 5px 24px 20px; border-top: 1px solid #eee3d6; font-family: Arial, sans-serif; }
.feasts-mobile-nav a { display: block; padding: 11px 3px; border-bottom: 1px solid #f1e9df; font-weight: 700; }
.feasts-mobile-nav .feasts-mobile-nav__donate { margin-top: 12px; color: #fff; background: linear-gradient(135deg, #0b78e9, #0758c4); border: 0; border-radius: 4px; text-align: center; text-transform: uppercase; }

.feasts-hero {
    position: relative; min-height: 180px; color: #fff;
    background:
        linear-gradient(90deg, rgba(5, 3, 1, .88), rgba(13, 7, 3, .5) 48%, rgba(11, 6, 2, .15)),
        url("../images/desing-photos/cogmers_bible_feast_images/bible-feast-hero-background.png") center 61% / cover no-repeat;
    overflow: hidden;
}
.feasts-hero::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18, 8, 1, .24), transparent 70%); content: ""; }
.feasts-hero__inner { position: relative; z-index: 1; min-height: 180px; padding: 26px 0 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.feasts-breadcrumbs { display: flex; gap: 11px; align-items: center; margin-bottom: 8px; font-family: Arial, sans-serif; font-size: 13px; }
.feasts-breadcrumbs a:first-child { color: #f0bf58; }
.feasts-hero h1 { margin: 0; font-size: clamp(40px, 4.1vw, 60px); font-weight: 400; line-height: 1; text-shadow: 0 3px 12px #000; }
.feasts-title-rule, .feasts-section-heading > span { margin: 8px 0; display: flex; align-items: center; gap: 8px; color: var(--feast-gold-soft); }
.feasts-title-rule i, .feasts-section-heading > span i { width: 44px; height: 1px; background: currentColor; }
.feasts-title-rule b, .feasts-section-heading > span b { font-size: 11px; }
.feasts-hero__inner > p { margin: 0; font-size: 16px; }

.feasts-main { padding: 22px 0 58px; }
.feasts-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 42px; align-items: start; }
.feasts-primary { grid-column: 1; grid-row: 1; }
.feasts-sidebar { position: sticky; top: 22px; grid-column: 2; grid-row: 1; font-family: Georgia, "Times New Roman", serif; }
.quick-navigation {
    overflow: hidden;
    background: rgba(255, 251, 243, .82);
    border: 1px solid var(--feast-line);
    border-radius: 9px;
    box-shadow: var(--feast-shadow);
}
.quick-navigation h2 {
    margin: 0;
    padding: 18px 16px 11px;
    color: #fff;
    background:
        linear-gradient(rgba(104, 60, 17, .92), rgba(104, 60, 17, .92)),
        radial-gradient(circle at 30% 20%, #9b6a30, #654017);
    font-size: 24px;
    font-weight: 400;
    text-align: center;
}
.quick-navigation__rule {
    display: block;
    width: 54px;
    height: 1px;
    margin: -3px auto 8px;
    background: #d5ad72;
}
.quick-navigation > a {
    min-height: 66px;
    padding: 10px 16px;
    display: grid;
    grid-template-columns: 42px 1fr 14px;
    gap: 12px;
    align-items: center;
    border-top: 1px solid #eadbc4;
    font-size: 16px;
}
.quick-navigation > a > i:first-child {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #7b4c17;
    background: #fff;
    border: 1px solid #d9bf98;
    border-radius: 50%;
}
.quick-navigation > a:hover,
.quick-navigation > a:focus-visible {
    background: #fff8eb;
}
.bible-calendar-card {
    margin-top: 18px;
    padding: 18px 14px 16px;
    overflow: hidden;
    background:
        radial-gradient(circle at 75% 25%, rgba(177, 124, 46, .06), transparent 34%),
        rgba(255, 251, 243, .86);
    border: 1px solid var(--feast-line);
    border-radius: 9px;
    box-shadow: var(--feast-shadow);
}
.bible-calendar-card h2 {
    margin: 0;
    color: #4b2912;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.15;
    text-align: center;
}
.bible-calendar-card__rule {
    margin: 8px 0 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #c69a54;
}
.bible-calendar-card__rule i {
    width: 45px;
    height: 1px;
    background: currentColor;
}
.bible-calendar-card__rule b {
    font-size: 10px;
}
.bible-calendar-card__body {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
}
.bible-calendar-card__body > img {
    width: 100%;
    height: 165px;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 7px 8px rgba(68, 37, 14, .18));
}
.bible-calendar-card__body p {
    margin: 0 0 11px;
    color: #4a3729;
    font-size: 13px;
    line-height: 1.42;
}
.bible-calendar-card__body a {
    min-height: 40px;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #fff;
    background: linear-gradient(135deg, #7c420f, #4b2205);
    border: 2px solid #d7a954;
    border-radius: 6px;
    box-shadow: 0 0 0 1px #5b2b08, 0 7px 16px rgba(72, 34, 6, .16);
    font-size: 12px;
    text-align: center;
}
.bible-calendar-card__body a:hover,
.bible-calendar-card__body a:focus-visible {
    background: #8b4c15;
}
.bible-calendar-card__body .bible-calendar-card__benefit {
    margin: 11px 0 0;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;
}
.bible-calendar-card__benefit i {
    margin-top: 2px;
    flex: 0 0 auto;
    color: #cf9639;
}

@media (max-width: 1100px) and (min-width: 861px) {
    .feasts-layout {
        grid-template-columns: minmax(0, 1fr) 255px;
        gap: 25px;
    }

    .quick-navigation > a {
        padding-inline: 12px;
        gap: 9px;
        font-size: 14px;
    }

    .bible-calendar-card {
        padding-inline: 11px;
    }

    .bible-calendar-card__body {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 8px;
    }
}

.feasts-section-heading { margin: 0 auto 14px; text-align: center; }
.feasts-eyebrow { display: none; margin: 0 0 4px; color: var(--feast-gold); font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.feasts-section-heading h2 { margin: 0; font-size: clamp(26px, 2.5vw, 37px); font-weight: 400; }
.feasts-section-heading > span { justify-content: center; margin: 7px 0; }
.feasts-section-heading > p:last-child { max-width: 720px; margin: 0 auto; color: #5c4a3b; font-family: Arial, sans-serif; font-size: 14px; }
.feasts-introduction {
    margin: 18px 0 22px;
    overflow: hidden;
    border: 1px solid var(--feast-line);
    border-radius: 8px;
    background: rgba(255, 251, 244, .8);
    box-shadow: 0 10px 28px rgba(77, 43, 18, .07);
}
.feasts-introduction summary {
    min-height: 58px;
    padding: 11px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #4f2a0d;
    border-bottom: 1px solid transparent;
    cursor: pointer;
    font-size: 22px;
    font-weight: 700;
    list-style: none;
}
.feasts-introduction summary::-webkit-details-marker { display: none; }
.feasts-introduction summary span { display: flex; align-items: center; gap: 11px; }
.feasts-introduction summary span i {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: #fff;
    background: #68360f;
    border-radius: 50%;
    font-size: 16px;
}
.feasts-introduction summary > i { transition: transform .2s ease; }
.feasts-introduction[open] summary {
    border-bottom-color: #e2c89f;
    background: rgba(213, 171, 102, .08);
}
.feasts-introduction[open] summary > i { transform: rotate(180deg); }
.feasts-introduction__content { padding: 22px 26px 25px; }
.feasts-introduction__content p {
    margin: 0 0 17px;
    color: #302117;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.78;
}
.feasts-introduction__content p:last-child { margin-bottom: 0; }
.feast-cards { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.feast-card {
    position: relative; min-width: 0; overflow: hidden; border: 1px solid #dac9ae; border-radius: 7px;
    background: rgba(255, 251, 243, .86); transition: border-color .2s, box-shadow .2s, transform .2s;
}
.feast-card:hover, .feast-card:focus-visible { transform: translateY(-2px); border-color: var(--feast-gold); box-shadow: 0 8px 20px rgba(91, 50, 15, .12); outline: 0; }
.feast-card.is-active { border: 2px solid #dda94d; box-shadow: 0 0 0 3px rgba(221, 169, 77, .14); }
.feast-card__image { position: relative; height: 105px; }
.feast-card__image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.feast-card__image::after { position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(40, 20, 5, .6)); content: ""; }
.feast-card__image span {
    position: absolute; z-index: 1; right: 50%; bottom: -13px; width: 27px; height: 27px; display: grid; place-items: center;
    color: #fff; background: #5a2b0c; border-radius: 50%; transform: translateX(50%); font-family: Arial, sans-serif; font-size: 12px; font-weight: 700;
}
.feast-card__copy { min-height: 115px; padding: 22px 8px 12px; text-align: center; }
.feast-card__copy h3 { margin: 0; font-size: 16px; line-height: 1.22; }
.feast-card__copy p { margin: 6px 0 0; font-size: 13px; }
.feasts-explore-note { margin: 14px 0; display: flex; align-items: center; justify-content: center; gap: 14px; color: #5a3218; text-align: center; font-size: 14px; }

.feasts-details { overflow: hidden; border: 1px solid var(--feast-line); border-radius: 7px; background: rgba(255, 250, 240, .76); }
.feasts-details__heading { padding: 10px 13px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--feast-line); }
.feasts-details__heading h2 { margin: 0; font-size: 19px; font-weight: 400; }
.feasts-details__heading h2 i { margin-right: 7px; color: #6d421d; }
.feasts-expand-all { padding: 4px 5px; border: 0; background: transparent; color: #4e2e18; cursor: pointer; font-size: 12px; }
.feasts-expand-all i { margin-left: 6px; transition: transform .2s; }
.feasts-expand-all[aria-expanded="true"] i { transform: rotate(180deg); }
.feast-detail { border-bottom: 1px solid #e4d2b7; scroll-margin-top: 18px; }
.feast-detail:last-child { border-bottom: 0; }
.feast-detail summary { position: relative; min-height: 40px; padding: 8px 38px 8px 12px; display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.feast-detail summary::-webkit-details-marker { display: none; }
.feast-detail summary:hover { background: rgba(214, 176, 109, .09); }
.feast-detail summary .feast-number { width: 23px; height: 23px; flex: 0 0 auto; display: grid; place-items: center; color: #fff; background: #572909; border-radius: 50%; font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; }
.feast-detail summary strong { font-size: 16px; }
.feast-detail summary small { font-size: 13px; }
.feast-detail summary > i { position: absolute; right: 15px; transition: transform .2s; }
.feast-detail[open] { border: 1px solid #daa84f; margin: 5px 10px 9px; border-radius: 6px; background: rgba(255, 250, 240, .92); }
.feast-detail[open] summary { border-bottom: 1px solid #e4c795; }
.feast-detail[open] summary > i { transform: rotate(180deg); }
.feast-detail__article {
    max-width: 980px;
    padding: 24px 28px 28px;
    color: #302117;
}
.feast-detail__article h3 {
    margin: 24px 0 10px;
    color: #65370f;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}
.feast-detail__article h3:first-child {
    margin-top: 0;
}
.feast-detail__article p {
    margin: 0 0 17px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 17px;
    line-height: 1.78;
}
.feast-detail__article p:last-child {
    margin-bottom: 0;
}

.feasts-scripture-reference {
    margin: 0 1px;
    padding: 0 2px;
    display: inline;
    color: #75420f;
    background: linear-gradient(180deg, transparent 60%, rgba(189, 133, 45, .22) 60%);
    border: 0;
    border-bottom: 1px dashed rgba(117, 66, 15, .76);
    border-radius: 2px;
    font: inherit;
    font-weight: 700;
    line-height: inherit;
    cursor: pointer;
    transition: color .16s ease, background-color .16s ease;
}
.feasts-scripture-reference:hover,
.feasts-scripture-reference:focus-visible,
.feasts-scripture-reference[aria-expanded="true"] {
    color: #fff;
    background: #75420f;
    outline: none;
}
.feasts-scripture-reference:focus-visible {
    box-shadow: 0 0 0 3px rgba(189, 133, 45, .3);
}
.feasts-scripture-tooltip {
    position: fixed;
    z-index: 170;
    width: min(410px, calc(100vw - 32px));
    padding: 20px;
    color: #372315;
    background:
        radial-gradient(circle at 90% 0, rgba(189, 133, 45, .1), transparent 35%),
        rgba(255, 250, 240, .98);
    border: 1px solid #d5b47e;
    border-radius: 14px;
    box-shadow: 0 22px 60px rgba(49, 25, 7, .3);
    opacity: 0;
    transform: translateY(5px);
    transition: opacity .14s ease, transform .14s ease;
    backdrop-filter: blur(14px);
}
.feasts-scripture-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.feasts-scripture-tooltip__heading {
    padding-bottom: 13px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #ead8bb;
}
.feasts-scripture-tooltip__label {
    display: block;
    color: #9a621c;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.feasts-scripture-tooltip__label i { margin-right: 5px; }
.feasts-scripture-tooltip h2 {
    margin: 3px 0 0;
    color: #3f220d;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.25;
}
.feasts-scripture-tooltip__close {
    width: 34px;
    height: 34px;
    display: grid;
    flex: 0 0 34px;
    place-items: center;
    color: #6d4828;
    background: #f4e7d2;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
}
.feasts-scripture-tooltip__close:hover,
.feasts-scripture-tooltip__close:focus-visible {
    color: #fff;
    background: #75420f;
    outline: none;
}
.feasts-scripture-tooltip__content {
    min-height: 74px;
    padding: 15px 0 8px;
    display: flex;
    align-items: flex-start;
    gap: 11px;
}
.feasts-scripture-tooltip__content p {
    margin: 0;
    color: #3f3025;
    font-size: 17px;
    line-height: 1.65;
}
.feasts-scripture-tooltip__content .feasts-scripture-tooltip__error {
    color: #9e2f28;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
}
.feasts-scripture-tooltip__loader {
    width: 19px;
    height: 19px;
    margin-top: 4px;
    flex: 0 0 19px;
    border: 2px solid #eadcc6;
    border-top-color: #9a621c;
    border-radius: 50%;
    animation: feasts-scripture-loader .7s linear infinite;
}
.feasts-scripture-tooltip__translation {
    margin: 0;
    color: #8b735d;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
}
.feasts-scripture-tooltip__translation a {
    color: #75420f;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}
@keyframes feasts-scripture-loader {
    to { transform: rotate(360deg); }
}

.feasts-mobile-cta { display: none; }

.feasts-quick-toggle, .feasts-quick-drawer, .feasts-quick-backdrop { display: none; }
.feasts-text-zoom-status {
    position: fixed;
    z-index: 150;
    right: 18px;
    bottom: 18px;
    padding: 9px 14px;
    color: #fff;
    background: rgba(54, 25, 6, .92);
    border: 1px solid rgba(224, 180, 104, .65);
    border-radius: 999px;
    box-shadow: 0 9px 24px rgba(43, 21, 5, .25);
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    pointer-events: none;
}
.feasts-text-zoom-status[hidden] { display: none; }
.feasts-footer { padding: 30px 0; color: #fff; background: #241307; }
.feasts-footer .feasts-container { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.feasts-footer img { width: 165px; }
.feasts-footer p { margin: 0; font-family: Arial, sans-serif; font-size: 12px; }

@media (max-width: 1160px) {
    .feasts-desktop-nav { gap: 15px; }
    .feasts-desktop-nav a { font-size: 11px; }
    .feasts-brand img { width: 164px; }
    .feast-cards { grid-template-columns: repeat(4, 1fr); }
    .feast-card__copy { min-height: 95px; }
}

@media (max-width: 860px) {
    .feasts-contact-strip { display: none; }
    .feasts-container { width: min(100% - 36px, 720px); }
    .feasts-nav { min-height: 82px; }
    .feasts-brand img { width: 200px; }
    .feasts-desktop-nav, .feasts-donate { display: none; }
    .feasts-nav__actions { margin-left: auto; }
    .feasts-menu-toggle { display: grid; }
    .feasts-layout { display: block; }
    .feasts-sidebar { display: none; }
    .feasts-main { padding-top: 20px; }
    .feasts-eyebrow { display: block; }
    .feasts-quick-toggle {
        position: fixed; z-index: 80; right: -45px; top: 43%; width: 126px; height: 42px; display: flex;
        align-items: center; justify-content: center; gap: 6px; color: #fff; background: #6a3513; border: 1px solid #a87336;
        border-radius: 7px 7px 0 0; transform: rotate(-90deg); box-shadow: 0 7px 18px rgba(50, 25, 5, .2); cursor: pointer;
    }
    .feasts-quick-drawer {
        position: fixed; z-index: 100; top: 32%; right: 16px; width: min(310px, calc(100vw - 32px)); padding: 18px;
        border: 2px solid #6a3513; border-radius: 14px; background: #fffaf0; box-shadow: 0 20px 55px rgba(35, 17, 4, .3);
    }
    .feasts-quick-drawer:not([hidden]) { display: block; }
    .feasts-quick-drawer__header { padding: 0 3px 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #dfc9a7; }
    .feasts-quick-drawer__header h2 { margin: 0; font-size: 25px; font-weight: 400; }
    .feasts-quick-drawer__header button { padding: 4px; background: transparent; border: 0; font-size: 23px; cursor: pointer; }
    .feasts-quick-drawer > a { min-height: 54px; display: grid; grid-template-columns: 36px 1fr 14px; align-items: center; gap: 8px; border-bottom: 1px solid #ead9c1; }
    .feasts-quick-drawer > a > i:first-child { color: #754519; font-size: 20px; text-align: center; }
    .feasts-quick-backdrop { position: fixed; z-index: 90; inset: 0; background: rgba(27, 14, 4, .28); }
    .feasts-quick-backdrop:not([hidden]) { display: block; }
}

@media (max-width: 600px) {
    .feasts-container { width: calc(100% - 32px); }
    .feasts-nav { min-height: 76px; }
    .feasts-brand img { width: 175px; }
    .feasts-hero { min-height: 215px; background-position: 61% center; }
    .feasts-hero__inner { min-height: 215px; padding: 22px 0; justify-content: flex-start; }
    .feasts-breadcrumbs { margin-bottom: 13px; font-size: 12px; }
    .feasts-hero h1 { font-size: 46px; }
    .feasts-hero__inner > p { max-width: 300px; font-size: 16px; line-height: 1.5; }
    .feasts-main { padding: 18px 0 30px; }
    .feasts-section-heading { text-align: left; }
    .feasts-section-heading h2 { font-size: 31px; line-height: 1.12; }
    .feasts-section-heading > span { justify-content: flex-start; }
    .feasts-section-heading > p:last-child { font-size: 14px; }
    .feasts-introduction {
        margin: 16px 0 19px;
    }
    .feasts-introduction summary {
        min-height: 54px;
        padding: 9px 13px;
        font-size: 20px;
    }
    .feasts-introduction__content {
        padding: 18px 16px 21px;
    }
    .feasts-introduction__content p {
        margin-bottom: 15px;
        font-size: 16px;
        line-height: 1.72;
    }
    .feast-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .feast-card__image { height: 108px; }
    .feast-card__copy { min-height: 97px; padding: 21px 8px 10px; }
    .feast-card__copy h3 { font-size: 16px; }
    .feast-card__copy p { font-size: 13px; }
    .feasts-explore-note { display: none; }
    .feasts-details { margin-top: 16px; background: transparent; border: 0; }
    .feasts-details__heading { display: none; }
    .feast-detail, .feast-detail[open] { margin: 0 0 7px; border: 1px solid #dec39c; border-radius: 6px; background: rgba(255, 250, 240, .76); }
    .feast-detail summary { min-height: 43px; padding: 7px 35px 7px 10px; gap: 7px; }
    .feast-detail summary strong { font-size: 15px; }
    .feast-detail summary small { font-size: 12px; }
    .feast-detail__article {
        padding: 18px 16px 22px;
    }
    .feast-detail__article h3 {
        margin: 21px 0 9px;
        font-size: 20px;
    }
    .feast-detail__article p {
        margin-bottom: 15px;
        font-size: 16px;
        line-height: 1.72;
    }
    .feasts-mobile-cta {
        margin-top: 16px; padding: 15px; display: grid; grid-template-columns: 50px 1fr; gap: 3px 13px;
        align-items: center; border: 1px solid #dfc8a4; border-radius: 7px; background: rgba(255, 250, 240, .8); text-align: left;
    }
    .feasts-mobile-cta > i { width: 48px; height: 48px; grid-row: 1; display: grid; place-items: center; color: #7e4d1e; border: 1px solid #d3b581; border-radius: 50%; font-size: 22px; }
    .feasts-mobile-cta h2 { margin: 0; font-size: 21px; font-weight: 400; }
    .feasts-mobile-cta p { margin: 0; font-size: 12px; }
    .feasts-mobile-cta a {
        min-height: 42px; grid-column: 1 / -1; margin-top: 10px; display: grid; place-items: center;
        color: #fff; background: #0868d6; border-radius: 4px; font-family: Arial, sans-serif; font-size: 13px; font-weight: 700; text-transform: uppercase;
    }
    .feasts-footer { padding: 22px 0; }
    .feasts-footer .feasts-container { flex-direction: column; text-align: center; }
}

@media (max-width: 640px) {
    .feasts-scripture-tooltip {
        top: auto !important;
        right: 10px;
        bottom: 10px;
        left: 10px !important;
        width: auto;
        padding: 18px;
        border-radius: 17px;
        box-shadow: 0 18px 55px rgba(49, 25, 7, .34);
        transform: translateY(16px);
    }
    .feasts-scripture-tooltip.is-visible { transform: translateY(0); }
    .feasts-scripture-tooltip__content p {
        font-size: 16px;
        line-height: 1.6;
    }
}

@media (max-width: 380px) {
    .feasts-brand img { width: 150px; }
    .feast-detail__content section { grid-template-columns: 105px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; }
}
