@media (max-width: 900px) {
    html {
        scroll-padding-top: 88px;
    }

    .paperhold-nav {
        top: 8px;
        width: calc(100% - 20px);
        margin-top: 8px;
        padding: 9px 10px 9px 14px;
        border-radius: 17px;
    }

    .paperhold-nav .paperhold-logo,
    .paperhold-nav-button {
        min-height: 44px;
    }

    .paperhold-nav-button {
        display: inline-flex;
        align-items: center;
    }

    .paperhold-nav-links {
        display: none;
    }

    .paperhold-logo {
        font-size: 21px;
    }

    .paperhold-mark {
        width: 31px;
        height: 31px;
    }

    .paperhold-nav-button {
        padding: 9px 12px;
        font-size: 10px;
    }

    .paperhold-hero {
        padding: 70px 16px 62px;
    }

    .paperhold-hero::before {
        top: 48px;
        height: 260px;
    }

    .paperhold-hero h1 {
        margin-top: 24px;
        font-size: clamp(50px, 16vw, 82px);
        line-height: 0.9;
    }

    .paperhold-hero-text {
        max-width: 560px;
        font-size: 17px;
    }

    .paperhold-hero-demo {
        grid-template-columns: 1fr;
        gap: 26px;
        margin-top: 56px;
        padding: 24px 18px;
        border-radius: 26px;
    }

    .paperhold-paper,
    .paperhold-result-card {
        width: min(100%, 470px);
        justify-self: center;
        transform: none;
    }

    .paperhold-arrow {
        min-height: 62px;
    }

    .paperhold-arrow div {
        width: 48px;
        transform: rotate(90deg);
    }

    .paperhold-section,
    .paperhold-app-section,
    .paperhold-waitlist {
        padding: 78px 18px;
    }

    .paperhold-section-head {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .paperhold-section-head > p {
        margin: 0;
        font-size: 16px;
    }

    .paperhold-steps {
        grid-template-columns: 1fr;
        margin-top: 40px;
    }

    .paperhold-steps article {
        min-height: 0;
    }

    .paperhold-features {
        grid-template-columns: 1fr;
        margin-top: 40px;
    }

    .paperhold-features article,
    .paperhold-features article:nth-child(n) {
        grid-column: 1 !important;
        grid-row: auto !important;
        min-height: 0;
    }

    .paperhold-features article:nth-child(1) {
        min-height: 430px;
    }

    .paperhold-features article:nth-child(1) h3 {
        margin-top: 52px;
        font-size: 43px;
    }

    .paperhold-phones {
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 18px;
        margin-top: 20px;
        padding: 16px 8vw 32px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: 8vw;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }

    .paperhold-phone-wrap,
    .paperhold-phone-wrap.left,
    .paperhold-phone-wrap.center,
    .paperhold-phone-wrap.right {
        flex: 0 0 min(74vw, 300px);
        scroll-snap-align: center;
        transform: none;
    }

    .paperhold-phone-wrap.center {
        order: 1;
    }

    .paperhold-phone-wrap.left {
        order: 2;
    }

    .paperhold-phone-wrap.right {
        order: 3;
    }

    .paperhold-phone,
    .paperhold-phone-wrap.center .paperhold-phone {
        width: 100%;
    }

    .paperhold-swipe-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 30px auto 0;
        color: #f0e6d9;
        font-size: 13px;
        letter-spacing: 0.02em;
        text-align: center;
    }

    .paperhold-swipe-hint span {
        color: var(--terra-soft);
        font-size: 18px;
    }

    .paperhold-faq details {
        padding: 0 18px;
    }

    .paperhold-waitlist iframe {
        width: 100%;
    }

    .paperhold-footer {
        gap: 42px;
        padding: 52px 24px;
    }

    .paperhold-footer .paperhold-logo,
    .paperhold-footer-links a {
        min-height: 44px;
    }

    .paperhold-footer-links a {
        display: flex;
        align-items: center;
    }
}

@media (max-width: 560px) {
    .paperhold-hero h1 {
        font-size: clamp(48px, 16.5vw, 64px);
    }

    .paperhold-beta {
        gap: 7px;
        max-width: 100%;
        font-size: 11px;
    }

    .paperhold-hero-text {
        font-size: 16px;
    }

    .paperhold-paper,
    .paperhold-result-card {
        padding: 26px 22px;
    }

    .paperhold-result-head {
        grid-template-columns: auto 1fr;
    }

    .paperhold-status {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .paperhold-result-grid {
        grid-template-columns: 1fr;
    }

    .paperhold-trust-strip {
        align-items: flex-start;
        flex-direction: column;
        width: fit-content;
        margin-top: 30px;
        text-align: left;
    }

    .paperhold-section-head h2,
    .paperhold-features-section > h2,
    .paperhold-app-head h2,
    .paperhold-faq-head h2,
    .paperhold-waitlist h2 {
        font-size: clamp(38px, 12vw, 43px);
    }

    .paperhold-features article {
        padding: 28px 24px;
        border-radius: 23px;
    }

    .paperhold-features article:nth-child(1) {
        min-height: 390px;
    }

    .paperhold-features article:nth-child(1) h3 {
        font-size: 38px;
    }

    .paperhold-waitlist iframe {
        min-height: 640px;
    }

    .paperhold-footer-links {
        gap: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/*
 * Print/PDF layout
 *
 * Browser print uses an A4-sized viewport and therefore triggers the tablet
 * layout above. These overrides keep text readable when background graphics
 * are disabled and prevent the phone mockups from spanning several pages.
 */
@media print {
    @page {
        size: A4 portrait;
        margin: 12mm;
    }

    :root {
        --page-width: 186mm;
    }

    *,
    *::before,
    *::after {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    html {
        scroll-padding-top: 0;
    }

    body,
    .paperhold-page {
        overflow: visible;
        background: #ffffff !important;
        color: var(--ink) !important;
    }

    body {
        font-size: 10pt;
    }

    .skip-link {
        display: none !important;
    }

    .paperhold-nav {
        position: static;
        width: 100%;
        margin: 0 0 8mm;
        padding: 3mm 4mm;
        border: 1px solid rgba(33, 26, 20, 0.12);
        border-radius: 4mm;
        box-shadow: none;
    }

    .paperhold-nav-links {
        display: flex;
    }

    .paperhold-nav-button {
        border: 1px solid rgba(33, 26, 20, 0.2);
        background: #ffffff !important;
        color: var(--ink) !important;
        box-shadow: none;
    }

    .paperhold-hero {
        min-height: 0;
        padding: 4mm 0 8mm;
    }

    .paperhold-hero::before {
        display: none;
    }

    .paperhold-hero h1 {
        margin: 5mm auto 4mm;
        font-size: 42pt;
        line-height: 0.9;
    }

    .paperhold-hero-text {
        max-width: 140mm;
        font-size: 11pt;
    }

    .paperhold-hero > a[href*="apps.apple.com"] img {
        width: 38mm !important;
    }

    .paperhold-hero-demo {
        grid-template-columns: minmax(0, 0.9fr) 16mm minmax(0, 1.1fr);
        gap: 5mm;
        margin-top: 7mm;
        padding: 6mm;
        border-radius: 7mm;
        box-shadow: none;
    }

    .paperhold-paper,
    .paperhold-result-card {
        width: 100%;
        min-height: 0;
        padding: 6mm;
        transform: none;
    }

    .paperhold-paper h3 {
        margin-top: 5mm;
    }

    .paperhold-arrow {
        min-height: 0;
    }

    .paperhold-arrow div {
        width: 12mm;
        transform: none;
    }

    .paperhold-reminder {
        border: 1px solid rgba(33, 26, 20, 0.18);
        background: #ffffff !important;
        color: var(--ink) !important;
    }

    .paperhold-trust-strip {
        margin-top: 7mm;
    }

    .paperhold-quote {
        margin-top: 2mm;
        font-size: 11pt;
        line-height: 1.2;
    }

    .paperhold-section,
    .paperhold-app-section,
    .paperhold-waitlist {
        padding: 14mm 0;
    }

    .paperhold-features-section,
    .paperhold-app-section,
    .paperhold-faq,
    .paperhold-waitlist {
        break-before: page;
        page-break-before: always;
    }

    .paperhold-section-head {
        grid-template-columns: minmax(0, 1.25fr) minmax(55mm, 0.75fr);
        gap: 12mm;
    }

    .paperhold-section-head h2,
    .paperhold-features-section > h2,
    .paperhold-app-head h2,
    .paperhold-faq-head h2,
    .paperhold-waitlist h2 {
        font-size: 34pt;
    }

    .paperhold-section-head > p,
    .paperhold-app-head p,
    .paperhold-waitlist > p {
        font-size: 10.5pt;
    }

    .paperhold-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4mm;
        margin-top: 10mm;
    }

    .paperhold-steps article {
        min-height: 48mm;
        padding: 6mm;
    }

    .paperhold-steps h3 {
        margin-top: 7mm;
        font-size: 18pt;
    }

    .paperhold-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
        gap: 4mm;
        margin-top: 10mm;
    }

    .paperhold-features article,
    .paperhold-features article:nth-child(n) {
        grid-column: auto !important;
        grid-row: auto !important;
        min-height: 42mm;
        padding: 5mm;
    }

    .paperhold-features article:nth-child(1) {
        min-height: 54mm;
        border: 1px solid rgba(33, 26, 20, 0.18);
        background: #ffffff !important;
        color: var(--ink) !important;
    }

    .paperhold-features article:nth-child(1) > span,
    .paperhold-features article:nth-child(1) h3,
    .paperhold-features article:nth-child(1) p {
        color: var(--ink) !important;
    }

    .paperhold-features article:nth-child(1) h3 {
        margin-top: 3mm;
        font-size: 20pt;
    }

    .paperhold-overdue {
        border: 1px solid rgba(33, 26, 20, 0.18);
        background: #ffffff !important;
        color: var(--ink) !important;
    }

    .paperhold-app-section {
        background: #ffffff !important;
        color: var(--ink) !important;
    }

    .paperhold-app-head .paperhold-eyebrow {
        color: var(--terra-deep) !important;
    }

    .paperhold-app-head h2,
    .paperhold-app-section .paperhold-app-head p,
    .paperhold-app-section .paperhold-phone-wrap > p {
        color: var(--ink) !important;
    }

    .paperhold-phones {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: start;
        gap: 6mm;
        margin-top: 10mm;
        padding: 0;
        overflow: visible;
    }

    .paperhold-phone-wrap,
    .paperhold-phone-wrap.left,
    .paperhold-phone-wrap.center,
    .paperhold-phone-wrap.right {
        width: auto;
        min-width: 0;
        transform: none;
    }

    .paperhold-phone,
    .paperhold-phone-wrap.center .paperhold-phone {
        width: 100%;
        padding: 1.5mm;
        border-radius: 7mm;
        box-shadow: none;
    }

    .paperhold-phone img {
        border-radius: 5.5mm;
    }

    .paperhold-phone-wrap > p {
        margin-top: 4mm;
        font-size: 9pt;
    }

    .paperhold-faq {
        max-width: var(--page-width);
        margin-right: auto;
        margin-left: auto;
    }

    .paperhold-faq-head {
        margin-bottom: 8mm;
    }

    .paperhold-faq details {
        padding: 0 5mm;
    }

    .paperhold-waitlist {
        overflow: visible;
        background: #ffffff !important;
        color: var(--ink) !important;
    }

    .paperhold-waitlist::before,
    .paperhold-waitlist::after {
        display: none;
    }

    .paperhold-waitlist .paperhold-eyebrow {
        color: var(--terra-deep) !important;
    }

    .paperhold-waitlist h2,
    .paperhold-waitlist > p,
    .paperhold-waitlist > p a {
        color: var(--ink) !important;
    }

    .paperhold-waitlist iframe {
        width: 150mm;
        height: 160mm;
        min-height: 0;
        border: 1px solid rgba(33, 26, 20, 0.14);
        border-radius: 5mm;
        box-shadow: none;
    }

    .paperhold-footer {
        display: flex;
        flex-direction: row;
        break-inside: avoid;
        page-break-inside: avoid;
        padding: 8mm 0 0;
        border-top: 1px solid rgba(33, 26, 20, 0.14);
        background: #ffffff !important;
        color: var(--ink) !important;
    }

    .paperhold-footer-links {
        flex-wrap: nowrap;
        gap: 12mm;
    }

    .paperhold-footer .paperhold-logo,
    .paperhold-footer > div:first-child > p,
    .paperhold-footer-links strong,
    .paperhold-footer a {
        color: var(--ink) !important;
    }

    h1,
    h2,
    h3,
    summary,
    .paperhold-section-head,
    .paperhold-app-head,
    .paperhold-faq-head {
        break-after: avoid;
        page-break-after: avoid;
    }

    .paperhold-paper,
    .paperhold-result-card,
    .paperhold-steps article,
    .paperhold-features article,
    .paperhold-phone-wrap,
    .paperhold-faq details,
    .paperhold-waitlist iframe {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}
