/* Global layout breakpoints and page-level responsive rules only */

@media (max-width: 1080px) {
    .landing-hero,
    .landing-trust-layout,
    .landing-banner__inner,
    .landing-banner__inner--reverse {
        grid-template-columns: 1fr;
    }

    .landing-architecture-board__grid,
    .landing-architecture-board__footer,
    .landing-outcome-grid {
        grid-template-columns: 1fr;
    }

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

    .module-matrix--five {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .landing-preview-surface__grid {
        grid-template-columns: 1fr;
    }

    .landing-metadata-row {
        grid-template-columns: 1fr;
    }

    .landing-metadata-row__item,
    .landing-metadata-row__item:nth-child(odd) {
        border-right: none;
    }

    .landing-metadata-row__item:not(:last-child) {
        border-bottom: 1px solid var(--line);
    }

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

    .process-strip__item:nth-child(2n) {
        border-right: none;
    }

    .process-strip__item:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }

    .landing-banner {
        padding-top: clamp(2.6rem, 5vh, 4.2rem);
    }

    .landing-banner__surface {
        min-height: clamp(260px, 34vh, 380px);
    }

    .landing-banner__inner {
        padding-block: clamp(2rem, 4vh, 3rem);
    }

    .landing-banner__visual {
        justify-content: flex-start;
    }

    .landing-banner__glyph {
        width: min(100%, 300px);
    }

    .landing-banner__glyph--wide {
        width: min(100%, 420px);
    }
}

@media (max-width: 1240px) {
    .header-inner {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 0.75rem;
    }

    .site-nav {
        justify-content: flex-start;
        gap: 0.25rem;
    }

    .site-nav__toplink,
    .nav-dropdown__summary {
        padding-inline: 0.65rem;
        font-size: 0.9rem;
    }

    .header-user-stack {
        display: none;
    }
}

@media (max-width: 980px) {
    .hero-grid {
        grid-template-columns: 1fr;
    }

    .landing-split,
    .landing-cta-panel {
        grid-template-columns: 1fr;
    }

    .landing-cta-panel {
        align-items: flex-start;
    }

    .menu-toggle {
        display: inline-block;
        justify-self: end;
    }

    .site-nav,
    .header-actions {
        display: none;
        width: 100%;
    }

    .site-nav.is-open {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding-bottom: 0.35rem;
    }

    .header-actions.is-open {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 0.65rem;
        flex-wrap: wrap;
        padding: 0.2rem 0 1rem;
    }

    .header-inner {
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        padding: 0.7rem 0.8rem;
    }

    .site-nav {
        grid-column: 1 / -1;
        order: 4;
        gap: 0.55rem;
    }

    .header-actions {
        grid-column: 1 / -1;
        order: 5;
    }

    .site-nav__toplink,
    .nav-dropdown__summary {
        width: 100%;
    }

    .header-actions .btn:not(.btn--icon) {
        width: 100%;
    }

    .header-actions .btn--icon,
    .header-actions .theme-mode-indicator {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    .theme-mode-indicator__tooltip {
        left: 0;
        right: auto;
    }

    .nav-dropdown {
        width: 100%;
    }

    .nav-dropdown__panel {
        position: static;
        width: 100%;
        margin-top: 0.45rem;
        box-shadow: none;
        border-radius: var(--radius);
    }

    .header-user {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .container {
        width: min(100% - 1rem, 100%);
    }

    .hero,
    .main-content {
        padding-left: 0;
        padding-right: 0;
    }

    .page-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-header__actions {
        width: 100%;
        flex-direction: row;
        align-items: flex-start;
        gap: 0.55rem;
    }

    .page-header__actions,
    .landing-hero__actions,
    .landing-cta-panel__actions {
        width: 100%;
    }

    .landing-hero__actions,
    .landing-cta-panel__actions {
        flex-direction: column;
    }

    .page-header__actions > .btn,
    .page-header__actions > a.btn,
    .landing-hero__actions .btn,
    .landing-cta-panel__actions .btn {
        flex: 1 1 100%;
        width: 100%;
        justify-content: center;
    }

    .page-header__actions > .badge,
    .page-header__actions > .role-pill,
    .page-header__actions > .info-tooltip {
        flex: 0 0 auto;
    }

    .landing-main {
        padding-bottom: 3rem;
    }

    .landing-section {
        padding-top: clamp(2.1rem, 4.2vh, 2.9rem);
    }

    .landing-section--hero {
        padding-top: clamp(1.9rem, 4.2vh, 2.7rem);
    }

    .landing-architecture-board {
        padding: 1rem;
    }

    .landing-architecture-board__header,
    .landing-preview-surface__header,
    .landing-context-panel__item {
        flex-direction: column;
        align-items: flex-start;
    }

    .landing-context-panel__item span {
        text-align: left;
    }

    .landing-outcome-grid,
    .module-matrix,
    .module-matrix--five {
        grid-template-columns: 1fr;
    }

    .process-strip {
        grid-template-columns: 1fr;
    }

    .landing-banner__visual {
        justify-content: center;
    }

    .landing-banner {
        padding-top: 2.2rem;
    }

    .landing-banner__surface {
        min-height: clamp(220px, 30vh, 300px);
    }

    .landing-banner__inner {
        gap: 1.1rem;
        padding-block: 1.5rem;
    }

    .landing-banner__copy {
        gap: 0.7rem;
    }

    .landing-banner__glyph,
    .landing-banner__glyph--wide {
        width: min(100%, 240px);
    }

    .landing-preview-table__head,
    .landing-preview-table__row {
        grid-template-columns: 1fr;
    }

    .process-strip__item {
        border-right: none;
        border-bottom: 1px solid var(--line);
    }

    .process-strip__item:last-child {
        border-bottom: none;
    }

    .data-table {
        display: block;
        overflow-x: auto;
    }

    .preview-table-shell {
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .preview-table-shell .data-table {
        display: table;
        overflow: visible;
    }

    .preview-table-shell--rows {
        width: calc(100% + 1rem);
        max-width: none;
        margin-inline: -0.5rem;
        border-radius: var(--radius-sm);
    }

    .page-shell {
        padding: 1rem;
    }

    .management-panel {
        padding: 1rem;
        min-width: 0;
    }

    .page-header > *,
    .management-panel > *,
    .pagination-bar > * {
        min-width: 0;
    }

    .pagination-bar,
    .pagination-bar__actions {
        align-items: stretch;
    }

    .pagination-bar__limit {
        flex: 1 1 auto;
    }

    .pagination-bar__limit-select {
        width: 100%;
        min-width: 0;
    }

    .company-profile__header {
        align-items: stretch;
    }

    .company-profile__actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .company-profile__actions .btn,
    .user-detail-form__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .company-profile__section {
        padding: 1rem;
    }

    .company-profile__badges {
        gap: 0.5rem;
    }

    .settings-summary-card__header {
        flex-direction: column;
        align-items: stretch;
    }

    .user-detail-form__actions {
        justify-content: stretch;
    }

    .activity-detail-modal-page {
        padding: 0.6rem;
    }

    .activity-detail-modal-page__inner {
        width: 100%;
        min-height: calc(100vh - 1.2rem);
    }

    .activity-detail-shell {
        gap: 0.9rem;
    }

    .activity-detail-shell__header {
        align-items: flex-start;
        padding: 0.9rem 1rem;
    }

    .activity-detail-shell__heading .page-title {
        font-size: clamp(1.9rem, 10vw, 2.6rem);
        line-height: 1.05;
    }

    .management-panel__header {
        flex-direction: column;
        align-items: stretch;
    }

    .management-panel__header .btn {
        align-self: flex-start;
    }

    .guest-detail-contact-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .guest-detail-bookings-table {
        display: none;
    }

    .guest-detail-bookings-mobile {
        display: block;
    }
}

@media (max-width: 980px) {
    .activity-detail-modal-page__inner {
        width: min(960px, 100%);
    }

    .guest-detail-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .guest-detail-contact-grid {
        grid-template-columns: 1fr;
    }

    .candidate-item {
        flex-direction: column;
    }

    .candidate-item__actions {
        width: 100%;
        justify-content: flex-start;
    }
}
