/* ---------------------------------------------------------
   Tablet (max 991px) — same breakpoint as the old site
--------------------------------------------------------- */
@media (max-width: 991px) {

    .section-title {
        font-size: 30px;
    }

    /* Header / mobile menu */
    .main-nav {
        flex-wrap: wrap;
        padding: 4px 0;
    }

    .nav-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        margin: 0 auto;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var(--bg-color);
        box-shadow: none;
    }

    .nav-toggle:focus {
        box-shadow: none;
    }

    .nav-toggle svg {
        width: 32px;
        height: 32px;
        fill: currentColor;
    }

    .nav-toggle .nav-toggle-close,
    .nav-toggle:not(.collapsed) .nav-toggle-open {
        display: none;
    }

    .nav-toggle:not(.collapsed) .nav-toggle-close {
        display: flex;
    }

    .nav-toggle .nav-toggle-open {
        display: flex;
    }

    .main-nav .mainmenu {
        position: absolute;
        top: calc(100% + 4px);
        left: 0;
        width: 100%;
        background-color: var(--bg-color);
    }

    .navmenu {
        display: block;
        padding: 0;
    }

    .navmenu li {
        margin: 0;
    }

    .navmenu a {
        padding: 10px 20px;
        text-align: center;
        color: #33373D;
    }

    .navmenu a:hover,
    .navmenu a:focus {
        background-color: #3F444B;
        color: #fff;
    }

    .navmenu .current-menu-item > a,
    .navmenu .current_page_item > a {
        font-style: normal;
        background-color: #3F444B;
        color: #fff;
    }

    .navmenu .current-menu-item > a::before,
    .navmenu .current-menu-item > a::after,
    .navmenu .current_page_item > a::before,
    .navmenu .current_page_item > a::after {
        display: none;
    }

    /* Footer */
    .site-footer {
        padding: 24px 12px;
    }

    /* Book Teaser / Book Intro */
    .book-teaser-row,
    .book-intro-row {
        gap: 48px 24px;
        padding: 60px 0 48px;
    }

    .book-teaser--cover_right .book-teaser-row {
        padding-top: 48px;
    }

    .book-intro--cover_right .book-intro-row {
        padding: 48px 0 96px;
    }

    .teaser-quote .quote {
        font-size: 20px;
    }

    .book-description {
        font-size: 18px;
    }

    /* Buy the Book */
    .store-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    /* Video */
    .video-section .site-container {
        padding-left: 42px;
        padding-right: 42px;
    }

    .video-frame {
        margin: 0 20px;
    }

    /* Divider */
    .divider-band {
        height: 25px;
    }

    /* Praise */
    .praise-banner-title {
        font-size: 48px;
    }

    .praise-list--one_column {
        padding-top: var(--pt, 40px);
    }

    .praise-list--one_column .site-container {
        padding-left: 52px;
        padding-right: 52px;
    }

    .praise-list--two_columns {
        padding-top: var(--pt, 48px);
        padding-bottom: var(--pb, 48px);
    }

    .praise-columns {
        gap: 48px;
    }

    .praise-column {
        gap: 60px;
    }

    .praise-column .review.is-compact {
        margin-top: 0;
    }

    .review-quote {
        font-size: 18px;
    }

    .cta-link {
        padding: 48px 0;
    }

    .arrow-link--lg {
        font-size: 18px;
    }

    /* Other Writings Teaser */
    .writings-teaser-row {
        gap: 48px 24px;
        padding: 48px 0;
    }

    .writings-teaser-featured {
        margin-bottom: 32px;
    }

    .writings-teaser-text {
        margin-bottom: 48px;
    }

    .writings-teaser-images {
        gap: 24px;
    }

    .writings-teaser-image {
        flex-basis: 46%;
        max-width: 46%;
    }

    /* About Teaser */
    .about-teaser-row {
        gap: 48px 24px;
        padding: 48px 0;
    }

    .about-teaser-content {
        flex: 1 1 auto;
    }

    .about-teaser-title {
        width: auto;
        max-width: 427px;
        margin-bottom: 48px;
    }

    .about-teaser-intro {
        margin-bottom: 32px;
    }

    /* Newsletter */
    .newsletter {
        padding-bottom: 48px;
    }

    .newsletter-content {
        padding: 24px;
    }

    .newsletter-title {
        margin-bottom: 24px;
    }

    /* Text + image rows */
    .author-bio .media-row,
    .contact-section {
        padding-top: 48px;
    }

    .author-bio .media-row {
        padding-bottom: 48px;
    }

    .story-header .media-row {
        padding: 40px 0;
    }

    .author-bio .media-row-content,
    .story-header .media-row-content {
        flex-basis: 64.5%;
        max-width: 64.5%;
    }

    .guide-intro {
        padding-top: 40px;
    }

    .guide-intro .section-title {
        margin-bottom: 38px;
    }

    .rich-text {
        padding-bottom: var(--pb, 40px);
    }

    /* Writings List */
    .writings-list {
        padding-top: 48px;
    }

    .writings-list .section-title {
        margin-bottom: 96px;
    }

    .contact-section {
        padding-bottom: 158px;
    }
}

/* ---------------------------------------------------------
   Mobile (max 767px)
--------------------------------------------------------- */
@media (max-width: 767px) {

    .press-logos {
        display: none;
    }

    .footer-inner {
        justify-content: center;
        gap: 16px;
    }

    .footer-name {
        font-size: 16px;
        line-height: 1.33;
    }

    .footer-meta {
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }

    .footer-copyright {
        order: 2;
        width: 100%;
        text-align: center;
    }

    .footer-year {
        font-size: 16px;
    }

    .scroll-top {
        right: 20px;
        bottom: 20px;
    }

    /* Stack every two column row */
    .book-teaser-row,
    .book-intro-row,
    .writings-teaser-row,
    .about-teaser-row,
    .media-row,
    .praise-columns,
    .newsletter-box,
    .writing-item {
        flex-direction: column;
        align-items: stretch;
    }

    .book-teaser-row > *,
    .book-intro-row > *,
    .writings-teaser-row > *,
    .about-teaser-row > *,
    .media-row > *,
    .newsletter-box > *,
    .writing-item > * {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100%;
    }

    .book-teaser-row {
        padding-top: 40px;
    }

    .book-teaser--cover_right .book-teaser-row,
    .book-intro--cover_right .book-intro-row {
        padding-top: 48px;
    }

    .book-intro-row {
        padding-top: 40px;
    }

    .book-intro--cover_left .book-intro-content {
        padding-bottom: 40px;
    }

    .book-intro--cover_left .section-title {
        margin-bottom: 42px;
    }

    .book-teaser--cover_left .book-cover img,
    .book-intro--cover_left .book-cover img {
        width: 100%;
        max-width: 543px;
    }

    .book-teaser--cover_right .book-covers,
    .book-intro--cover_right .book-covers {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    .book-teaser--cover_right .book-cover,
    .book-teaser--cover_right .book-cover-secondary,
    .book-intro--cover_right .book-cover,
    .book-intro--cover_right .book-cover-secondary {
        max-width: 100% !important;
        text-align: center;
    }

    .book-teaser--cover_right .book-cover-secondary,
    .book-intro--cover_right .book-cover-secondary {
        align-items: center;
    }

    .book-cover-caption {
        text-align: center;
    }

    .teaser-quote .quote-source {
        margin-bottom: 32px;
    }

    .store-grid {
        grid-template-columns: repeat(3, 1fr);
        justify-items: stretch;
    }

    .buy-the-book {
        padding-bottom: 0;
    }

    .video-section .site-container {
        padding-left: 42px;
        padding-right: 42px;
    }

    .video-frame {
        margin: 0;
    }

    .divider-band {
        height: 22px;
    }

    .praise-banner-title {
        margin-top: -8px;
        font-size: 36px;
        line-height: 1;
        text-align: center;
    }

    .praise-banner-icon {
        margin: 130px 0 -20px;
    }

    .praise-banner-icon img {
        max-width: 100px;
    }

    .praise-list--one_column .site-container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .praise-columns,
    .praise-column {
        gap: 48px;
    }

    .cta-link {
        padding: 20px 0;
    }

    .writings-teaser-row,
    .about-teaser-row {
        padding: 48px 0;
    }

    .writings-teaser-row {
        padding-bottom: 20px;
    }

    .writings-teaser-images {
        justify-content: center;
        gap: 16px;
    }

    .about-teaser-media {
        flex-basis: auto;
    }

    .about-teaser-title,
    .about-teaser-intro {
        width: auto;
    }

    .newsletter-image img {
        height: auto;
    }

    .author-bio {
        padding-bottom: 20px;
    }

    .author-bio .section-title {
        margin-bottom: 16px;
    }

    .author-bio-image img {
        margin-top: 0;
    }

    .story-header .section-title {
        margin-bottom: 0;
        font-size: 22px;
    }

    .story-label {
        margin-bottom: 3.6px;
    }

    .guide-intro .section-title {
        margin-bottom: 40px;
        font-size: 22px;
    }

    .media-row-image {
        text-align: center;
    }

    .writing-item-cover {
        text-align: center;
    }

    .writing-item-title {
        margin: 0 0 5px;
        font-size: 20px;
        text-align: center;
    }

    .writing-item-publication {
        margin-top: -6px;
        margin-bottom: -28px;
        font-size: 18px;
        text-align: center;
    }

    .writings-list .section-title {
        margin-bottom: 48px;
    }

    .contact-section {
        padding-bottom: 68px;
    }
}
