@media (max-width:1120px) {
    .desktop-nav, .header-account { display:none; }
    .menu-toggle { display:block; }
    .companions-grid, .chronicle-grid { grid-template-columns:repeat(2,1fr); }
    .companions-grid .action-card:last-child { grid-column:1/-1; }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:900px) {
    .hero__branding {
        width:min(760px, 92vw);
    }

    .hero__boar {
        width:min(400px, 58vw);
    }

    .hero__actions {
        gap:22px;
    }
}

@media (max-width:820px) {
    .container { width:min(100% - 32px, var(--container)); }
    .section { padding:78px 0; }
    .section-heading { display:block; margin-bottom:40px; }
    .section-heading .section-lead { margin-top:20px; }
    .split-layout, .story-grid, .partners-grid { grid-template-columns:1fr; gap:42px; }
    .story-copy { order:2; }
    .feature-grid { grid-template-columns:1fr; grid-template-rows:none; }
    .feature-card, .feature-card--large { grid-row:auto; min-height:320px; }

    .hero__background {
        object-position:center;
    }

    .hero__content {
        padding-top:104px;
        padding-bottom:118px;
    }

    .hero__separator {
        width:min(640px, 88vw);
    }

    .button {
        min-width:min(310px, 84vw);
    }
}

@media (max-width:620px) {
    .site-header__inner { min-height:70px; }
    .site-brand__text { display:none; }

    .hero {
        min-height:900px;
    }

    .hero__background {
        object-position:center top;
    }

    .hero__content {
        padding-top:92px;
        padding-bottom:118px;
    }

    .hero__branding {
        width:94vw;
    }

    .hero__boar {
        width:min(360px, 78vw);
        max-height:none;
    }

    .hero__title {
        font-size:clamp(3.6rem, 17vw, 5.6rem);
    }

    .hero__subtitle {
        margin-top:14px;
        font-size:clamp(1.05rem, 5vw, 1.55rem);
        letter-spacing:.08em;
    }

    .hero__separator {
        width:92vw;
        margin-top:18px;
    }

    .hero__motto {
        font-size:clamp(1rem, 4.8vw, 1.3rem);
    }

    .hero__actions,
    .button-row {
        display:grid;
    }

    .hero__actions {
        width:100%;
        gap:18px;
        margin-top:28px;
    }

    .hero__actions .button,
    .button-row .button {
        width:100%;
    }

    .button {
        min-width:0;
    }

    .companions-grid, .chronicle-grid { grid-template-columns:1fr; }
    .companions-grid .action-card:last-child { grid-column:auto; }
    .action-card { min-height:320px; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-bottom .container { flex-direction:column; gap:4px; }
}
