/* r33 owner: v3-footer-command-responsive. Legacy header and navigation patches were removed; footer, command, and content-responsive responsibilities remain. */
/* Footer ------------------------------------------------------------------ */

.site-footer {
    padding-top: clamp(5rem,8vw,8rem);
    background: #050506;
}

html[data-theme="dawn"] .site-footer { background: #ded7cc; }

.site-footer__signal {
    padding-bottom: clamp(3rem,6vw,5rem);
}

.footer-declaration {
    max-width: 20ch;
    font-size: clamp(2.6rem,5.4vw,5.4rem);
    line-height: .97;
}

.site-footer__grid {
    gap: 2rem;
}

.site-footer__grid > div:not(:first-child) {
    padding-left: 1.2rem;
}

/* Command palette --------------------------------------------------------- */

.command-palette {
    width: min(46rem, calc(100vw - 2rem));
    border-radius: 1rem;
}

/* Responsive -------------------------------------------------------------- */

@media (max-width: 1240px) {
    :root { --shell: min(90rem, calc(100vw - 3rem)); }
    .hero__inner { grid-template-columns: minmax(0,1fr) minmax(27rem,.92fr); gap: 3rem; }
    .display--hero { font-size: clamp(4.4rem,7.5vw,6.5rem); }
    .hero-terminal__visual { grid-template-columns: 8rem 1fr; gap: 1.4rem; padding-inline: 1.4rem; }
    .recurrence-node { width: 6.5rem; }
    .ethics-grid { grid-template-columns: repeat(3,1fr); }
    .ethics-card:nth-child(4), .ethics-card:nth-child(5) { min-height: 15rem; }
    .evidence-ladder, .signal-card-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 980px) {
    :root { --shell: min(100%, calc(100vw - 2rem)); --header-h: 4.4rem; }

    .hero__inner {
        min-height: auto;
        padding-block: 4.5rem 3rem;
        grid-template-columns: 1fr;
        gap: 3.3rem;
    }
    .hero__copy { max-width: 50rem; }
    .display--hero { font-size: clamp(4.5rem,12vw,7.2rem); }
    .hero-terminal--lens { width: min(100%, 46rem); margin-inline: auto; }
    .hero__metrics { grid-template-columns: repeat(2,1fr); }
    .hero__metrics div:nth-child(2) { border-right: 0; }
    .hero__metrics div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }

    .recurrence-preview,
    .loop-thesis__statement,
    .architecture-layout,
    .cycle-lab-layout,
    .carrier-bridge,
    .failure-layout {
        grid-template-columns: 1fr;
    }
    .cycle-lab-copy { position: static; }
    .recurrence-preview__diagram { width: min(100%,39rem); margin-inline: auto; }

    .page-hero__inner { grid-template-columns: 1fr; gap: 2.4rem; align-content: center; }
    .page-hero__aside { max-width: 35rem; }

    .recurrence-engine { grid-template-columns: 1fr; }
    .recurrence-map { min-height: 39rem; border-right: 0; border-bottom: 1px solid var(--line); }
    .recurrence-inspector { min-height: auto; }

    .deep-time-track { grid-template-columns: repeat(2,1fr); }
    .deep-time-track article { min-height: 14rem; border-bottom: 1px solid var(--line); }
    .deep-time-track article:nth-child(2n) { border-right: 0; }
    .deep-time-track article:last-child { grid-column: 1 / -1; border-bottom: 0; }
    .deep-time-track h3 { margin-top: 2.5rem; }

    .cycle-lab { grid-template-columns: 1fr; }
    .cycle-lab__controls { border-right: 0; border-bottom: 1px solid var(--line); }
    .cycle-lab__result { min-height: 20rem; }

    .ethics-grid { grid-template-columns: repeat(2,1fr); }
    .ethics-scenario { grid-template-columns: 1fr; }
    .ethics-scenario > div { border-right: 0; border-bottom: 1px solid var(--line); }

    .symbol-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
    :root { --shell: calc(100vw - 1.25rem); }
    body { min-width: 0; }
    .section { padding-block: 4.7rem; }
    h2 { font-size: clamp(2.7rem,12vw,4.4rem); }
    .section-heading--split { grid-template-columns: 1fr; gap: 1rem; }
    .section-heading--split > p, .section-heading--split > a { justify-self: start; }

    .hero__inner { padding-block: 3.65rem 2.8rem; gap: 2.7rem; }
    .hero__status span:not(:first-child) { display: none; }
    .hero__eyebrow { max-width: 30ch; }
    .hero__kicker { font-size: .59rem; }
    .display--hero { font-size: clamp(3.8rem,17vw,5.3rem); line-height: .9; }
    .hero__lead { margin-top: 1.45rem; font-size: 1rem; line-height: 1.55; }
    .hero__signal-line { font-size: .54rem; }
    .hero__actions { display: grid; }
    .hero__actions .button { width: 100%; min-width: 0; }
    .hero-paths { grid-template-columns: 1fr; }
    .hero-paths a { border-right: 0; border-bottom: 1px solid var(--line); }
    .hero-paths a:last-child { border-bottom: 0; }

    .hero-terminal__visual { min-height: 28rem; padding: 1.6rem 1.2rem; grid-template-columns: 1fr; }
    .hero-terminal__core { width: 8.6rem; }
    .hero-terminal__data h2 { font-size: 2rem; }
    .hero-terminal__tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
    .hero-terminal__tabs button { min-width: 7.25rem; scroll-snap-align: start; }
    .hero-terminal__risk { grid-template-columns: 1fr; gap: .3rem; }
    .hero__metrics { grid-template-columns: 1fr 1fr; }
    .hero__metrics div { min-height: 4.8rem; padding: .75rem; }
    .hero__metrics strong { font-size: 2rem; }
    .hero__metrics em { display: none; }

    .recurrence-preview__diagram { display: block; min-height: 0; padding: 1rem; border-radius: 1.2rem; }
    .recurrence-preview__diagram::before, .recurrence-preview__diagram::after { display: none; }
    .recurrence-preview__diagram ol { display: grid; min-height: 0; grid-template-columns: 1fr; grid-template-rows: none; gap: 2.55rem; }
    .recurrence-preview__diagram li { align-self: stretch !important; justify-self: stretch !important; max-width: none; min-height: 7.5rem; }
    .recurrence-preview__diagram li::after { top: auto !important; right: auto !important; bottom: -2.3rem !important; left: 50% !important; content: "↓" !important; transform: translateX(-50%) !important; }
    .recurrence-preview__diagram li:last-child::after { content: "↓?" !important; }
    .recurrence-preview__core { position: static; width: 100%; min-height: 0; margin-top: 2.55rem; transform: none; }
    .recurrence-preview__diagram figcaption { position: static; margin: 1rem .2rem 0; text-align: left; }

    .sequence-engine__rail { display: flex; overflow-x: auto; }
    .sequence-engine__rail button { min-width: 8rem; }
    .sequence-engine__panel { min-height: auto; padding: 1.5rem; grid-template-columns: 1fr; }
    .sequence-engine__number { font-size: 5.5rem; }

    .theme-preview-grid, .theme-atlas-grid, .source-grid { grid-template-columns: 1fr; }
    .theme-preview-card { min-height: 24rem; }

    .model-switcher__tabs { display: flex; overflow-x: auto; }
    .model-switcher__tabs button { min-width: 8.5rem; }
    .model-switcher__display { min-height: auto; padding: 1.5rem; grid-template-columns: 1fr; }
    .model-switcher__mark { font-size: 5rem; }

    .page-hero { min-height: auto; }
    .page-hero__inner { min-height: auto; padding-block: 4rem; }
    .display--page, .page-hero--loop .display--page { font-size: clamp(3.75rem,17vw,5.5rem); }
    .page-hero__lead { font-size: 1rem; }

    .register-split { grid-template-columns: 1fr; }
    .register-split article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .register-split article:last-child { border-bottom: 0; }
    .register-split article > span { margin-bottom: 1.7rem; }

    .recurrence-engine { overflow: visible; border: 0; background: transparent; box-shadow: none; }
    .recurrence-map { display: grid; min-height: auto; padding: .55rem; grid-template-columns: repeat(2,1fr); gap: .5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); }
    .recurrence-map__orbit, .recurrence-map__core { display: none; }
    .recurrence-node,
    .recurrence-node:nth-of-type(n) {
        position: static;
        width: auto;
        min-height: 4.3rem;
        transform: none;
    }
    .recurrence-node:hover,
    .recurrence-node[aria-selected="true"] { transform: none; }
    .recurrence-inspector { margin-top: .65rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); }
    .recurrence-inspector__top span { font-size: 4.5rem; }

    .lens-engine { grid-template-columns: 1fr; }
    .lens-engine__tabs { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .lens-engine__tabs button { min-width: 10rem; min-height: 4.8rem; border-right: 1px solid var(--line); border-bottom: 0; }
    .lens-engine__tabs button[aria-selected="true"] { box-shadow: inset 0 -.17rem var(--signal); }
    .lens-engine__panel { min-height: auto; padding: 1.5rem; }

    .analogy-matrix { overflow-x: auto; }
    .analogy-row { min-width: 50rem; }

    .architecture-engine { grid-template-columns: 1fr; }
    .architecture-engine__tabs { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .architecture-engine__tabs button { min-width: 10.5rem; min-height: 5rem; border-right: 1px solid var(--line); border-bottom: 0; }
    .architecture-engine__tabs button[aria-selected="true"] { box-shadow: inset 0 -.17rem var(--signal); }
    .architecture-engine__panel { padding: 1.5rem; }

    .cycle-lab__controls { padding: .4rem; }
    .cycle-control { padding: .9rem .65rem; }
    .cycle-control > span { display: grid; }
    .cycle-control output { text-align: left; }
    .cycle-formula strong { min-width: 33rem; }

    .deep-time-track { grid-template-columns: 1fr; }
    .deep-time-track article, .deep-time-track article:nth-child(n) { min-height: 11rem; border-right: 0; border-bottom: 1px solid var(--line); }
    .deep-time-track article:last-child { grid-column: auto; border-bottom: 0; }
    .deep-time-track h3 { margin-top: 1.8rem; }

    .ethics-grid, .evidence-ladder, .signal-card-grid, .symbol-grid, .evidence-firewall { grid-template-columns: 1fr; }
    .ethics-card, .evidence-rung, .signal-card, .symbol-grid article, .evidence-firewall article { min-height: 15rem; }
    .ethics-card h3, .signal-card h3, .symbol-grid h3, .evidence-firewall h3 { margin-top: 2.5rem; }
    .evidence-rung > span { font-size: 3.8rem; }

    .failure-list li { grid-template-columns: 2rem 1fr; }
    .loop-exit { padding: 1.5rem; grid-template-columns: 1fr; }
    .loop-exit__actions .button { width: 100%; }

    .carrier-bridge__steps { grid-template-columns: 1fr; }
    .carrier-bridge__steps article, .carrier-bridge__steps article:nth-child(n) { min-height: 12rem; border-right: 0; border-bottom: 1px solid var(--line); }
    .carrier-bridge__steps article:last-child { border-bottom: 0; }
    .carrier-bridge__steps h3 { margin-top: 2rem; }
    .recursive-model-note { grid-template-columns: auto 1fr; }
    .recursive-model-note > a { grid-column: 1 / -1; }

    .manifesto-band h2 { font-size: clamp(3.1rem,14vw,5rem); }
    .site-footer__grid { grid-template-columns: 1fr 1fr; }
    .site-footer__grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
    :root { --shell: calc(100vw - 1rem); }
    .hero__inner { padding-top: 3.1rem; }
    .display--hero { font-size: clamp(3.35rem,17vw,4.35rem); }
    .display--page, .page-hero--loop .display--page { font-size: clamp(3.3rem,17vw,4.45rem); }
    .hero__status { margin-bottom: 1.2rem; }
    .hero__metrics div { grid-template-columns: auto 1fr; }
    .hero__metrics span { font-size: .54rem; }
    .hero-terminal__bar em { display: none; }
    .recurrence-map { grid-template-columns: 1fr; }
    .ethics-scenario > div, .ethics-scenario > article { padding: 1.25rem; }
    .site-footer__grid { grid-template-columns: 1fr; }
    .site-footer__grid > div:first-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .recurrence-map__orbit,
    .hero-orbit { animation: none !important; }
}

@media print {
    .recurrence-map__orbit,
    .recurrence-map__core { display: none !important; }
    .recurrence-preview__core { border-color: #777; background: #fff; }
    .recurrence-node { position: static; transform: none; }
}

