@media (max-width: 700px) {
    :root {
        --glass-bg: rgba(255, 255, 255, 0.68);
        --radius-sm: 12px;
        --radius-lg: 24px;
        /* Запас под фиксированную кнопку «Меню» — только в подвале, без растягивания страницы */
        --inapp-bottom-clearance: max(12px, env(safe-area-inset-bottom, 0px));
        --mobile-footer-fab-clearance: max(48px, calc(env(safe-area-inset-bottom, 0px) + 40px));
    }

    html {
        height: 100%;
        height: -webkit-fill-available;
        background: #fdfcfc;
    }

    body {
        min-height: auto;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
        font-synthesis: none;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        /* На мобилке без розовых «пятен»: иначе сквозь карточки/стекло фон выглядит то белым, то розовым */
        background: #fdfcfc;
    }

    .site-header {
        background: var(--glass-bg);
        backdrop-filter: var(--glass-blur);
        -webkit-backdrop-filter: var(--glass-blur);
        border-bottom: 0;
        box-shadow: none;
        isolation: isolate;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }

    a,
    button,
    input,
    textarea,
    select,
    .myth-hint {
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
    }

    .container {
        width: 92vw;
        max-width: 100%;
        padding-top: 12px;
        padding-bottom: var(--inapp-bottom-clearance);
        flex: 0 1 auto;
        min-height: 0;
        box-sizing: border-box;
    }

    body.page-feed .container,
    body.page-services .container,
    body.page-client-results .container {
        padding-top: 6px;
    }

    body.page-feed .hero,
    body.page-services .hero,
    body.page-client-results .hero {
        padding-top: 6px;
    }

    body.page-article .container {
        padding-bottom: 4px;
    }

    body.page-article .site-footer {
        margin-top: 8px;
    }

    .header-container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 10px 0 8px;
        width: min(620px, 92vw);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        min-width: 0;
        box-sizing: border-box;
    }

    .header-nav-wrap {
        grid-column: auto;
        justify-self: stretch;
    }

    .logo.logo--with-mark {
        width: 100%;
        max-width: 100%;
        align-self: center;
        justify-self: center;
        justify-content: center;
        align-items: center;
        grid-column: auto;
    }

    .mobile-search {
        width: min(620px, 100%);
        max-width: 100%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 7px 14px;
        padding-left: 50px;
        padding-right: 14px;
        min-height: 46px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.84);
        border: 0;
        box-shadow: 0 4px 14px rgba(17, 17, 19, 0.08);
        position: relative;
    }

    .header-search__toggle {
        display: none !important;
    }

    .header-search,
    .mobile-search.header-search {
        width: min(620px, 100%);
        max-width: 100%;
        min-width: 0;
        min-height: 46px;
        margin-left: 0;
        padding: 7px 14px;
        padding-left: 50px;
        box-sizing: border-box;
        background: rgba(255, 255, 255, 0.84);
        box-shadow: 0 4px 14px rgba(17, 17, 19, 0.08);
        overflow: visible;
        grid-column: auto;
        justify-self: stretch;
    }

    .header-search__panel {
        display: flex;
        align-items: center;
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        min-height: 0;
        padding: 0;
        position: static;
        opacity: 1;
        pointer-events: auto;
        transform: none;
        background: transparent;
        box-shadow: none;
    }

    .header-search .mobile-search-icon,
    .header-search.is-open .mobile-search-icon {
        left: 16px;
        opacity: 1;
    }

    .header-search input,
    .header-search.is-open input {
        opacity: 1;
        width: 100%;
    }

    .header-search.is-open .header-search__toggle {
        display: none !important;
        opacity: 0;
        pointer-events: none;
    }

    .mobile-search:focus-within {
        box-shadow: 0 8px 20px rgba(17, 17, 19, 0.1);
        background: rgba(255, 255, 255, 0.9);
    }

    .mobile-search-icon {
        color: var(--placeholder-faint);
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
        width: 20px;
        height: 20px;
    }

    .mobile-search-icon svg {
        width: 19px;
        height: 19px;
        display: block;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        fill: none;
    }

    .mobile-search input {
        border: 0;
        background: transparent;
        padding: 0;
        min-height: 0;
        width: 100%;
        font-size: var(--text-subhead);
        line-height: var(--lh-subhead);
        letter-spacing: var(--track-headline);
        box-shadow: none;
        color: var(--text);
    }

    .mobile-search input::placeholder {
        color: var(--placeholder);
    }

    .mobile-search input:focus {
        box-shadow: none;
    }

    .header-nav-wrap {
        display: none;
    }

    .mobile-menu-fab {
        display: block;
        position: fixed;
        right: max(14px, env(safe-area-inset-right, 0px));
        left: auto;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        bottom: max(72px, calc(env(safe-area-inset-bottom, 0px) + 64px));
        z-index: 1000;
        transition: opacity 0.22s ease, transform 0.22s ease;
    }

    .mobile-menu-fab:has(.mobile-menu-fab-trigger[aria-expanded="true"]) {
        opacity: 0;
        pointer-events: none;
        transform: translateY(10px) translateZ(0);
        -webkit-transform: translateY(10px) translateZ(0);
    }

    body.page-feed .mobile-menu-fab {
        bottom: max(68px, calc(env(safe-area-inset-bottom, 0px) + 56px));
        right: max(10px, env(safe-area-inset-right, 0px));
    }

    body.page-article .mobile-menu-fab {
        display: none;
    }

    .scroll-top-fab {
        display: block;
        position: fixed;
        right: max(10px, env(safe-area-inset-right, 0px));
        bottom: max(92px, calc(env(safe-area-inset-bottom, 0px) + 80px));
        z-index: 1000;
        opacity: 0;
        pointer-events: none;
        transform: translateY(10px) translateZ(0);
        -webkit-transform: translateY(10px) translateZ(0);
        transition: opacity 0.28s ease, transform 0.28s ease;
    }

    body:not(.page-article) .scroll-top-fab {
        display: none;
    }

    .scroll-top-fab.is-visible {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0) translateZ(0);
        -webkit-transform: translateY(0) translateZ(0);
    }

    .mobile-menu-fab-trigger,
    .scroll-top-fab-trigger {
        border: 0;
        border-radius: 999px;
        background: var(--glass-bg-strong);
        color: var(--ui-text);
        padding: 12px 16px;
        min-height: 48px;
        font-size: var(--text-callout);
        font-weight: 600;
        letter-spacing: -0.011em;
        box-shadow: var(--glass-shadow);
        display: inline-flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        font-family: inherit;
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
        backdrop-filter: var(--glass-blur);
        -webkit-backdrop-filter: var(--glass-blur);
        transition: transform 0.16s ease, background 0.2s ease, box-shadow 0.2s ease;
    }

    .mobile-menu-fab-trigger svg,
    .scroll-top-fab-trigger svg {
        flex-shrink: 0;
    }

    .mobile-menu-fab-trigger:active,
    .scroll-top-fab-trigger:active {
        transform: scale(0.97);
    }

    .mobile-menu-fab-trigger:focus-visible,
    .scroll-top-fab-trigger:focus-visible {
        outline: 2px solid var(--primary-focus);
        outline-offset: 2px;
    }

    body.page-feed #posts.post-grid > .post-card-link .post-title,
    body.page-feed #posts.feed-rows .post-card-link .post-title {
        font-size: var(--text-title-3);
        line-height: var(--lh-title-3);
        letter-spacing: var(--track-headline);
    }

    .page-about .article-cover--avatar {
        width: min(200px, 56vw);
        max-width: 200px;
        margin: 0 auto 24px;
    }

    .mobile-menu-sheet-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: var(--sheet-scrim);
        backdrop-filter: blur(22px) saturate(1.2);
        -webkit-backdrop-filter: blur(22px) saturate(1.2);
        z-index: 1090;
    }

    .mobile-menu-sheet {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 10px 16px calc(16px + env(safe-area-inset-bottom));
        background: var(--sheet-bg);
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg);
        border: 0;
        border-top: 0.5px solid var(--sheet-border);
        box-shadow: var(--sheet-shadow);
        backdrop-filter: var(--sheet-blur);
        -webkit-backdrop-filter: var(--sheet-blur);
        z-index: 1100;
        transform: translateY(10px);
        opacity: 0;
        transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
    }

    .mobile-menu-sheet[hidden],
    .mobile-menu-sheet-backdrop[hidden] {
        display: none;
    }

    .mobile-menu-sheet:not([hidden]) {
        transform: translateY(0);
        opacity: 1;
    }

    .mobile-menu-sheet-handle {
        width: 36px;
        height: 4px;
        border-radius: 999px;
        background: var(--sheet-handle);
        margin: 0 auto 14px;
    }

    .mobile-menu-sheet-header {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin-bottom: 10px;
    }

    .mobile-menu-sheet-close {
        border: 0;
        background: var(--sheet-chrome);
        color: var(--text-icon);
        font-size: var(--text-title-2);
        line-height: 1;
        font-weight: 400;
        width: 30px;
        height: 30px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
    }

    .mobile-menu-sheet-close:active {
        background: var(--sheet-chrome-pressed);
    }

    .mobile-menu-sheet-links {
        display: grid;
        gap: 8px;
    }

    .mobile-menu-sheet-links a,
    .mobile-menu-sheet-links button {
        display: flex;
        align-items: center;
        text-decoration: none;
        color: var(--ui-text);
        background: var(--sheet-row-bg);
        box-shadow: inset 0 0 0 0.5px var(--sheet-row-stroke);
        border: 0;
        border-radius: 12px;
        padding: 0 14px;
        min-height: 44px;
        font-size: var(--text-body);
        font-weight: 500;
        letter-spacing: -0.011em;
        transition: background 0.2s ease, transform 0.16s ease;
        text-align: left;
        width: 100%;
        outline: none;
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
        box-sizing: border-box;
    }

    .mobile-menu-sheet-links a:hover,
    .mobile-menu-sheet-links button:hover {
        background: var(--sheet-row-bg-hover);
        transform: none;
    }

    .mobile-menu-sheet-links a:active,
    .mobile-menu-sheet-links button:active {
        transform: scale(0.98);
    }

    .mobile-menu-sheet-links a:focus-visible,
    .mobile-menu-sheet-links button:focus-visible,
    .mobile-menu-fab-trigger:focus-visible,
    .mobile-menu-sheet-close:focus-visible {
        outline: 2px solid var(--primary-focus);
        outline-offset: 2px;
    }

    .mobile-menu-sheet-links a.active {
        background: rgba(var(--primary-rgb), 0.08);
        color: var(--primary-emphasis);
        box-shadow: inset 0 0 0 0.5px rgba(var(--primary-rgb), 0.16);
    }

    .mobile-menu-calc-group {
        margin-top: 8px;
        padding-top: 10px;
        border-top: 1px solid var(--border-md);
        display: grid;
        gap: 4px;
    }

    .mobile-menu-calc-group .mobile-menu-utility {
        margin-top: 0;
    }

    .mobile-menu-calc-group .mobile-menu-utility::before {
        content: none;
    }

    .mobile-menu-sheet,
    .mobile-menu-sheet *,
    .protein-sheet,
    .protein-sheet *,
    .calorie-sheet,
    .calorie-sheet *,
    .consult-sheet,
    .consult-sheet * {
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
    }

    .mobile-menu-sheet button,
    .mobile-menu-sheet a,
    .protein-sheet button,
    .protein-sheet input,
    .calorie-sheet button,
    .calorie-sheet input,
    .consult-sheet button,
    .consult-sheet input:not([type="checkbox"]),
    .consult-sheet textarea {
        -webkit-appearance: none;
        appearance: none;
    }

    .consult-consent {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin: 2px 0 0;
        -webkit-user-select: none;
        user-select: none;
    }

    .consult-consent input[type="checkbox"] {
        -webkit-appearance: checkbox;
        appearance: auto;
        flex: 0 0 20px;
        width: 20px;
        height: 20px;
        min-width: 20px;
        max-width: 20px;
        margin: 1px 0 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: none;
        box-shadow: none;
        align-self: flex-start;
        accent-color: var(--primary);
        pointer-events: auto;
        cursor: pointer;
    }

    .consult-consent span {
        flex: 1 1 auto;
        min-width: 0;
        padding-top: 1px;
    }

    .consult-consent a {
        position: relative;
        z-index: 1;
        pointer-events: auto;
    }

    
    .protein-sheet-backdrop,
    .calorie-sheet-backdrop,
    .consult-sheet-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: var(--sheet-scrim);
        backdrop-filter: blur(22px) saturate(1.2);
        -webkit-backdrop-filter: blur(22px) saturate(1.2);
        z-index: 1180;
    }

    
    .protein-sheet,
    .calorie-sheet,
    .consult-sheet {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        top: auto;
        bottom: 0;
        transform: none;
        width: auto;
        padding: 10px 16px calc(16px + env(safe-area-inset-bottom));
        background: var(--sheet-bg);
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg);
        border: 0;
        border-top: 0.5px solid var(--sheet-border);
        border-bottom: 0;
        max-height: min(88vh, 760px);
        overflow: auto;
        box-shadow: var(--sheet-shadow);
        backdrop-filter: var(--sheet-blur);
        -webkit-backdrop-filter: var(--sheet-blur);
        z-index: 1190;
    }

    
    
    .protein-sheet[hidden],
    .protein-sheet-backdrop[hidden],
    .calorie-sheet[hidden],
    .calorie-sheet-backdrop[hidden],
    .consult-sheet[hidden],
    .consult-sheet-backdrop[hidden] {
        display: none;
    }

    .protein-sheet-handle,
    .calorie-sheet-handle,
    .consult-sheet-handle {
        display: block;
        width: 36px;
        height: 4px;
        border-radius: 999px;
        background: var(--sheet-handle);
        margin: 0 auto 12px;
    }

    .protein-sheet-header,
    .calorie-sheet-header,
    .consult-sheet-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
    }

    .protein-sheet-header strong,
    .calorie-sheet-header strong,
    .consult-sheet-header strong {
        font-size: var(--text-body);
        font-weight: 600;
        letter-spacing: -0.019em;
        line-height: 1.25;
        color: var(--ui-text);
    }

    .protein-sheet-close,
    .calorie-sheet-close,
    .consult-sheet-close {
        border: 0;
        border-radius: 999px;
        width: 30px;
        height: 30px;
        background: var(--sheet-chrome);
        color: var(--text-icon);
        font-size: var(--text-title-2);
        line-height: 1;
        font-weight: 400;
    }

    .protein-sheet-body,
    .calorie-sheet-body,
    .consult-sheet-body {
        display: grid;
        gap: 12px;
    }

    .protein-field-label {
        font-size: var(--text-footnote);
        color: var(--text-icon);
        font-weight: 500;
        letter-spacing: -0.006em;
    }

    .protein-weight-input {
        width: 100%;
        box-sizing: border-box;
        min-height: 44px;
        border: 0;
        border-radius: 12px;
        padding: 10px 14px;
        font-size: var(--text-body);
        line-height: 1.35;
        font-family: inherit;
        color: var(--ui-text);
        background: var(--sheet-row-bg);
        box-shadow: inset 0 0 0 0.5px var(--sheet-row-stroke);
    }

    .protein-weight-input:focus {
        outline: none;
        background: var(--sheet-row-bg-hover);
        box-shadow: inset 0 0 0 0.5px var(--primary-ring-stroke), 0 0 0 4px var(--primary-ring);
    }

    .protein-weight-input::placeholder {
        color: var(--placeholder-faint);
    }

    .protein-weight-input::-webkit-outer-spin-button,
    .protein-weight-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    .protein-weight-input[type="number"] {
        appearance: textfield;
        -moz-appearance: textfield;
    }

    .protein-mode-row {
        display: flex;
        padding: 2px;
        gap: 0;
        border-radius: 12px;
        background: rgba(var(--ink-rgb), 0.04);
        box-shadow: inset 0 0 0 0.5px var(--sheet-row-stroke);
    }

    .protein-mode-btn {
        flex: 1;
        border: 0;
        border-radius: 8px;
        margin: 0;
        background: transparent;
        color: var(--ui-text-muted);
        font-size: var(--text-subhead);
        font-weight: 500;
        letter-spacing: -0.011em;
        min-height: 40px;
        -webkit-tap-highlight-color: transparent;
        tap-highlight-color: transparent;
        transition: transform 0.16s ease, background 0.2s ease, box-shadow 0.2s ease;
    }

    .mobile-menu-fab-trigger:active,
    .mobile-menu-sheet-close:active,
    .protein-sheet-close:active,
    .calorie-sheet-close:active,
    .consult-sheet-close:active,
    .protein-mode-btn:active {
        transform: scale(0.97);
    }

    .calc-result-hint {
        font-size: var(--text-subhead);
        line-height: 1.5;
    }

    .protein-mode-btn.is-active {
        background: rgba(255, 255, 255, 0.92);
        color: var(--ui-text-strong);
        box-shadow: 0 1px 2px rgba(var(--ink-rgb), 0.06), 0 0 0 0.5px rgba(var(--ink-rgb), 0.04);
    }

    .protein-mode-btn.is-active::after {
        content: none;
    }

    .protein-result {
        margin: 0;
        font-size: var(--text-subhead);
        line-height: 1.45;
        color: var(--text-icon);
        font-weight: 400;
        letter-spacing: -0.011em;
    }

    .protein-result.is-calculated {
        color: var(--ui-text);
        font-weight: 600;
        font-size: var(--text-body);
    }

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

    .feed-rows {
        gap: 22px;
    }

    .feed-row--articles {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .feed-row--myths {
        margin-inline: -4px;
    }

    .feed-row--myths .feed-myths-track {
        display: flex;
        gap: 14px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 2px 4px 10px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .feed-row--myths .feed-myths-track::-webkit-scrollbar {
        display: none;
    }

    .feed-row--myths .feed-myths-track > .myth-card {
        flex: 0 0 85%;
        width: 85%;
        max-width: 85%;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .card {
        background: var(--card-bg);
        border: 0;
        box-shadow: var(--card-shadow);
        backdrop-filter: var(--glass-blur);
        -webkit-backdrop-filter: var(--glass-blur);
    }

    body.page-feed #posts.post-grid > .post-card-link.card,
    body.page-feed #posts.feed-rows .post-card-link.card {
        background: var(--card-bg);
        box-shadow: var(--card-shadow);
    }

    body.page-feed #posts.post-grid > .myth-card .myth-card-front,
    body.page-feed #posts.post-grid > .myth-card .myth-card-back,
    body.page-feed #posts.feed-rows .myth-card .myth-card-front,
    body.page-feed #posts.feed-rows .myth-card .myth-card-back {
        background: var(--card-bg);
        box-shadow: var(--card-shadow);
    }

    /* Hero: те же пропорции, что на desktop (см. --hero-* в styles.css) */

    /* Во встроенных браузерах 3D-flip даёт артефакты; переключаем грани без rotateY */
    .myth-card {
        perspective: none;
        -webkit-perspective: none;
        height: auto;
        align-self: start;
    }

    .post-grid > .myth-card,
    .post-grid > .myth-card .myth-card-inner,
    .post-grid > .myth-card .myth-card-front,
    .post-grid > .myth-card .myth-card-back,
    .feed-myths-track > .myth-card,
    .feed-myths-track > .myth-card .myth-card-inner,
    .feed-myths-track > .myth-card .myth-card-front,
    .feed-myths-track > .myth-card .myth-card-back {
        min-height: 0;
    }

    .myth-card-inner {
        display: block;
        transform-style: flat;
        -webkit-transform-style: flat;
        transition: none;
        -webkit-transition: none;
    }

    .myth-card.is-flipped .myth-card-inner {
        transform: none;
        -webkit-transform: none;
    }

    .myth-card-front,
    .myth-card-back {
        position: relative;
        transform: none;
        -webkit-transform: none;
        backface-visibility: visible;
        -webkit-backface-visibility: visible;
        width: 100%;
    }

    .myth-card-front.has-cover {
        display: block;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .myth-card-back {
        display: none;
    }

    .myth-card.is-flipped .myth-card-front {
        display: none;
    }

    .myth-card.is-flipped .myth-card-back {
        display: flex;
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: visible;
    }

    .myth-card.is-flipped {
        position: relative;
        z-index: 2;
    }

    .myth-card.is-flipped .myth-card-inner {
        height: auto;
        aspect-ratio: auto;
    }

    .myth-card.is-flipped .myth-card-back-content {
        flex: 1 1 auto;
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: visible;
    }

    .myth-card.is-flipped .myth-card-back .myth-content {
        flex: none;
        min-height: 0;
        overflow: visible;
    }

    .myth-card-back-content {
        border-top: 0.5px solid var(--sheet-border);
    }

    .myth-card-back-question {
        -webkit-line-clamp: 4;
    }

    .myth-card-front .post-title,
    .post-title {
        overflow-wrap: anywhere;
        max-width: 100%;
    }

    .post-card-link {
        min-width: 0;
    }

    .post-card-content {
        min-width: 0;
    }

    body.admin-app .admin-shell {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 100%;
        max-width: 100%;
        padding-left: max(14px, env(safe-area-inset-left, 0px));
        padding-right: max(14px, env(safe-area-inset-right, 0px));
        padding-bottom: max(56px, calc(env(safe-area-inset-bottom, 0px) + 36px));
    }

    body.admin-app .admin-editor {
        margin-bottom: 0;
    }

    body.admin-app .admin-shell > .card {
        padding: 18px 16px 20px;
        border-radius: 18px;
    }

    body.admin-app .admin-shell > .card > h3 {
        margin: 0 0 12px;
    }

    body.admin-app .admin-search-form__row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.admin-app .admin-search-form__row input[type="search"] {
        grid-column: 1 / -1;
        width: 100%;
    }

    body.admin-app .admin-search-form__row > .link-btn,
    body.admin-app .admin-search-form__row > a.link-btn {
        width: 100%;
        min-height: 44px;
        justify-content: center;
    }

    body.admin-app .admin-search-form__row > .link-btn:nth-child(2):nth-last-child(1) {
        grid-column: 1 / -1;
    }

    body.admin-app .post-admin-list {
        gap: 14px;
    }

    body.admin-app.admin-login-mode .admin-shell {
        min-height: calc(100dvh - 32px);
        min-height: calc(100vh - 32px);
    }

    body.admin-app .admin-login {
        padding: 26px 22px 24px;
    }

    body.admin-app .admin-top {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 10px;
        padding: 12px 14px;
    }

    body.admin-app .admin-top__intro {
        flex: 0 0 auto;
        min-width: 0;
        width: 100%;
        align-items: baseline;
        gap: 8px 10px;
    }

    body.admin-app .admin-top__intro .hint {
        margin: 0;
        max-width: none;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.admin-app .admin-top__nav {
        width: 100%;
        margin-left: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    body.admin-app .admin-segment {
        width: 100%;
        min-width: 0;
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 2px;
    }

    body.admin-app .admin-segment__item {
        grid-column: span 2;
        min-height: 42px;
        padding: 10px 8px;
        font-size: 13px;
    }

    body.admin-app .admin-top__utils {
        width: 100%;
        justify-content: stretch;
        gap: 4px;
        padding: 3px;
    }

    body.admin-app .admin-util-link {
        flex: 1 1 0;
        min-height: 36px;
        padding: 8px 10px;
        font-size: 13px;
    }

    body.admin-app .media-pickers {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        position: static;
        padding: 10px 12px;
    }

    body.admin-app .media-group {
        display: contents;
    }

    body.admin-app .media-group + .media-group {
        border-left: 0;
        padding-left: 0;
    }

    body.admin-app .media-pickers .media-picker.media-picker-wide:last-child {
        grid-column: 1 / -1;
    }

    body.admin-app .media-picker.media-picker-wide {
        width: 100%;
        min-width: 0;
        max-width: none;
        height: auto;
        min-height: 44px;
        padding: 8px 10px;
        font-size: var(--text-subhead);
        justify-content: center;
        text-align: center;
    }

    body.admin-app .slug-field-row {
        grid-template-columns: 1fr;
    }

    body.admin-app .slug-refresh-btn {
        width: 100%;
    }

    body.admin-app .admin-editor > form > .card {
        padding: 20px 16px 22px;
    }

    body.admin-app .post-admin-row {
        gap: 12px;
        padding: 14px;
    }

    body.admin-app .post-admin-row .actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
        margin-top: 12px;
        margin-left: 0;
        padding-left: 0;
        padding-top: 14px;
        border-left: 0;
        border-top: 1px solid var(--border-xl);
    }

    body.admin-app .post-admin-row .actions .link-btn,
    body.admin-app .post-admin-row .actions .badge,
    body.admin-app .post-admin-row .actions form {
        width: 100%;
        min-width: 0;
        margin: 0;
        box-sizing: border-box;
    }

    body.admin-app .post-admin-row .actions .badge {
        white-space: normal;
        text-align: center;
        line-height: 1.25;
        min-height: 44px;
        padding: 8px 10px;
    }

    body.admin-app .post-admin-row .actions .link-btn {
        justify-content: center;
        white-space: normal;
        min-height: 44px;
        padding: 8px 12px;
        font-size: var(--text-footnote);
    }

    body.admin-app .post-admin-row .actions form {
        display: flex;
    }

    body.admin-app .post-admin-row .actions form .link-btn {
        width: 100%;
    }

    body.admin-app .admin-editor .form-row > .admin-primary-btn {
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    body.page-feed,
    body.page-about {
        padding-bottom: var(--mobile-footer-fab-clearance);
    }

    .site-footer {
        flex-shrink: 0;
        margin-top: 24px;
        padding: 24px 0 20px;
        background: #fdfcfc;
        border-top: 1px solid var(--border);
    }

    .footer-container {
        display: flex;
        flex-direction: column;
        gap: 0;
        text-align: left;
    }

    .footer-brand,
    .footer-aside {
        display: contents;
    }

    .footer-brand .logo.logo--with-mark {
        order: 1;
        justify-content: flex-start;
        width: 100%;
    }

    .footer-brand .footer-tagline {
        order: 2;
        margin: 8px 0 0;
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        color: var(--muted);
        font-size: var(--text-footnote);
        font-weight: var(--weight-regular);
        letter-spacing: var(--track-footnote);
        line-height: var(--lh-footnote);
        font-synthesis: none;
    }

    .footer-nav--tools {
        order: 3;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-top: 14px;
        width: 100%;
    }

    .footer-disclaimer {
        order: 4;
        margin: 14px 0 0;
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        color: var(--muted);
        font-size: var(--text-footnote);
        font-weight: var(--weight-regular);
        letter-spacing: var(--track-footnote);
        line-height: var(--lh-footnote);
        font-synthesis: none;
    }

    .footer-social {
        order: 5;
        margin: 10px 0 0;
        width: 100%;
    }

    .footer-social .social-links {
        justify-content: flex-start;
    }

    .footer-meta {
        order: 6;
        margin: 10px 0 0;
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        color: var(--muted);
        font-size: var(--text-footnote);
        font-weight: var(--weight-regular);
        letter-spacing: var(--track-footnote);
        line-height: var(--lh-footnote);
        font-synthesis: none;
    }

    .footer-legal {
        order: 7;
        margin: 6px 0 0;
    }

    .footer-legal a {
        font-size: var(--text-footnote);
        line-height: var(--lh-footnote);
    }

    .footer-nav:not(.footer-nav--tools) {
        display: none;
    }

    body.page-services .container,
    body.page-privacy .container {
        flex: 0 0 auto;
        padding-bottom: 8px;
    }

    body.page-services .services-page {
        padding-bottom: 8px;
    }

    body.page-services .services-disclaimer {
        margin-top: 18px;
        padding-top: 14px;
    }

    body.page-services .services-disclaimer p {
        margin-bottom: 6px;
    }

    body.page-services .services-disclaimer p:last-child,
    body.page-services .services-disclaimer__contact {
        margin-bottom: 0;
    }

    body.page-services .site-footer,
    body.page-privacy .site-footer {
        margin-top: 12px;
    }

    .post-content {
        font-size: var(--text-body);
        line-height: var(--lh-body);
    }
}

@media (max-width: 480px) {
    .mobile-search {
        padding: 7px 12px;
        padding-left: 46px;
        padding-right: 12px;
        min-height: 44px;
    }

    .mobile-search input {
        font-size: var(--text-subhead);
    }

    .post-title {
        font-size: var(--text-title-2);
        line-height: var(--lh-title-2);
        letter-spacing: var(--track-headline);
    }

    .post-content {
        font-size: var(--text-body);
        line-height: var(--lh-body);
    }

    .editor-table-toolbar button {
        min-height: 44px;
    }

    .post-table th,
    .post-table td,
    .rich-editor-table th,
    .rich-editor-table td {
        padding: 10px 12px;
    }

    .stories-rail {
        margin: -12px 0 20px;
        justify-content: flex-start;
    }

    .stories-rail__track {
        margin: 0;
        width: 100%;
        max-width: none;
        gap: 14px;
        padding-left: 2px;
        justify-content: flex-start;
    }

    .stories-viewer {
        padding: 0;
        place-items: stretch;
    }

    .stories-viewer__panel {
        width: 100%;
        height: 100%;
        max-height: none;
        border-radius: 0;
        box-shadow: none;
    }

    .stories-viewer__footer {
        padding-bottom: max(18px, env(safe-area-inset-bottom, 0px));
    }

    .stories-viewer__chrome {
        padding-top: max(8px, env(safe-area-inset-top, 0px));
    }
}
