@media (max-width: 1100px) {
    .pap-primary-nav,
    .pap-header-cta {
        display: none;
    }

    .pap-site-header__inner {
        grid-template-columns: 1fr auto;
    }

    .pap-menu-toggle {
        display: grid;
        place-items: center;
    }

    .pap-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pap-hero__grid {
        grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
        gap: 3rem;
    }

    .pap-site-footer__top {
        grid-template-columns: 1.2fr .7fr .7fr;
    }

    .pap-site-footer__edition {
        display: none;
    }

    .pap-product-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(330px, .75fr);
        gap: 3rem;
    }
}

@media (max-width: 900px) {
    :root {
        --header-height: 70px;
    }

    .pap-section-heading--split,
    .pap-page-hero__grid,
    .pap-faq-contact__grid,
    .pap-product-story__grid,
    .pap-faq-page__grid,
    .pap-contact-hero__grid,
    .pap-trust-panel__inner,
    .pap-included__grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .pap-section-heading__aside,
    .pap-page-hero__aside {
        max-width: 60ch;
    }

    .pap-hero {
        padding-top: 3rem;
        background: var(--pap-white);
    }

    .pap-hero__grid {
        grid-template-columns: 1fr;
    }

    .pap-hero__copy {
        padding-bottom: 0;
    }

    .pap-hero h1 {
        max-width: 11ch;
    }

    .pap-hero__media {
        width: min(100%, 720px);
        margin-inline: auto;
    }

    .pap-hero-video {
        aspect-ratio: 16 / 11;
    }

    .pap-hero__stamp {
        left: 1rem;
    }

    .pap-print-collage {
        grid-template-rows: 280px 220px 220px;
    }

    .pap-print-collage__item--1 { grid-area: 1 / 1 / 2 / 13; }
    .pap-print-collage__item--2 { grid-area: 2 / 1 / 3 / 7; }
    .pap-print-collage__item--3 { grid-area: 2 / 7 / 3 / 13; }
    .pap-print-collage__item--4 { grid-area: 3 / 7 / 4 / 13; }
    .pap-print-collage__annotation { grid-area: 3 / 1 / 4 / 7; }

    .pap-newspaper__headline-row,
    .pap-newspaper__body {
        grid-template-columns: 1fr;
    }

    .pap-newspaper__intro {
        max-width: 60ch;
    }

    .pap-newspaper__facts {
        min-height: 370px;
    }

    .pap-step-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pap-step-grid li:nth-child(2) {
        border-right: 0;
    }

    .pap-step-grid li:nth-child(-n + 2) {
        border-bottom: 1px solid var(--pap-line);
    }

    .pap-product-hero__grid {
        grid-template-columns: 1fr;
    }

    .pap-product-hero__details {
        position: static;
    }

    .pap-price-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .pap-price-card,
    .pap-price-card + .pap-price-card,
    .pap-price-card--featured + .pap-price-card {
        border: 1px solid var(--pap-line);
    }

    .pap-price-card--featured {
        border-color: var(--pap-red);
        transform: none;
    }

    .pap-site-footer__top {
        grid-template-columns: 1fr 1fr;
    }

    .pap-site-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    :root {
        --page-pad: 1.15rem;
        --section-space: 5rem;
    }

    h1 {
        font-size: clamp(2.75rem, 13vw, 4.3rem);
    }

    h2 {
        font-size: clamp(2.25rem, 10vw, 3.5rem);
    }

    .pap-brand__image,
    .custom-logo {
        width: 145px;
    }

    .pap-actions {
        align-items: stretch;
    }

    .pap-actions .pap-button {
        width: 100%;
    }

    .pap-hero h1 {
        font-size: clamp(3.2rem, 15vw, 5rem);
    }

    .pap-hero-video {
        aspect-ratio: 4 / 5;
    }

    .pap-hero-video__edition strong {
        font-size: 4rem;
    }

    .pap-hero__stamp {
        display: none;
    }

    .pap-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 1rem;
    }

    .pap-trust-strip span {
        border-right: 0;
        padding-inline: 0;
    }

    .pap-print-collage {
        display: flex;
        margin-inline: calc(-1 * var(--page-pad));
        padding-inline: var(--page-pad);
        gap: .8rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .pap-print-collage__item {
        min-width: 82vw;
        height: 440px;
        scroll-snap-align: start;
    }

    .pap-print-collage__caption {
        transform: none;
    }

    .pap-print-collage__annotation {
        min-width: 66vw;
        min-height: 260px;
    }

    .pap-newspaper__paper {
        width: calc(100% - 12px);
        box-shadow: 10px 10px 0 var(--pap-red);
    }

    .pap-newspaper__masthead {
        grid-template-columns: 1fr auto;
        align-items: center;
    }

    .pap-newspaper__masthead strong {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: .75rem;
        font-size: clamp(2.2rem, 12vw, 3.8rem);
    }

    .pap-newspaper__masthead span:last-child {
        text-align: right;
    }

    .pap-newspaper__headline-row h2 {
        font-size: clamp(2.65rem, 14vw, 4.4rem);
    }

    .pap-newspaper__image {
        min-height: 360px;
    }

    .pap-newspaper__facts dl > div {
        grid-template-columns: 95px 1fr;
    }

    .pap-newspaper__footer {
        flex-direction: column;
        gap: .25rem;
    }

    .pap-card-grid {
        grid-template-columns: 1fr;
    }

    .pap-card-tile__visual {
        min-height: 410px;
    }

    .pap-card-tile__title-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .pap-filter-group {
        grid-template-columns: 1fr;
    }

    .pap-filter-group__label {
        padding: .75rem .55rem .25rem;
        border-right: 0;
    }

    .pap-filter-group__options {
        padding-bottom: .4rem;
    }

    .pap-faq-contact__grid {
        gap: 4rem;
    }

    .pap-contact-panel {
        margin-inline: calc(-1 * var(--page-pad));
        padding-inline: var(--page-pad);
    }

    .pap-form-grid {
        grid-template-columns: 1fr;
    }

    .pap-field--full {
        grid-column: auto;
    }

    .pap-accordion__button > span:first-child {
        grid-template-columns: 30px minmax(0, 1fr);
    }

    .pap-accordion__content {
        padding-left: 30px;
        padding-right: 0;
    }

    .pap-feature-line,
    .pap-step-grid,
    .pap-included__list {
        grid-template-columns: 1fr;
    }

    .pap-feature-line span {
        padding-block: .6rem;
        border-bottom: 1px solid rgba(255,255,255,.18);
    }

    .pap-step-grid li,
    .pap-step-grid li:nth-child(2) {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--pap-line);
    }

    .pap-step-grid span {
        margin-bottom: 2rem;
    }

    .pap-live-preview {
        min-height: 590px;
        padding: 1.5rem;
    }

    .pap-product-gallery {
        grid-template-columns: 1fr;
    }

    .pap-product-gallery__item.is-primary {
        grid-column: auto;
        min-height: 450px;
    }

    .pap-product-gallery__item {
        min-height: 360px;
    }

    .pap-mobile-cta {
        position: fixed;
        z-index: 900;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        padding: .75rem var(--page-pad);
        border-top: 1px solid var(--pap-line);
        grid-template-columns: auto 1fr;
        gap: 1rem;
        align-items: center;
        background: rgba(255,255,255,.96);
        backdrop-filter: blur(12px);
    }

    .pap-mobile-cta > span {
        color: var(--pap-red);
        font-weight: 700;
    }

    .pap-mobile-cta .pap-button {
        min-height: 46px;
    }

    .pap-is-card-page .pap-site-footer {
        padding-bottom: 78px;
    }

    .pap-contact-hero__form {
        margin-inline: calc(-1 * var(--page-pad));
        padding-inline: var(--page-pad);
    }

    .pap-contact-hero__details > div,
    .pap-process-list li {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .pap-site-footer__top {
        grid-template-columns: 1fr;
    }

    .pap-site-footer__brand {
        grid-column: auto;
    }

    .pap-site-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .pap-post-grid {
        grid-template-columns: 1fr;
    }

    .pap-search-form__row {
        grid-template-columns: 1fr;
    }
}
