:root {
            --accent-green: #2B6D3C;
            --accent-green-hover: #266035;
            --text-main: #363636;
            --text-secondary: #6B7280;
            --bg-white: #FFFFFF;
            --bg-soft: #F8F9FA;
            --border: #F3F4F6;
            --radius-card: 24px;
            --radius-button: 12px;
            --container: 1280px;
            --shadow-float: 0 10px 40px rgba(0, 0, 0, 0.08);
            --transition: 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
        }

        /* Reset */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        html, body { overflow-x: hidden; width: 100%; position: relative; scroll-behavior: smooth; }
        body {
            font-family: 'Inter', sans-serif;
            line-height: 1.6;
            color: var(--text-main);
            background: var(--bg-white);
            -webkit-font-smoothing: antialiased;
        }

        h1, h2, h3 { font-family: 'Montserrat', sans-serif; font-weight: 700; color: var(--text-main); }
        h2 {
            font-size: 2.8rem;
            margin-bottom: 40px;
            line-height: 1.2;
            text-align: center;
        }
        .container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }
        .section { padding: 80px 0; }

        /* Breadcrumbs */
        .breadcrumbs { padding: 140px 0 20px; }
        .breadcrumbs ul { list-style: none; display: flex; gap: 10px; font-size: 0.9rem; color: var(--text-secondary); }
        .breadcrumbs li::after { content: '/'; margin-left: 10px; opacity: 0.5; }
        .breadcrumbs li:last-child::after { content: ''; }
        .breadcrumbs a { color: inherit; text-decoration: none; transition: 0.3s; }
        .breadcrumbs a:hover { color: var(--accent-green); }

        /* Catalog Title */
        .page-header { margin-bottom: 40px; }
        .page-header h1 { font-size: 3.5rem; letter-spacing: -0.02em; margin-bottom: 12px; }
        .page-header p { font-size: 1.1rem; color: var(--text-secondary); max-width: 800px; }

        /* Catalog Layout */
        .catalog-layout { display: flex; gap: 84px; margin-bottom: 100px; }
        .catalog-sidebar { width: 280px; flex-shrink: 0; position: relative; }
        .catalog-main { flex: 1; min-width: 0; }

        /* Mobile filter disclosure */
        .catalog-mobile-filter-bar {
            display: none;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin: -12px 0 24px;
        }
        .catalog-mobile-filter-toggle {
            min-height: 48px;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            border: 1px solid rgba(43, 109, 60, 0.14);
            border-radius: 14px;
            padding: 0 16px;
            background: #fff;
            color: var(--text-main);
            font-family: 'Montserrat', sans-serif;
            font-size: 0.96rem;
            font-weight: 800;
            box-shadow: 0 12px 28px rgba(17, 31, 43, 0.08);
            cursor: pointer;
            transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
        }
        .catalog-mobile-filter-toggle:hover,
        .catalog-mobile-filter-toggle:focus-visible {
            border-color: rgba(43, 109, 60, 0.34);
            box-shadow: 0 14px 32px rgba(43, 109, 60, 0.12);
        }
        .catalog-mobile-filter-toggle:active { transform: translateY(1px); }
        .catalog-mobile-filter-toggle svg {
            width: 20px;
            height: 20px;
            color: var(--accent-green);
            flex: 0 0 auto;
        }
        .catalog-mobile-filter-toggle-count {
            min-width: 24px;
            height: 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            padding: 0 7px;
            background: rgba(43, 109, 60, 0.1);
            color: var(--accent-green);
            font-size: 0.78rem;
            font-weight: 900;
        }
        .catalog-mobile-filter-toggle-count[hidden] { display: none; }
        .catalog-mobile-result {
            color: var(--text-secondary);
            font-size: 0.9rem;
            font-weight: 600;
            white-space: nowrap;
        }
        .catalog-mobile-result span {
            color: var(--text-main);
            font-weight: 800;
        }
        .catalog-mobile-filter-panel-head { display: none; }
        .catalog-mobile-filter-lock { overflow: hidden; }

        /* Filters Sidebar */
        .filter-group { margin-bottom: 32px; border-bottom: 1px solid var(--border); padding-bottom: 24px; }
        .filter-group:last-child { border-bottom: none; }
        .filter-label { font-family: 'Montserrat'; font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 20px; display: block; color: var(--text-main); }
        
        .filter-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
        .filter-item { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 0.95rem; color: var(--text-secondary); transition: 0.3s; }
        .filter-item:hover { color: var(--accent-green); }
        .filter-item input { width: 18px; height: 18px; border: 2px solid #ddd; border-radius: 4px; cursor: pointer; accent-color: var(--accent-green); }
        .filter-item span { flex: 1; }
        .filter-count { font-size: 0.8rem; opacity: 0.5; }
        .catalog-filter-root { display: grid; gap: 0; }
        .filter-section { border-bottom: 1px solid var(--border); padding: 0 0 24px; margin-bottom: 24px; }
        .filter-section[open] .filter-section__chevron { transform: rotate(180deg); }
        .filter-section__summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
        .filter-section__summary::-webkit-details-marker { display: none; }
        .filter-section__title { font-family: 'Montserrat'; font-weight: 800; font-size: 0.9rem; letter-spacing: 0.02em; color: var(--text-main); display: inline-flex; align-items: center; gap: 12px; }
        .filter-section__icon {
            width: 28px;
            height: 28px;
            padding: 6px;
            border: 1px solid rgba(43, 109, 60, 0.16);
            border-radius: 8px;
            background: linear-gradient(180deg, #f1f8f3 0%, #e6f0e9 100%);
            color: var(--accent-green);
            box-shadow: 0 8px 18px rgba(43, 109, 60, 0.08);
            box-sizing: border-box;
            flex: 0 0 28px;
        }
        .filter-section__chevron { width: 18px; height: 18px; transition: transform .2s ease; color: var(--text-main); flex: 0 0 auto; }
        .filter-options { display: grid; grid-template-columns: 1fr; gap: 7px; padding: 4px 2px 2px; }
        .filter-options.is-scrollable {
            max-height: 320px;
            overflow-y: auto;
            padding-right: 8px;
            scrollbar-width: thin;
            scrollbar-color: rgba(43, 109, 60, 0.52) #eef3ef;
        }
        .filter-options.is-scrollable::-webkit-scrollbar { width: 8px; }
        .filter-options.is-scrollable::-webkit-scrollbar-track { background: #eef3ef; border-radius: 999px; }
        .filter-options.is-scrollable::-webkit-scrollbar-thumb { background: rgba(43, 109, 60, 0.55); border-radius: 999px; }
        .filter-options.is-scrollable::-webkit-scrollbar-thumb:hover { background: var(--accent-green); }
        .filter-option {
            min-width: 0;
            display: flex;
            align-items: center;
            gap: 10px;
            color: var(--text-main);
            font-size: 0.93rem;
            line-height: 1.25;
            cursor: pointer;
            border: 1px solid transparent;
            border-radius: 9px;
            padding: 8px 10px;
            width: 100%;
            transition: background .18s ease, color .18s ease, transform .18s ease;
        }
        .filter-option:hover {
            background: rgba(43, 109, 60, 0.08);
            border-color: rgba(43, 109, 60, 0.12);
            color: var(--accent-green);
            transform: translateX(2px);
        }
        .filter-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent-green); flex: 0 0 auto; transition: box-shadow .18s ease, transform .18s ease; }
        .filter-option:hover input:not(:disabled) { box-shadow: 0 0 0 4px rgba(43, 109, 60, 0.12); transform: scale(1.04); }
        .filter-option input:disabled + span { color: #aeb6c0; }
        .filter-option__label { min-width: 0; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
        .filter-option__count { color: #8fa0ad; font-size: 0.82rem; line-height: 1; padding: 3px 7px; border-radius: 999px; background: #f1f5f3; transition: color .18s ease, background .18s ease; }
        .filter-option:hover .filter-option__count { color: var(--accent-green); }
        .filter-option.is-checked,
        .filter-option:has(input:checked) {
            background: rgba(43, 109, 60, 0.1);
            border-color: rgba(43, 109, 60, 0.16);
            color: var(--accent-green);
            font-weight: 700;
        }
        .filter-option.is-checked .filter-option__count,
        .filter-option:has(input:checked) .filter-option__count {
            background: rgba(43, 109, 60, 0.12);
            color: var(--accent-green);
        }
        .filter-range-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 12px; }
        .filter-number { display: grid; grid-template-columns: 40px minmax(0, 1fr); border: 1px solid #cfd6dc; border-radius: 4px; overflow: hidden; background: #fff; min-height: 42px; }
        .filter-number span { display: flex; align-items: center; justify-content: center; color: #aeb6c0; border-right: 1px solid #cfd6dc; font-size: 0.86rem; }
        .filter-number input { width: 100%; min-width: 0; border: 0; padding: 0 10px; font: inherit; color: var(--text-main); outline: none; }
        .filter-range-labels { display: flex; justify-content: space-between; color: #aeb6c0; font-size: 0.82rem; margin-bottom: 2px; }
        .catalog-filter-root:not(.show-extra) .filter-section.is-extra { display: none; }
        .catalog-filter-root:not(.show-extra) .filter-option.is-extra { display: none; }
        .filter-extra-toggle {
            width: 100%;
            border: 0;
            border-top: 1px solid var(--border);
            background: transparent;
            color: var(--accent-green);
            padding: 14px 0 18px;
            margin: -2px 0 10px;
            font: inherit;
            font-weight: 700;
            font-size: 0.86rem;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }
        .filter-extra-toggle svg { width: 16px; height: 16px; transition: transform .2s ease; }
        .catalog-filter-root.show-extra .filter-extra-toggle svg { transform: rotate(180deg); }
        @media (max-width: 1100px) { .filter-options { grid-template-columns: 1fr; } }

        /* Range Slider Styling */
        .range-slider { width: 100%; margin: 15px 0; }
        .range-values { display: flex; justify-content: space-between; font-size: 0.85rem; color: var(--text-secondary); font-weight: 600; }
        .range-dual {
            position: relative;
            height: 28px;
            margin-top: 10px;
        }
        .range-dual__track,
        .range-dual__fill {
            position: absolute;
            left: 0;
            right: 0;
            top: 50%;
            height: 8px;
            transform: translateY(-50%);
            border-radius: 999px;
            pointer-events: none;
        }
        .range-dual__track { background: #e2e8ec; }
        .range-dual__fill {
            left: 0;
            right: auto;
            width: 100%;
            background: linear-gradient(to right, #8fbd9b 0%, var(--accent-green) 100%);
        }
        .range-dual .range-input {
            position: absolute;
            left: 0;
            right: 0;
            top: 50%;
            width: 100%;
            margin: 0;
            transform: translateY(-50%);
            -webkit-appearance: none;
            appearance: none;
            background: transparent;
            pointer-events: none;
        }
        .range-dual .range-input::-webkit-slider-runnable-track {
            height: 8px;
            background: transparent;
            border: none;
        }
        .range-dual .range-input::-moz-range-track {
            height: 8px;
            background: transparent;
            border: none;
        }
        .range-dual .range-input::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            border: 2px solid #fff;
            background: var(--accent-green);
            box-shadow: 0 4px 12px rgba(43, 109, 60, 0.28);
            cursor: pointer;
            pointer-events: auto;
            margin-top: -6px;
        }
        .range-dual .range-input:first-of-type::-webkit-slider-thumb {
            background: var(--min-thumb-color, #9cc7a7);
        }
        .range-dual .range-input::-moz-range-thumb {
            width: 20px;
            height: 20px;
            border-radius: 50%;
            border: 2px solid #fff;
            background: var(--accent-green);
            box-shadow: 0 4px 12px rgba(43, 109, 60, 0.28);
            cursor: pointer;
            pointer-events: auto;
        }
        .range-dual .range-input:first-of-type::-moz-range-thumb {
            background: var(--min-thumb-color, #9cc7a7);
        }
        .filter-actions { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
        .show-proj, .clear-filters, .save-selection-btn, .show-proj-float {
            border: none;
            border-radius: 12px;
            padding: 12px 14px;
            font-weight: 700;
            cursor: pointer;
            transition: 0.25s;
            font-family: inherit;
        }
        .show-proj {
            background: var(--accent-green);
            color: #fff;
        }
        .show-proj:hover { background: var(--accent-green-hover); }
        .clear-filters {
            background: #f2f4f5;
            color: var(--text-main);
        }
        .clear-filters:hover { background: #e8ecee; }
        .save-selection-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background: #fff;
            color: var(--accent-green);
            border: 1px solid rgba(35, 107, 72, 0.22);
            box-shadow: 0 10px 24px rgba(35, 107, 72, 0.08);
        }
        .save-selection-btn:hover {
            background: rgba(35, 107, 72, 0.07);
            border-color: rgba(35, 107, 72, 0.34);
            transform: translateY(-1px);
        }
        .save-selection-btn svg {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
        }
        .catalog-topbar .save-selection-btn {
            min-height: 40px;
            padding: 0 14px;
            white-space: nowrap;
            flex: 0 0 auto;
            font-size: 0.82rem;
        }
        .max-selection-overlay {
            position: fixed;
            inset: 0;
            z-index: 1001;
            background: rgba(14, 18, 16, 0.34);
            backdrop-filter: blur(14px) saturate(1.08);
            -webkit-backdrop-filter: blur(14px) saturate(1.08);
            opacity: 0;
            visibility: hidden;
            transition: 0.25s ease;
        }
        .max-selection-overlay.active {
            opacity: 1;
            visibility: visible;
        }
        .max-selection-modal {
            position: fixed;
            left: 50%;
            top: 50%;
            z-index: 1002;
            width: min(470px, calc(100vw - 32px));
            transform: translate(-50%, calc(-50% + 18px)) scale(0.98);
            opacity: 0;
            visibility: hidden;
            overflow: hidden;
            background:
                linear-gradient(155deg, rgba(255,255,255,.78), rgba(255,255,255,.52) 48%, rgba(239,246,241,.48)),
                radial-gradient(circle at 14% 0%, rgba(255,255,255,.82), transparent 32%),
                radial-gradient(circle at 94% 18%, rgba(176,138,79,.18), transparent 30%);
            border: 1px solid rgba(255,255,255,.68);
            border-radius: 34px;
            padding: 28px;
            box-shadow:
                0 38px 120px rgba(9, 23, 18, .34),
                inset 0 1px 0 rgba(255,255,255,.92),
                inset 0 -1px 0 rgba(255,255,255,.28);
            backdrop-filter: blur(30px) saturate(1.28);
            -webkit-backdrop-filter: blur(30px) saturate(1.28);
            transition: 0.28s ease;
        }
        .max-selection-modal::before {
            content: '';
            position: absolute;
            inset: 1px 1px auto;
            height: 112px;
            border-radius: 32px 32px 46px 46px;
            background: linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,0));
            pointer-events: none;
        }
        .max-selection-modal::after {
            content: '';
            position: absolute;
            right: -54px;
            bottom: -72px;
            width: 190px;
            height: 190px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(35,107,72,.18), transparent 64%);
            pointer-events: none;
        }
        .max-selection-modal.active {
            transform: translate(-50%, -50%) scale(1);
            opacity: 1;
            visibility: visible;
        }
        .max-selection-close {
            position: absolute;
            top: 16px;
            right: 16px;
            z-index: 2;
            width: 42px;
            height: 42px;
            border: 1px solid rgba(255,255,255,.68);
            border-radius: 50%;
            background: rgba(255,255,255,.48);
            color: rgba(21,35,29,.72);
            cursor: pointer;
            display: grid;
            place-items: center;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
            transition: var(--transition);
        }
        .max-selection-close:hover {
            background: rgba(255,255,255,.72);
            color: var(--accent-green);
        }
        .max-selection-modal__badge {
            position: relative;
            z-index: 1;
            width: 52px;
            height: 52px;
            border-radius: 18px;
            display: grid;
            place-items: center;
            background:
                linear-gradient(145deg, rgba(255,255,255,.72), rgba(222,239,228,.54)),
                rgba(255,255,255,.36);
            border: 1px solid rgba(255,255,255,.74);
            color: var(--accent-green);
            margin: 0 auto 22px;
            box-shadow: 0 16px 38px rgba(35,107,72,.16), inset 0 1px 0 rgba(255,255,255,.9);
        }
        .max-selection-modal .max-selection-title {
            position: relative;
            z-index: 1;
            font-family: 'Montserrat', sans-serif;
            font-size: clamp(2rem, 6vw, 2.28rem);
            margin: 0 46px 10px;
            line-height: 1.05;
            letter-spacing: 0;
            color: #15231d;
            text-align: center;
            white-space: nowrap;
        }
        .max-selection-modal p {
            position: relative;
            z-index: 1;
            margin: 0 auto;
            max-width: 360px;
            color: rgba(21,35,29,.68);
            line-height: 1.5;
            font-size: 1rem;
            text-align: center;
        }
        .max-selection-summary {
            position: relative;
            z-index: 1;
            margin: 24px 0;
            padding: 18px;
            border-radius: 24px;
            background: rgba(255,255,255,.42);
            border: 1px solid rgba(255,255,255,.66);
            box-shadow: inset 0 1px 0 rgba(255,255,255,.76), 0 18px 50px rgba(17,31,43,.08);
        }
        .max-selection-summary strong {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 14px;
            color: #15231d;
            font-size: 1.08rem;
        }
        .max-selection-summary strong::after {
            content: 'готово';
            flex: 0 0 auto;
            border-radius: 999px;
            padding: 7px 11px;
            color: #15523a;
            background: rgba(35,107,72,.11);
            font-size: .76rem;
            font-weight: 900;
            letter-spacing: .08em;
            text-transform: uppercase;
        }
        .max-selection-summary ul {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 0;
            padding: 0;
            list-style: none;
            color: rgba(21,35,29,.78);
            line-height: 1.4;
            font-size: 0.92rem;
        }
        .max-selection-summary li + li {
            margin-top: 0;
        }
        .max-selection-summary li {
            border-radius: 999px;
            padding: 9px 12px;
            background: rgba(255,255,255,.5);
            border: 1px solid rgba(255,255,255,.66);
            box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
        }
        .max-selection-actions {
            position: relative;
            z-index: 1;
            display: block;
        }
        .max-selection-link,
        .max-selection-copy {
            min-height: 58px;
            border-radius: 18px;
            border: none;
            font-family: inherit;
            font-weight: 900;
            cursor: pointer;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: var(--transition);
        }
        .max-selection-link {
            width: 100%;
            background:
                linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0)),
                linear-gradient(135deg, #2f7d4e, #195f3f);
            color: #fff;
            padding: 0 24px;
            box-shadow: 0 18px 40px rgba(25,95,63,.28), inset 0 1px 0 rgba(255,255,255,.32);
        }
        .max-selection-link:hover {
            background:
                linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0)),
                linear-gradient(135deg, #348b56, #176044);
            transform: translateY(-2px);
        }
        .max-selection-copy {
            display: none;
            background: #f2f4f5;
            color: var(--text-main);
            padding: 0 16px;
        }
        .max-selection-copy:hover {
            background: #e7ece9;
            color: var(--accent-green);
        }
        @media (max-width: 640px) {
            .max-selection-modal {
                width: calc(100vw - 28px);
                padding: 24px 18px 18px;
                border-radius: 28px;
            }
            .max-selection-modal .max-selection-title {
                font-size: clamp(1.66rem, 7vw, 1.86rem);
                margin-left: 36px;
                margin-right: 36px;
            }
            .max-selection-modal p {
                max-width: 290px;
                font-size: .96rem;
            }
            .max-selection-summary {
                margin: 20px 0;
                padding: 15px;
                border-radius: 22px;
            }
            .max-selection-summary ul {
                gap: 8px;
            }
            .max-selection-summary li {
                font-size: .86rem;
            }
            .max-selection-summary strong {
                font-size: 1rem;
            }
        }
        .show-proj-float {
            position: absolute;
            right: -190px;
            top: 120px;
            z-index: 15;
            display: none;
            align-items: center;
            gap: 8px;
            white-space: nowrap;
            background: #1f6f3e;
            color: #fff;
            box-shadow: 0 14px 35px rgba(31, 111, 62, 0.25);
        }
        .show-proj-float .label { opacity: 0.95; }
        .show-proj-float strong { font-weight: 800; }
        .sidebar-articles {
            margin-top: 88px;
            padding-top: 68px;
            border-top: 1px solid var(--border);
            display: flex;
            flex-direction: column;
            gap: 16px;
        }
        .sidebar-articles__title {
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 1.2px;
            color: var(--text-main);
            margin-bottom: 2px;
        }
        .sidebar-articles__list {
            display: flex;
            flex-direction: column;
            gap: 81px;
        }
        .sidebar-article-card {
            display: flex;
            flex-direction: column;
            text-decoration: none;
            color: inherit;
            background: #fff;
            border: 1px solid var(--border);
            border-radius: 18px;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
        }
        .sidebar-article-card:hover {
            border-color: rgba(43, 109, 60, 0.45);
            transform: translateY(-4px);
            box-shadow: 0 20px 30px rgba(0, 0, 0, 0.08);
        }
        .sidebar-article-card__image {
            display: block;
            width: 100%;
            aspect-ratio: 16 / 9;
            overflow: hidden;
            background: #f2f4f5;
        }
        .sidebar-article-card__image img,
        .sidebar-article-card__image video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .5s ease;
        }
        .sidebar-article-card:hover .sidebar-article-card__image img,
        .sidebar-article-card:hover .sidebar-article-card__image video { transform: scale(1.04); }
        .sidebar-article-card__fallback { display: none; }
        @media (prefers-reduced-motion: reduce) {
            .sidebar-article-card__image video { display: none; }
            .sidebar-article-card__fallback { display: block; }
        }
        .sidebar-article-card__body {
            padding: 14px 14px 16px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .sidebar-article-card__date {
            display: block;
            font-size: 0.74rem;
            font-weight: 600;
            color: var(--text-secondary);
            letter-spacing: .03em;
        }
        .sidebar-article-card__title {
            display: block;
            font-size: 1rem;
            line-height: 1.32;
            font-weight: 700;
            color: var(--text-main);
        }
        .sidebar-article-card__excerpt {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            font-size: 0.84rem;
            line-height: 1.5;
            color: var(--text-secondary);
            min-height: 3.8em;
        }
        .sidebar-article-card__btn {
            margin-top: 2px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--accent-green);
            color: var(--accent-green);
            border-radius: 10px;
            height: 36px;
            font-size: 0.78rem;
            font-weight: 700;
            transition: .25s;
        }
        .sidebar-article-card:hover .sidebar-article-card__btn {
            background: var(--accent-green);
            color: #fff;
        }

        /* Topbar Filters */
        .catalog-topbar { 
            display: flex; justify-content: flex-start; align-items: center; column-gap: 10px; row-gap: 10px;
            flex-wrap: wrap;
            margin-bottom: 30px; padding: 20px 0; border-bottom: 1px solid var(--border);
        }
        .results-count {
            display: inline-flex;
            align-items: baseline;
            gap: 5px;
            flex: 0 0 100%;
            min-width: 0;
            font-size: 0.95rem;
            color: var(--text-secondary);
            white-space: nowrap;
        }
        .results-count span { font-weight: 700; color: var(--text-main); }
        .catalog-actions {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            flex: 0 0 auto;
        }
        .catalog-action-link {
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            height: 40px;
            padding: 0 14px;
            min-width: 0;
            border-radius: 999px;
            border: 1px solid #dbe3e7;
            background: #fff;
            color: var(--text-main);
            text-decoration: none;
            font-size: 0.82rem;
            font-weight: 600;
            transition: .2s ease;
        }
        .catalog-action-link:hover {
            border-color: rgba(43, 109, 60, 0.6);
            color: var(--accent-green);
            transform: translateY(-1px);
        }
        .catalog-action-link .count {
            min-width: 22px;
            height: 22px;
            padding: 0 6px;
            border-radius: 999px;
            background: #edf2ef;
            color: var(--accent-green);
            font-size: 0.74rem;
            font-weight: 800;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
        .catalog-filter-summary {
            margin: -8px 0 22px;
            padding: 16px 18px;
            border: 1px solid rgba(43, 109, 60, 0.13);
            border-radius: 18px;
            background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
            box-shadow: 0 18px 45px rgba(27, 43, 56, 0.06);
        }
        .catalog-filter-summary[hidden],
        .catalog-quick-links[hidden] {
            display: none;
        }
        .catalog-quick-links-container {
            margin-bottom: 88px;
        }
        .catalog-filter-summary__head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 12px;
        }
        .catalog-filter-summary__title {
            font-family: 'Montserrat', sans-serif;
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--accent-green);
        }
        .catalog-filter-summary__reset {
            border: 0;
            background: transparent;
            color: #8b98a3;
            font: inherit;
            font-size: 0.82rem;
            font-weight: 700;
            cursor: pointer;
            transition: color .18s ease;
        }
        .catalog-filter-summary__reset:hover {
            color: var(--accent-green);
        }
        .catalog-filter-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }
        .catalog-filter-chip {
            border: 1px solid rgba(43, 109, 60, 0.14);
            border-radius: 999px;
            background: #eef6f0;
            color: #215b33;
            min-height: 34px;
            padding: 7px 10px 7px 14px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font: inherit;
            font-size: 0.86rem;
            font-weight: 700;
            cursor: pointer;
            transition: background .18s ease, transform .18s ease, border-color .18s ease;
        }
        .catalog-filter-chip:hover {
            background: #e4f0e7;
            border-color: rgba(43, 109, 60, 0.3);
            transform: translateY(-1px);
        }
        .catalog-filter-chip__x {
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: rgba(43, 109, 60, 0.12);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            line-height: 1;
        }
        .q-link { color: inherit; text-decoration: none; }
        .catalog-quick-links.q-glass-demo {
            --green: #28713f;
            --green-dark: #0f4f3f;
            width: 100%;
            max-width: 100%;
            min-width: 0;
            margin-top: 34px;
            padding: 28px 26px 24px;
            border-radius: 26px;
            position: relative;
            overflow: hidden;
            background:
                radial-gradient(circle at 76% 0%, rgba(121, 171, 150, .16), transparent 30%),
                radial-gradient(circle at 22% 96%, rgba(199, 161, 86, .12), transparent 30%),
                linear-gradient(135deg, rgba(255,255,255,.92), rgba(243,246,247,.78));
            border: 1px solid rgba(255,255,255,.72);
            box-shadow: 0 28px 90px rgba(17,31,43,.08);
        }
        .q-glass-demo::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(105deg, transparent 0%, rgba(255,255,255,.46) 36%, transparent 62%),
                radial-gradient(circle at 86% 82%, rgba(40,113,63,.10), transparent 24%);
            pointer-events: none;
        }
        .q-glass-demo__head {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 24px;
            align-items: start;
            margin-bottom: 18px;
        }
        .q-glass-demo__head h4 {
            margin: 0 0 10px;
            font-size: clamp(1.65rem, 2.4vw, 2.7rem);
            line-height: 1.02;
            letter-spacing: 0;
        }
        .q-glass-demo__head p {
            display: none;
            margin: 0;
            max-width: 620px;
            color: #111827;
            font-size: clamp(.92rem, 1vw, 1.06rem);
            line-height: 1.38;
        }
        .q-candidate-pill {
            display: none;
            align-items: center;
            justify-content: center;
            min-width: 124px;
            height: 44px;
            padding: 0 18px;
            border-radius: 999px;
            background: rgba(255,255,255,.54);
            border: 1px solid rgba(255,255,255,.78);
            color: rgba(31,43,53,.55);
            font-weight: 900;
            letter-spacing: .06em;
            text-transform: uppercase;
            box-shadow: 0 18px 44px rgba(17,31,43,.08), inset 0 1px 0 rgba(255,255,255,.78);
            backdrop-filter: blur(18px) saturate(1.08);
            -webkit-backdrop-filter: blur(18px) saturate(1.08);
        }
        .q-glass-rail {
            position: relative;
            z-index: 2;
            max-width: 100%;
            min-width: 0;
            display: flex;
            gap: 16px;
            overflow-x: auto;
            padding: 16px 6px 20px;
            margin-inline: -6px;
            scroll-snap-type: x mandatory;
            scrollbar-width: thin;
            scrollbar-color: rgba(40, 113, 63, .42) rgba(255, 255, 255, .38);
        }
        .q-glass-rail::-webkit-scrollbar {
            height: 10px;
        }
        .q-glass-rail::-webkit-scrollbar-track {
            border-radius: 999px;
            background: rgba(255,255,255,.38);
        }
        .q-glass-rail::-webkit-scrollbar-thumb {
            border-radius: 999px;
            background: rgba(40,113,63,.42);
        }
        .catalog-quick-links.is-expanded .q-glass-rail {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            max-height: 760px;
            overflow-x: hidden;
            overflow-y: auto;
            padding-right: 10px;
            scroll-snap-type: none;
        }
        .catalog-quick-links.is-expanded .q-glass-card {
            min-width: 0;
            width: 100%;
        }
        .q-glass-card {
            position: relative;
            flex: 0 0 clamp(250px, 23vw, 315px);
            min-height: 190px;
            overflow: hidden;
            border-radius: 22px;
            padding: 22px;
            border: 1.5px solid rgba(40,113,63,.42);
            color: #111827;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 16px;
            scroll-snap-align: start;
            box-shadow: 0 24px 64px rgba(17,31,43,.1);
            backdrop-filter: blur(22px) saturate(1.12);
            -webkit-backdrop-filter: blur(22px) saturate(1.12);
            transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
        }
        .q-glass-card:hover {
            transform: translateY(-8px);
            border-color: rgba(24,129,78,.7);
            box-shadow: 0 34px 86px rgba(17,31,43,.16);
        }
        .q-glass-card::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(180deg, rgba(255,255,255,.54), rgba(255,255,255,.36)),
                var(--glass-image);
            background-size: cover;
            background-position: center;
            filter: blur(8px) saturate(.82);
            transform: scale(1.08);
            opacity: .72;
            z-index: -2;
        }
        .q-glass-card::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(255,255,255,.64), rgba(255,255,255,.28));
            z-index: -1;
        }
        .q-glass-tag {
            align-self: flex-start;
            border-radius: 999px;
            padding: 7px 11px;
            background: rgba(231,236,237,.72);
            color: #111827;
            font-size: .74rem;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: .04em;
        }
        .q-glass-card__title {
            display: block;
            max-width: 92%;
            font-family: "Inter", "Segoe UI", Arial, sans-serif;
            font-size: clamp(.95rem, 1.02vw, 1.08rem);
            line-height: 1.22;
            font-weight: 650;
            letter-spacing: 0;
            color: #111827;
            text-decoration: none;
        }
        .q-glass-card__title:hover {
            color: rgba(15,79,63,.95);
        }
        .q-glass-card__bottom {
            display: flex;
            align-items: start;
            justify-content: flex-start;
            gap: 14px;
            margin-top: auto;
        }
        .q-glass-count {
            display: inline-flex;
            padding: 6px 9px;
            border-radius: 10px;
            background: rgba(255,255,255,.42);
            color: rgba(15,79,63,.88);
            font-size: .98rem;
            line-height: 1;
            font-weight: 500;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }
        .q-glass-demo__footer {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 22px;
            margin-top: 22px;
        }
        .q-glass-demo__footer p {
            display: none;
            max-width: 680px;
            margin: 0;
            color: #111827;
            font-size: clamp(.95rem, 1vw, 1.08rem);
            line-height: 1.38;
        }
        .q-glass-demo__button {
            position: relative;
            overflow: hidden;
            min-width: 220px;
            height: 52px;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(145deg, #22a462, #0b6d49);
            color: #fff;
            font: inherit;
            font-size: .95rem;
            font-weight: 900;
            box-shadow: 0 24px 58px rgba(20,128,80,.28), 0 0 38px rgba(34,164,98,.16);
            isolation: isolate;
            cursor: pointer;
            transition:
                transform .32s cubic-bezier(.2,.72,.18,1),
                box-shadow .32s cubic-bezier(.2,.72,.18,1),
                background .32s ease;
            animation: qButtonBreath 4.8s ease-in-out infinite;
        }
        .q-glass-demo__button::before {
            content: "";
            position: absolute;
            inset: -40% auto -40% -46%;
            z-index: -1;
            width: 42%;
            transform: skewX(-18deg);
            background: linear-gradient(90deg, transparent, rgba(255,255,255,.46), transparent);
            filter: blur(1px);
            animation: qButtonSheen 3.8s ease-in-out infinite;
        }
        .q-glass-demo__button::after {
            content: "";
            position: absolute;
            inset: 1px;
            z-index: -2;
            border-radius: inherit;
            background:
                radial-gradient(circle at 24% 0%, rgba(255,255,255,.26), transparent 34%),
                linear-gradient(145deg, #22a462, #0b6d49);
        }
        .q-glass-demo__button:hover {
            transform: translateY(-3px);
            box-shadow: 0 30px 66px rgba(20,128,80,.32), 0 0 46px rgba(34,164,98,.2);
        }
        @keyframes qButtonSheen {
            0%, 42% { left: -46%; opacity: 0; }
            52% { opacity: .9; }
            74%, 100% { left: 112%; opacity: 0; }
        }
        @keyframes qButtonBreath {
            0%, 100% { box-shadow: 0 24px 58px rgba(20,128,80,.24), 0 0 30px rgba(34,164,98,.12); }
            50% { box-shadow: 0 28px 66px rgba(20,128,80,.32), 0 0 48px rgba(34,164,98,.2); }
        }
        @media (prefers-reduced-motion: reduce) {
            .q-glass-demo__button,
            .q-glass-demo__button::before {
                animation: none;
            }
        }
        
        .sort-box { display: flex; align-items: center; gap: 8px; margin-left: 0; font-size: 0.9rem; }
        .sort-box > span { display: none; }
        .sort-select { 
            width: 168px;
            border: 1px solid #ddd; padding: 8px 34px 8px 14px; border-radius: 30px; 
            font-family: inherit; font-size: 0.9rem; cursor: pointer; transition: 0.3s; outline: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            background-color: #fff;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232f3533' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 16px center;
            background-size: 14px 14px;
        }
        .sort-select::-ms-expand { display: none; }
        .sort-select:hover { border-color: var(--accent-green); }
        .view-toggle {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: #ffffff;
            border: 1px solid #d7dee2;
            border-radius: 999px;
            padding: 3px;
            box-shadow: 0 6px 16px rgba(27, 43, 56, 0.08);
        }
        .view-toggle__btn {
            width: 34px;
            height: 34px;
            border: 1px solid #dbe3e7;
            border-radius: 50%;
            background: #f7faf8;
            color: var(--accent-green);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: .2s;
        }
        .view-toggle__btn svg { width: 18px; height: 18px; }
        .view-toggle__btn:hover {
            color: #fff;
            background: var(--accent-green);
            border-color: var(--accent-green);
            transform: translateY(-1px);
        }
        .view-toggle__btn.is-active {
            background: var(--accent-green);
            color: #fff;
            border-color: var(--accent-green);
            box-shadow: 0 8px 18px rgba(43, 109, 60, 0.28);
        }

        /* Projects Grid (Consistent with Home) */
        .catalog-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-auto-rows: minmax(340px, auto);
            grid-auto-flow: dense;
            gap: 24px;
            transition: opacity 0.3s ease;
        }
        .catalog-grid--few {
            grid-template-columns: repeat(3, 1fr);
            grid-auto-rows: minmax(300px, auto);
        }
        .catalog-grid--few .p-card,
        .catalog-grid--few .p-card--feature,
        .catalog-grid--few .p-card--wide {
            grid-column: span 1 !important;
            grid-row: span 1 !important;
        }
        .catalog-grid--trio {
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            grid-auto-rows: minmax(300px, auto) !important;
        }
        .catalog-grid--trio .p-card,
        .catalog-grid--trio .p-card--feature,
        .catalog-grid--trio .p-card--wide {
            grid-column: span 1 !important;
            grid-row: span 1 !important;
        }
        .catalog-grid--single {
            grid-template-columns: 1fr !important;
            grid-auto-rows: minmax(280px, auto) !important;
        }
        .catalog-grid--single .p-card,
        .catalog-grid--single .p-card--feature,
        .catalog-grid--single .p-card--wide {
            grid-column: span 1 !important;
            grid-row: span 1 !important;
        }
        .catalog-grid--single .p-card {
            height: auto;
        }
        .catalog-grid--single .p-card__img {
            flex: 0 0 auto;
            min-height: 0;
            aspect-ratio: 16 / 8;
        }

        .p-card {
            background: white;
            border-radius: var(--radius-card);
            overflow: hidden;
            border: 1px solid var(--border);
            transition: var(--transition);
            cursor: pointer;
            display: flex;
            flex-direction: column;
            position: relative;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
            height: 100%;
            grid-column: span 1;
            grid-row: span 1;
            --tag-transition: 1.2s;
            --info-transition: 1.4s;
            --overlay-transition: 1.2s;
        }
        .p-card:focus-visible {
            outline: 3px solid rgba(43, 109, 60, 0.28);
            outline-offset: 4px;
        }

        .p-card--feature { grid-column: span 2; grid-row: span 2; }
        .p-card--feature-right { grid-column: 2 / span 2; }
        .p-card--wide { grid-column: span 2; grid-row: span 1; }
        .p-card--wide-right { grid-column: 2 / span 2; }
        .p-card--wide {
            border-radius: 24px;
            box-shadow: 0 22px 65px rgba(17, 31, 43, 0.08);
        }
        .p-card--wide .p-card__img {
            aspect-ratio: auto;
            flex: 1 1 0;
            min-height: 0;
        }
        .p-card--wide .p-card__info {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: end;
            gap: 14px;
            padding: 20px;
        }
        .p-card--wide .p-card__head {
            display: contents;
            margin: 0;
        }
        .p-card--wide .p-card__title {
            grid-column: 1;
            grid-row: 1;
            margin: 0;
            font-size: 1.14rem;
            line-height: 1.15;
        }
        .p-card--wide .p-card__price {
            grid-column: 2;
            grid-row: 1 / 3;
            align-self: end;
            padding-bottom: 7px;
            white-space: nowrap;
            font-size: 1.06rem;
        }
        .p-card--wide .p-card__meta {
            display: grid;
            grid-template-columns: repeat(3, minmax(92px, 104px));
            gap: 8px;
            grid-column: 1;
            margin: 0;
        }
        .p-card--wide .p-card__meta-item {
            min-height: 52px;
            padding: 8px 9px;
            border: 1px solid #edf1f3;
            background: #f8faf9;
            box-shadow: none;
            width: 100%;
        }
        .p-card--wide .p-card__meta-item + .p-card__meta-item::before {
            content: none;
        }
        .p-card--wide .p-card__meta-value {
            font-size: 0.95rem;
            font-weight: 800;
            color: var(--text-main);
        }
        .p-card--wide .p-card__meta-label {
            display: block;
        }
        .p-card--wide .p-card__overlay {
            display: flex;
            padding-right: 76px;
        }
        .p-card--wide .p-tag {
            max-width: min(360px, calc(100% - 76px));
            white-space: normal;
            line-height: 1.15;
        }

        .p-card::after {
            content: ''; position: absolute; top: 0; left: -150%; width: 80%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
            transform: skewX(-25deg); transition: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
            z-index: 5; pointer-events: none;
        }
        .p-card:hover::after { left: 150%; }

        .p-card:hover { transform: translateY(-8px); box-shadow: 0 40px 80px rgba(0, 0, 0, 0.08); border-color: var(--accent-green); }

        .section--recent {
            padding-top: 90px;
            padding-bottom: 90px;
            background: #fff;
        }
        .recent-head {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 24px;
            margin-bottom: 34px;
        }
        .recent-head h2 {
            margin: 0;
            font-size: clamp(2rem, 4vw, 3.4rem);
            letter-spacing: 0;
        }
        .recent-grid {
            display: flex;
            gap: 24px;
            overflow-x: auto;
            overscroll-behavior-x: contain;
            scroll-snap-type: x mandatory;
            scroll-padding: 0 2px;
            padding: 2px 2px 18px;
            margin: -2px -2px 0;
            scrollbar-color: rgba(43, 109, 60, 0.5) rgba(43, 109, 60, 0.1);
            scrollbar-width: thin;
        }
        .recent-grid::-webkit-scrollbar {
            height: 8px;
        }
        .recent-grid::-webkit-scrollbar-track {
            background: rgba(43, 109, 60, 0.1);
            border-radius: 999px;
        }
        .recent-grid::-webkit-scrollbar-thumb {
            background: rgba(43, 109, 60, 0.5);
            border-radius: 999px;
        }
        .recent-grid .p-card {
            min-height: 0;
            flex: 0 0 clamp(360px, 31vw, 460px);
            scroll-snap-align: start;
        }
        .recent-grid .p-card__img {
            min-height: 0;
            aspect-ratio: 16 / 9;
        }
        .recent-grid .p-card__info {
            padding: 22px;
        }
        .recent-grid .p-card__head {
            gap: 10px;
        }
        .recent-grid .p-card__title {
            font-size: 1.18rem;
        }
        .recent-grid .p-card__price {
            font-size: 1.05rem;
            white-space: nowrap;
        }
        .catalog-action-icon svg {
            width: 18px;
            height: 18px;
            display: block;
            stroke-width: 2.2;
        }
        .recent-grid .p-card__meta {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
        }
        .recent-grid .p-card__meta-item {
            padding: 10px 12px;
        }
        .recent-empty {
            display: none;
        }

        .p-card__img { position: relative; overflow: hidden; background: #f9f9f9; flex: 1; min-height: 170px; }
        .p-card__img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: 1.2s cubic-bezier(0.16, 1, 0.3, 1);
            transform: translateZ(0);
            will-change: transform;
            backface-visibility: hidden;
        }
        .p-card__social {
            position: absolute;
            top: 14px;
            left: 14px;
            right: 14px;
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 10px;
            z-index: 6;
            pointer-events: none;
        }
        .p-like-count {
            min-width: 52px;
            height: 32px;
            border-radius: 999px;
            padding: 0 12px;
            background: rgba(53, 59, 57, 0.62);
            color: #fff;
            border: 1px solid rgba(255, 255, 255, 0.36);
            backdrop-filter: blur(10px) saturate(1.12);
            -webkit-backdrop-filter: blur(10px) saturate(1.12);
            box-shadow: 0 10px 22px rgba(8, 24, 36, 0.2);
            font-size: 0.86rem;
            font-weight: 800;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            pointer-events: auto;
        }
        .p-card__action-group {
            display: flex;
            flex-direction: column;
            gap: 8px;
            pointer-events: auto;
        }
        .p-card__action-btn {
            border: 1px solid rgba(255, 255, 255, 0.5);
            border-radius: 12px;
            background: linear-gradient(180deg, rgba(226, 236, 243, 0.56) 0%, rgba(212, 224, 232, 0.44) 100%);
            backdrop-filter: blur(14px) saturate(1.22);
            -webkit-backdrop-filter: blur(14px) saturate(1.22);
            box-shadow: 0 7px 16px rgba(12, 26, 18, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.46);
            color: #fff;
            width: 36px;
            height: 36px;
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: .2s ease;
            position: relative;
        }
        .p-card__action-btn svg {
            width: 17px;
            height: 17px;
            flex-shrink: 0;
        }
        .p-card__action-btn svg path { stroke-width: 4; }
        .p-card__action-btn[data-action="favorite"] svg path { stroke-width: 3; }
        .p-card__action-btn::after {
            content: attr(data-tooltip);
            position: absolute;
            right: calc(100% + 10px);
            top: 50%;
            transform: translateY(-50%) translateX(8px);
            opacity: 0;
            pointer-events: none;
            background: rgba(53, 59, 57, 0.62);
            color: #fff;
            border: 1px solid rgba(255, 255, 255, 0.38);
            backdrop-filter: blur(10px) saturate(1.12);
            -webkit-backdrop-filter: blur(10px) saturate(1.12);
            border-radius: 999px;
            padding: 8px 14px;
            font-size: 0.76rem;
            font-weight: 700;
            line-height: 1.15;
            white-space: nowrap;
            transition: opacity .18s ease, transform .18s ease;
            z-index: 20;
            box-shadow: 0 12px 24px rgba(8, 24, 36, 0.2);
        }
        .p-card__action-btn:hover::after {
            opacity: 1;
            transform: translateY(-50%) translateX(0);
        }
        .p-card__action-btn:hover {
            border-color: rgba(255, 255, 255, 0.82);
            background: linear-gradient(180deg, rgba(250, 252, 254, 0.72) 0%, rgba(240, 245, 248, 0.58) 100%);
            color: var(--accent-green);
            transform: translateY(-1px);
        }
        .p-card__action-btn.is-active {
            border-color: rgba(255, 255, 255, 0.72);
            background: linear-gradient(180deg, rgba(248, 251, 253, 0.42) 0%, rgba(236, 242, 246, 0.3) 100%);
            box-shadow: 0 7px 16px rgba(12, 26, 18, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.46);
        }
        .p-card__action-btn.is-active svg path {
            stroke: currentColor;
        }
        .p-card__action-btn[data-action="favorite"].is-active {
            color: #d9253a;
            filter: saturate(1.2) contrast(1.08);
        }
        .catalog-action-link.is-bumping {
            animation: favoriteTargetBump .42s cubic-bezier(.2, .72, .18, 1);
        }
        .favorites-flight-box {
            position: fixed;
            top: 38px;
            right: 28px;
            z-index: 220;
            --flight-idle-duration: 14.2s;
            --flight-idle-delay: .2s;
            --flight-sheen-duration: 22s;
            --flight-sheen-delay: 1.1s;
            --flight-icon-duration: 15.6s;
            --flight-icon-delay: .35s;
            --flight-count-duration: 17.2s;
            --flight-count-delay: 1.2s;
            min-width: 158px;
            height: 54px;
            padding: 0 12px 0 10px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.82);
            background:
                linear-gradient(135deg, rgba(255,255,255,.94), rgba(244,249,247,.78)),
                radial-gradient(circle at 18% 10%, rgba(255,255,255,.96), transparent 38%),
                linear-gradient(145deg, rgba(18,116,76,.08), rgba(217,37,58,.07));
            box-shadow:
                0 24px 70px rgba(13, 28, 22, .18),
                0 8px 22px rgba(18, 116, 76, .1),
                inset 0 1px 0 rgba(255,255,255,.92),
                inset 0 -1px 0 rgba(18,116,76,.08);
            backdrop-filter: blur(18px) saturate(1.18);
            -webkit-backdrop-filter: blur(18px) saturate(1.18);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            color: #17252d;
            font-size: .88rem;
            font-weight: 900;
            letter-spacing: .01em;
            opacity: 0;
            transform: translateY(-10px) scale(.96);
            pointer-events: none;
            text-decoration: none;
            cursor: pointer;
            transition: opacity .22s ease, transform .22s ease;
            overflow: hidden;
            isolation: isolate;
        }
        .favorites-flight-box::before {
            content: "";
            position: absolute;
            inset: 1px;
            z-index: -1;
            border-radius: inherit;
            background: linear-gradient(180deg, rgba(255,255,255,.64), rgba(255,255,255,.18));
        }
        .favorites-flight-box::after {
            content: "";
            position: absolute;
            inset: -80% auto -80% -46%;
            z-index: 0;
            width: 34%;
            transform: skewX(-18deg);
            background: linear-gradient(90deg, transparent, rgba(255,255,255,.54), transparent);
            filter: blur(1px);
            opacity: 0;
            animation: favoriteBoxSheen var(--flight-sheen-duration) ease-in-out var(--flight-sheen-delay) infinite;
        }
        .favorites-flight-box.is-visible {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
            animation: favoriteBoxFloat var(--flight-idle-duration) ease-in-out var(--flight-idle-delay) infinite;
        }
        .favorites-flight-box:focus-visible {
            outline: 3px solid rgba(43,109,60,.32);
            outline-offset: 4px;
        }
        .favorites-flight-box.is-bumping {
            animation: favoriteTargetBump .42s cubic-bezier(.2, .72, .18, 1);
        }
        .favorites-flight-box > span {
            position: relative;
            z-index: 1;
        }
        .favorites-flight-box__icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1rem;
            line-height: 1;
            background: linear-gradient(145deg, #f0445d, #ba1830);
            box-shadow:
                0 10px 22px rgba(217,37,58,.28),
                inset 0 1px 0 rgba(255,255,255,.42);
        }
        .favorites-flight-box__count {
            min-width: 28px;
            height: 28px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(145deg, rgba(16,128,83,.15), rgba(16,128,83,.07));
            border: 1px solid rgba(16,128,83,.16);
            color: #0f6d49;
            font-size: .8rem;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.74);
        }
        .compare-flight-box {
            position: fixed;
            top: 38px;
            right: 28px;
            z-index: 220;
            --flight-idle-duration: 16.4s;
            --flight-idle-delay: 2.3s;
            --flight-sheen-duration: 24s;
            --flight-sheen-delay: 3.2s;
            --flight-icon-duration: 18.2s;
            --flight-icon-delay: 1.7s;
            --flight-count-duration: 19.4s;
            --flight-count-delay: .65s;
            min-width: 158px;
            height: 54px;
            padding: 0 12px 0 10px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.82);
            background:
                linear-gradient(135deg, rgba(255,255,255,.94), rgba(244,249,247,.78)),
                radial-gradient(circle at 18% 10%, rgba(255,255,255,.96), transparent 38%),
                linear-gradient(145deg, rgba(16,76,83,.1), rgba(43,109,60,.08));
            box-shadow:
                0 24px 70px rgba(13, 28, 22, .16),
                0 8px 22px rgba(16, 76, 83, .1),
                inset 0 1px 0 rgba(255,255,255,.92),
                inset 0 -1px 0 rgba(16,76,83,.08);
            backdrop-filter: blur(18px) saturate(1.18);
            -webkit-backdrop-filter: blur(18px) saturate(1.18);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            color: #17252d;
            font-size: .88rem;
            font-weight: 900;
            letter-spacing: .01em;
            opacity: 0;
            transform: translateY(-10px) scale(.96);
            pointer-events: none;
            text-decoration: none;
            cursor: pointer;
            transition: opacity .22s ease, transform .22s ease;
            overflow: hidden;
            isolation: isolate;
        }
        .compare-flight-box::before {
            content: "";
            position: absolute;
            inset: 1px;
            z-index: -1;
            border-radius: inherit;
            background: linear-gradient(180deg, rgba(255,255,255,.64), rgba(255,255,255,.18));
        }
        .compare-flight-box::after {
            content: "";
            position: absolute;
            inset: -80% auto -80% -46%;
            z-index: 0;
            width: 34%;
            transform: skewX(-18deg);
            background: linear-gradient(90deg, transparent, rgba(255,255,255,.54), transparent);
            filter: blur(1px);
            opacity: 0;
            animation: compareBoxSheen var(--flight-sheen-duration) ease-in-out var(--flight-sheen-delay) infinite;
        }
        .compare-flight-box.is-visible {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
            animation: compareBoxDrift var(--flight-idle-duration) ease-in-out var(--flight-idle-delay) infinite;
        }
        .compare-flight-box.is-stacked {
            top: 118px;
        }
        .compare-flight-box:focus-visible {
            outline: 3px solid rgba(43,109,60,.32);
            outline-offset: 4px;
        }
        .compare-flight-box.is-bumping {
            animation: favoriteTargetBump .42s cubic-bezier(.2, .72, .18, 1);
        }
        .compare-flight-box > span {
            position: relative;
            z-index: 1;
        }
        .compare-flight-box__icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 0;
            line-height: 1;
            background: linear-gradient(145deg, #1b8d75, #004c4b);
            box-shadow:
                0 10px 22px rgba(0,76,75,.24),
                inset 0 1px 0 rgba(255,255,255,.42);
        }
        .compare-flight-box__icon::before {
            content: "";
            width: 4px;
            height: 14px;
            border-radius: 999px;
            background: #fff;
            box-shadow: -6px 4px 0 #fff, 6px -3px 0 #fff;
        }
        .compare-flight-box__count {
            min-width: 28px;
            height: 28px;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(145deg, rgba(0,76,75,.14), rgba(0,76,75,.07));
            border: 1px solid rgba(0,76,75,.15);
            color: #004c4b;
            font-size: .8rem;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.74);
        }
        .favorites-flight-box__icon {
            animation: favoriteIconHeartbeat var(--flight-icon-duration) cubic-bezier(.18, .72, .22, 1) var(--flight-icon-delay) infinite;
        }
        .favorites-flight-box__count {
            animation: favoriteCountLift var(--flight-count-duration) ease-in-out var(--flight-count-delay) infinite;
        }
        .compare-flight-box__icon {
            animation: compareIconBars var(--flight-icon-duration) ease-in-out var(--flight-icon-delay) infinite;
        }
        .compare-flight-box__count {
            animation: compareCountNudge var(--flight-count-duration) ease-in-out var(--flight-count-delay) infinite;
        }
        .favorites-flight-box .flight-box-close,
        .compare-flight-box .flight-box-close {
            position: absolute;
            top: 5px;
            right: 7px;
            z-index: 3;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: rgba(23, 37, 45, .58);
            font-size: 13px;
            line-height: 1;
            font-weight: 800;
            background: rgba(255, 255, 255, .66);
            border: 1px solid rgba(16, 76, 75, .1);
            box-shadow: 0 4px 12px rgba(13, 28, 22, .08);
            opacity: .72;
            transition: opacity .18s ease, color .18s ease, background .18s ease, transform .18s ease;
        }
        .favorites-flight-box .flight-box-close:hover,
        .favorites-flight-box .flight-box-close:focus-visible,
        .compare-flight-box .flight-box-close:hover,
        .compare-flight-box .flight-box-close:focus-visible {
            opacity: 1;
            color: #17252d;
            background: rgba(255, 255, 255, .94);
            transform: scale(1.08);
            outline: none;
        }
        .favorite-fly-card,
        .compare-fly-card {
            position: fixed;
            z-index: 9999;
            width: 230px;
            height: 176px;
            border-radius: 20px;
            overflow: hidden;
            pointer-events: none;
            background: #fff;
            box-shadow: 0 28px 80px rgba(13, 28, 22, .24);
            border: 3px solid rgba(255,255,255,.92);
            transform-origin: center;
            will-change: transform, opacity, left, top;
        }
        .favorite-fly-card img,
        .compare-fly-card img {
            width: 100%;
            height: 118px;
            display: block;
            object-fit: cover;
        }
        .favorite-fly-card span,
        .compare-fly-card span {
            display: block;
            padding: 10px 12px 0;
            color: #1f2b35;
            font-size: .9rem;
            font-weight: 800;
            line-height: 1.15;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .favorite-fly-card::after {
            content: "♥";
            position: absolute;
            right: 9px;
            top: 9px;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(217, 37, 58, .92);
            color: #fff;
            font-size: 14px;
            line-height: 1;
            box-shadow: 0 8px 20px rgba(217, 37, 58, .32);
            animation: favoriteFlyHeartPulse .72s ease-in-out infinite;
        }
        .compare-fly-card::after {
            content: "";
            position: absolute;
            right: 9px;
            top: 9px;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(0, 76, 75, .92);
            color: #fff;
            font-size: 0;
            line-height: 1;
            box-shadow: 0 8px 20px rgba(0, 76, 75, .28);
            animation: compareFlyIconPulse .72s ease-in-out infinite;
        }
        .compare-fly-card::before {
            content: "";
            position: absolute;
            right: 19px;
            top: 15px;
            z-index: 1;
            width: 3px;
            height: 12px;
            border-radius: 999px;
            background: #fff;
            box-shadow: -5px 4px 0 #fff, 5px -3px 0 #fff;
            pointer-events: none;
        }
        .favorite-added-toast {
            position: fixed;
            z-index: 9998;
            pointer-events: none;
            padding: 9px 14px;
            border-radius: 999px;
            background: rgba(31, 43, 53, .88);
            color: #fff;
            font-size: .82rem;
            font-weight: 800;
            box-shadow: 0 16px 36px rgba(13, 28, 22, .18);
            animation: favoriteToast 1.35s ease both;
        }
        @keyframes favoriteTargetBump {
            0%, 100% { transform: translateY(0) scale(1); }
            45% { transform: translateY(-3px) scale(1.08); }
        }
        @keyframes favoriteBoxFloat {
            0%, 78%, 100% { transform: translateX(0) translateY(0) scale(1); }
            82% { transform: translateX(-4px) translateY(0) scale(1); }
            86% { transform: translateX(4px) translateY(0) scale(1); }
            90% { transform: translateX(-3px) translateY(0) scale(1); }
            94% { transform: translateX(3px) translateY(0) scale(1); }
            97% { transform: translateX(-1px) translateY(-2px) scale(1.012); }
            99% { transform: translateX(0) translateY(0) scale(1); }
        }
        @keyframes compareBoxDrift {
            0%, 84%, 100% { transform: translateX(0) translateY(0) scale(1); }
            89% { transform: translateX(-3px) translateY(-1px) scale(1.01); }
            94% { transform: translateX(2px) translateY(0) scale(1); }
        }
        @keyframes favoriteBoxSheen {
            0%, 86% { left: -46%; opacity: 0; }
            90% { opacity: .58; }
            98%, 100% { left: 116%; opacity: 0; }
        }
        @keyframes compareBoxSheen {
            0%, 88% { left: -50%; opacity: 0; }
            92% { opacity: .46; }
            99%, 100% { left: 118%; opacity: 0; }
        }
        @keyframes favoriteFlyHeartPulse {
            0%, 100% { transform: scale(1); box-shadow: 0 8px 20px rgba(217, 37, 58, .28); }
            50% { transform: scale(1.18); box-shadow: 0 10px 26px rgba(217, 37, 58, .42); }
        }
        @keyframes compareFlyIconPulse {
            0%, 100% { transform: scale(1); box-shadow: 0 8px 20px rgba(0, 76, 75, .24); }
            50% { transform: scale(1.18); box-shadow: 0 10px 26px rgba(0, 76, 75, .38); }
        }
        @keyframes favoriteIconHeartbeat {
            0%, 82%, 100% { transform: scale(1) rotate(0deg); }
            86% { transform: scale(1.1) rotate(-2deg); }
            90% { transform: scale(.99) rotate(0deg); }
            94% { transform: scale(1.05) rotate(1deg); }
        }
        @keyframes favoriteCountLift {
            0%, 84%, 100% { transform: translateY(0); }
            89% { transform: translateY(-2px); }
            94% { transform: translateY(1px); }
        }
        @keyframes compareIconBars {
            0%, 84%, 100% { transform: translateY(0) scaleX(1); }
            89% { transform: translateY(-1px) scaleX(1.04); }
            94% { transform: translateY(1px) scaleX(.99); }
        }
        @keyframes compareCountNudge {
            0%, 86%, 100% { transform: translateX(0); }
            91% { transform: translateX(2px); }
            96% { transform: translateX(-1px); }
        }

        @keyframes favoriteToast {
            0% { opacity: 0; transform: translateY(8px) scale(.96); }
            18%, 72% { opacity: 1; transform: translateY(0) scale(1); }
            100% { opacity: 0; transform: translateY(-8px) scale(.98); }
        }
        @media (prefers-reduced-motion: reduce) {
            .favorite-fly-card {
                display: none;
            }
            .catalog-action-link.is-bumping {
                animation: none;
            }
            .favorites-flight-box.is-visible {
                animation: none;
            }
            .compare-flight-box.is-visible {
                animation: none;
            }
            .favorites-flight-box::after {
                animation: none;
            }
            .compare-flight-box::after {
                animation: none;
            }
            .favorite-fly-card::after {
                animation: none;
            }
            .compare-fly-card::after {
                animation: none;
            }
            .favorites-flight-box__icon,
            .favorites-flight-box__count,
            .compare-flight-box__icon,
            .compare-flight-box__count {
                animation: none;
            }
        }
        @media (max-width: 768px) {
            .favorites-flight-box,
            .compare-flight-box {
                top: 92px;
                right: 16px;
                min-width: 132px;
                height: 48px;
                font-size: .8rem;
            }
            .compare-flight-box {
                top: 84px;
            }
            .compare-flight-box.is-stacked {
                top: 164px;
            }
            .favorites-flight-box__icon,
            .compare-flight-box__icon {
                width: 28px;
                height: 28px;
            }
            .favorites-flight-box__count,
            .compare-flight-box__count {
                min-width: 24px;
                height: 24px;
            }
        }
        @media (min-width: 769px) and (max-width: 1500px) {
            .favorites-flight-box,
            .compare-flight-box {
                top: 128px;
            }
            .compare-flight-box.is-stacked {
                top: 208px;
            }
        }
        .p-card__action-btn[data-action="compare"].is-active {
            color: #004c4b;
            filter: saturate(1.15) contrast(1.1);
        }
        .p-card:hover .p-card__img img { transform: scale(1.05); }

        .p-card__overlay {
            position: absolute; inset: 0; 
            background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.6) 100%);
            opacity: 0; transition: 0.5s ease; display: flex; flex-direction: column;
            justify-content: flex-end; align-items: flex-start; padding: 58px 20px 20px; gap: 8px; z-index: 2;
            overflow: hidden;
        }
        .p-card:hover .p-card__overlay { opacity: 1; }

        .p-tag {
            background: rgba(255, 255, 255, 0.2); color: #fff; padding: 6px 14px; border-radius: 20px;
            font-size: 0.75rem; font-weight: 600; border: 1px solid rgba(255, 255, 255, 0.3);
            backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
            display: block;
            max-width: min(100%, 240px);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            line-height: 1.15;
        }

        .p-card__info {
            padding: 20px;
            display: flex;
            flex-direction: column;
            gap: 14px;
            background: white;
            z-index: 3;
        }
        .p-card__head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 14px;
        }
        .p-card__title {
            margin: 0;
            font-size: 1.14rem;
            font-weight: 800;
            color: var(--text-main);
            letter-spacing: 0;
            line-height: 1.15;
        }
        .p-card__title-link {
            color: inherit;
            text-decoration: none;
        }
        .p-card__title-link:hover { color: var(--accent-green); }
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip-path: inset(50%);
            white-space: nowrap;
            border: 0;
        }
        .p-card__price {
            font-size: 1.06rem;
            font-weight: 800;
            color: var(--accent-green);
            white-space: nowrap;
            line-height: 1.2;
            padding-top: 2px;
        }
        .p-card__meta {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
        }
        .p-card__meta-item {
            min-width: 0;
            border: 1px solid #edf1f3;
            border-radius: 10px;
            background: #f8faf9;
            padding: 8px 7px;
        }
        .p-card__meta-value {
            display: block;
            color: var(--text-main);
            font-size: 0.9rem;
            font-weight: 800;
            line-height: 1.1;
            white-space: nowrap;
        }
        .p-card__meta-label {
            display: block;
            margin-top: 3px;
            color: var(--text-secondary);
            font-size: 0.72rem;
            font-weight: 700;
            line-height: 1.15;
        }
        .p-card__stats { color: var(--text-secondary); font-size: 0.95rem; font-weight: 500; margin-top: 4px; line-height: 1.35; }

        .expert-grid {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 80px;
            align-items: center;
        }
        .expert-list {
            list-style: none;
            padding: 0;
            margin: 40px 0;
        }
        .expert-list li {
            padding: 18px 0;
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
            display: flex;
            align-items: center;
            gap: 16px;
            font-weight: 500;
            font-size: 1.05rem;
        }
        .expert-list li::before {
            content: '';
            width: 10px;
            height: 10px;
            background: var(--accent-green);
            border-radius: 50%;
            box-shadow: 0 0 15px rgba(34, 197, 94, 0.4);
            flex-shrink: 0;
        }
        .expert-actions {
            display: flex;
            gap: 32px;
            align-items: center;
            margin-top: 48px;
        }
        .expert-vis-card {
            position: relative;
            border-radius: 40px;
            overflow: hidden;
            height: 640px;
            box-shadow: 0 60px 120px rgba(0, 0, 0, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.2);
        }
        .expert-vis-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: 1.5s ease;
        }
        .expert-vis-card:hover img { transform: scale(1.05); }
        .expert-vis-overlay {
            position: absolute;
            bottom: 30px;
            left: 30px;
            right: 30px;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(25px);
            padding: 40px;
            border-radius: 30px;
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: white;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
        }

        .section--stories {
            background: #fff;
            padding: 100px 0;
            overflow: hidden;
        }
        .stories-track {
            overflow-x: auto;
            padding: 40px 0;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            cursor: grab;
            scroll-behavior: smooth;
        }
        .stories-track.no-smooth { scroll-behavior: auto !important; }
        .stories-track.no-snap { scroll-snap-type: none !important; }
        .stories-track.is-dragging {
            scroll-snap-type: none;
            cursor: grabbing;
            scroll-behavior: auto;
        }
        .stories-track::-webkit-scrollbar { display: none; }
        .stories-wrapper {
            display: flex;
            gap: 24px;
            padding: 0 max(20px, calc((100vw - 1200px) / 2));
        }
        .story-card {
            flex: 0 0 440px;
            height: 480px;
            scroll-snap-align: center;
            scroll-snap-stop: always;
            display: flex;
            flex-direction: column;
            user-select: none;
            position: relative;
        }
        .story-card-inner {
            width: 100%;
            height: 100%;
            border-radius: 32px;
            padding: 48px;
            background: #f9f9fb;
            transition: transform 0.5s cubic-bezier(0.2, 1, 0.3, 1), opacity 0.5s cubic-bezier(0.2, 1, 0.3, 1), background 0.5s ease, box-shadow 0.5s ease;
            display: flex;
            flex-direction: column;
            border: 1px solid rgba(0, 0, 0, 0.03);
            opacity: 0.7;
            transform: scale(0.97) translateZ(0);
            will-change: transform, opacity;
            backface-visibility: hidden;
        }
        .story-card.active .story-card-inner {
            opacity: 1;
            transform: scale(1.03) translateZ(0);
            background: #ffffff;
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.08);
            border-color: rgba(43, 109, 60, 0.08);
        }
        @media (hover: hover) and (pointer: fine) {
            .story-card:hover .story-card-inner {
                background: #ffffff;
                box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
                transform: scale(0.985) translateY(-4px) translateZ(0);
            }
            .story-card.active:hover .story-card-inner {
                transform: scale(1.03) translateY(-4px) translateZ(0);
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .story-card:hover .story-card-inner,
            .story-card.active:hover .story-card-inner {
                transform: none;
            }
        }
        .story-author-header {
            display: flex;
            align-items: center;
            gap: 16px;
            margin-bottom: 32px;
        }
        .story-avatar {
            width: 64px;
            height: 64px;
            border-radius: 50%;
            object-fit: cover;
            background: #eee;
            border: 2px solid #fff;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
        }
        .story-info { display: flex; flex-direction: column; }
        .story-name { font-weight: 700; font-size: 1.15rem; color: #1d1d1f; }
        .story-proj { font-size: 0.85rem; color: #86868b; margin-top: 2px; }
        .story-rating {
            display: flex;
            gap: 5px;
            margin-top: 11px;
            font-size: 1.18rem;
            line-height: 1;
            letter-spacing: 0;
        }
        .story-rating__star {
            position: relative;
            display: inline-block;
            color: #d9dee5;
        }
        .story-rating__star::before {
            content: '★';
            position: absolute;
            left: 0;
            top: 0;
            width: var(--fill, 0%);
            overflow: hidden;
            color: #d9a441;
            text-shadow: 0 4px 12px rgba(217, 164, 65, 0.22);
        }
        .story-rating__star.is-active {
            color: #d9a441;
            text-shadow: 0 4px 12px rgba(217, 164, 65, 0.22);
        }
        .story-quote {
            font-size: 1.4rem;
            line-height: 1.4;
            font-weight: 500;
            color: #1d1d1f;
            margin-top: 0;
        }
        .dot {
            width: 8px;
            height: 8px;
            background: #e5e7eb;
            border-radius: 4px;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            cursor: pointer;
            position: relative;
            overflow: hidden;
        }
        .dot.active {
            width: 32px;
            background: #e5e7eb;
            border-radius: 10px;
        }
        .dot::after {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 0;
            background: var(--accent-green);
            border-radius: inherit;
            transition: none;
            z-index: 1;
        }
        .section--stories.autoplay-on .dot.active::after {
            width: 100%;
            transition: width 6s linear;
        }
        .autoplay-toggle {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: #f4f5f6;
            border: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
            color: #1d1d1f;
            margin-left: 8px;
        }
        .autoplay-toggle:hover {
            background: #e5e7eb;
            transform: scale(1.1);
        }
        .autoplay-toggle svg {
            width: 14px;
            height: 14px;
            fill: currentColor;
        }

        /* Pagination */
        .pagination-container { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 20px; margin-top: 72px; }
        .pagination-row { display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; width: 100%; }
        .pagination-row--top { margin-bottom: 6px; }
        .pg-status {
            min-width: auto;
            height: 56px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 8px;
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-secondary);
            line-height: 1;
        }
        .pg-btn {
            min-width: 44px;
            height: 44px;
            border-radius: 50%;
            background: #f4f5f6;
            border: 1px solid transparent;
            display: flex; align-items: center; justify-content: center;
            font-weight: 500;
            font-size: 1rem;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            color: var(--text-main);
            font-family: inherit;
            padding: 0;
            outline: none;
        }
        .pg-btn:hover:not(.pg-active):not(:disabled) { background: #e5e7eb; }
        .pg-btn.pg-active {
            background: #004c4b;
            border-color: #004c4b;
            color: #fff;
            box-shadow: 0 4px 16px rgba(0, 76, 75, 0.3);
        }
        .pg-btn:disabled { opacity: 0.3; cursor: not-allowed; }
        .pg-text {
            min-width: auto;
            width: auto;
            padding: 0 28px;
            border-radius: 22px;
            background: transparent;
            border: 1px solid #e5e7eb;
            color: var(--text-secondary);
            height: 56px;
            font-weight: 600;
        }
        .pg-text:hover:not(:disabled) {
            border-color: #d1d5db;
            background: transparent;
            color: var(--text-main);
        }
        .pg-loadmore {
            background: var(--accent-green);
            border-color: var(--accent-green);
            color: #fff;
        }
        .pg-loadmore:hover:not(:disabled) {
            background: var(--accent-green-hover);
            border-color: var(--accent-green-hover);
            transform: translateY(-3px);
            box-shadow: 0 15px 30px rgba(43, 109, 60, 0.25);
            color: #004c4b;
        }
        .pg-loadmore:active {
            transform: scale(0.97) translateY(-1px);
            opacity: 0.9;
        }

        /* Media Queries */
        @media (max-width: 1024px) {
            .catalog-layout { flex-direction: column; }
            .catalog-sidebar { width: 100%; }
            body.catalog-mobile-filter-ready .catalog-mobile-filter-bar { display: flex; }
            body.catalog-mobile-filter-ready .catalog-layout { gap: 32px; }
            body.catalog-mobile-filter-ready .catalog-topbar .results-count { display: none; }
            body.catalog-mobile-filter-ready .catalog-sidebar { display: none; }
            body.catalog-mobile-filter-ready .catalog-sidebar.is-mobile-open {
                position: fixed;
                inset: 0;
                z-index: 3000;
                width: 100%;
                display: flex;
                flex-direction: column;
                padding: calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));
                background: rgba(17, 32, 24, 0.46);
                backdrop-filter: blur(10px);
                -webkit-backdrop-filter: blur(10px);
                overflow: hidden;
            }
            body.catalog-mobile-filter-ready .catalog-sidebar.is-mobile-open .catalog-mobile-filter-panel-head {
                width: 100%;
                max-width: 560px;
                min-height: 62px;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 14px;
                margin: 0 auto;
                padding: 16px 20px 12px;
                border-radius: 24px 24px 0 0;
                background: #fff;
                border-bottom: 1px solid rgba(17, 31, 43, 0.08);
                box-shadow: 0 -1px 0 rgba(255,255,255,.8), 0 18px 54px rgba(17, 31, 43, 0.18);
            }
            .catalog-mobile-filter-title {
                display: inline-flex;
                align-items: center;
                gap: 10px;
                color: var(--text-main);
                font-family: 'Montserrat', sans-serif;
                font-size: 1.02rem;
                font-weight: 900;
            }
            .catalog-mobile-filter-title svg {
                width: 22px;
                height: 22px;
                color: var(--accent-green);
            }
            .catalog-mobile-filter-close {
                width: 44px;
                height: 44px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                border: 1px solid rgba(17, 31, 43, 0.08);
                border-radius: 50%;
                background: #f4f7f5;
                color: var(--text-main);
                cursor: pointer;
            }
            .catalog-mobile-filter-close svg {
                width: 20px;
                height: 20px;
            }
            body.catalog-mobile-filter-ready .catalog-sidebar.is-mobile-open .catalog-filter-root {
                width: 100%;
                max-width: 560px;
                flex: 1 1 auto;
                min-height: 0;
                display: block;
                overflow-y: auto;
                overscroll-behavior: contain;
                margin: 0 auto;
                padding: 16px 20px 4px;
                background: #fff;
            }
            body.catalog-mobile-filter-ready .catalog-sidebar.is-mobile-open .filter-actions {
                width: 100%;
                max-width: 560px;
                flex: 0 0 auto;
                margin: 0 auto;
                padding: 14px 20px 20px;
                border-radius: 0 0 24px 24px;
                background: #fff;
                box-shadow: 0 22px 54px rgba(17, 31, 43, 0.18);
            }
            body.catalog-mobile-filter-ready .catalog-sidebar.is-mobile-open .show-proj {
                min-height: 52px;
                border-radius: 14px;
            }
            body.catalog-mobile-filter-ready .catalog-sidebar.is-mobile-open .sidebar-articles {
                display: none !important;
            }
            .show-proj-float { display: none !important; }
            .sidebar-articles { display: none; }
            h2 { font-size: 2.2rem; }
            .expert-grid { grid-template-columns: 1fr; gap: 40px; }
            .expert-vis-card { height: 480px; }
            .stories-wrapper { padding: 0 40px; }
            .story-card { flex: 0 0 380px; height: 440px; }
            .recent-grid .p-card { flex-basis: min(72vw, 430px); }
            .recent-head { align-items: start; flex-direction: column; }
            .recent-subtitle { text-align: left; }
            .catalog-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-auto-rows: auto;
            }
            .p-card,
            .p-card--feature,
            .p-card--wide {
                grid-column: span 1 !important;
                grid-row: span 1 !important;
            }
            .catalog-grid .p-card--feature { grid-column: span 2; grid-row: span 2; }
            .catalog-grid .p-card--wide { grid-column: span 2; grid-row: span 1; }
            .catalog-grid--few { grid-template-columns: repeat(2, 1fr); }
            .catalog-grid--few .p-card,
            .catalog-grid--few .p-card--feature,
            .catalog-grid--few .p-card--wide {
                grid-column: span 1 !important;
                grid-row: span 1 !important;
            }
            .catalog-grid--trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .catalog-grid--trio .p-card,
            .catalog-grid--trio .p-card--feature,
            .catalog-grid--trio .p-card--wide {
                grid-column: span 1 !important;
                grid-row: span 1 !important;
            }
            .p-card.p-card--wide {
                display: flex;
                flex-direction: column;
                height: auto;
                overflow: hidden;
                background: var(--bg-white, #ffffff);
                border-radius: var(--radius-card, 24px);
                border: 1px solid var(--border, #e7edef);
                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
            }
            .p-card.p-card--wide .p-card__img {
                width: 100%;
                flex: none;
                aspect-ratio: 16 / 10;
            }
            .p-card.p-card--wide .p-card__info {
                display: flex;
                flex-direction: column;
                padding: 24px;
            }
            .p-card.p-card--wide .p-card__head {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
            }
            .p-card.p-card--wide .p-card__price {
                grid-column: auto;
                grid-row: auto;
                font-size: inherit;
            }
            .p-card.p-card--wide .p-card__meta {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 8px;
                font-size: inherit;
            }
            .p-card.p-card--wide .p-card__meta-item + .p-card__meta-item::before {
                content: none;
            }
            .p-card.p-card--wide .p-card__meta-item {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                min-height: auto;
                padding: 8px 12px;
                border-radius: var(--radius-sm, 8px);
                background: var(--bg-surface, #f8faf9);
                border: 1px solid var(--border-subtle, #e7edef);
            }
            .p-card.p-card--wide .p-card__meta-value {
                font-size: 1rem;
                font-weight: 900;
                color: var(--text-main, #1a1a1a);
            }
            .p-card.p-card--wide .p-card__meta-label {
                display: block;
                text-align: center;
                font-size: 0.75rem;
                color: var(--text-secondary, #6b7280);
            }
            .p-card__img { aspect-ratio: 4/3; min-height: 0; }

            /* Mobile/tablet scroll-reveal like on home page */
            .p-card__overlay {
                opacity: 0;
                background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.6) 100%);
                transition: opacity var(--overlay-transition) cubic-bezier(0.16, 1, 0.3, 1);
                padding: 58px 16px 18px;
            }
            .p-tag {
                opacity: 0;
                transform: translateY(35px) scale(0.95);
                transition: all var(--tag-transition) cubic-bezier(0.16, 1, 0.3, 1);
                max-width: calc(100% - 54px);
                padding: 6px 12px;
                font-size: 0.72rem;
            }
            .p-card__info {
                opacity: 0;
                transform: translateY(25px);
                transition: all var(--info-transition) cubic-bezier(0.16, 1, 0.3, 1);
            }
            .p-card.active .p-card__overlay { opacity: 1; }
            .p-card.active .p-tag {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
            .p-card.active .p-card__info {
                opacity: 1;
                transform: translateY(0);
                transition-delay: 0.15s;
            }
            .p-card.active .p-tag:nth-child(1) { transition-delay: 0.25s; }
            .p-card.active .p-tag:nth-child(2) { transition-delay: 0.35s; }
            .p-card.active .p-tag:nth-child(3) { transition-delay: 0.45s; }
            .p-card.scroll-fast {
                --tag-transition: 0.2s;
                --info-transition: 0.25s;
                --overlay-transition: 0.2s;
            }
            .p-card.scroll-fast .p-tag,
            .p-card.scroll-fast .p-card__info,
            .p-card.scroll-fast .p-card__overlay {
                transition-delay: 0s !important;
            }
        }
        @media (max-width: 640px) {
            .catalog-grid { grid-template-columns: 1fr; }
            .catalog-grid--few { grid-template-columns: 1fr; }
            .catalog-grid--trio { grid-template-columns: 1fr !important; }
            .recent-grid .p-card { flex-basis: min(86vw, 360px); }
            .section--recent { padding-top: 70px; padding-bottom: 70px; }
            h2 { font-size: 1.9rem; }
            .page-header h1 { font-size: 2.5rem; }
            .catalog-topbar { flex-direction: column; gap: 20px; align-items: flex-start; }
            .catalog-actions {
                width: 100%;
                margin: 0;
                order: 3;
            }
            .sort-box {
                width: 100%;
                justify-content: space-between;
                gap: 10px;
                padding-right: 8px;
                box-sizing: border-box;
            }
            .catalog-filter-summary,
            .catalog-quick-links {
                margin-left: 0;
                margin-right: 0;
            }
            .catalog-filter-summary__head {
                align-items: flex-start;
                flex-direction: column;
            }
            .catalog-quick-links.q-glass-demo {
                padding: 28px 18px 24px;
                border-radius: 28px;
            }
            .q-glass-demo__head,
            .q-glass-demo__footer {
                grid-template-columns: 1fr;
                display: grid;
            }
            .q-candidate-pill {
                justify-self: start;
                min-width: 0;
                height: 42px;
            }
            .q-glass-card {
                flex-basis: min(82vw, 340px);
                min-height: 250px;
                padding: 24px;
            }
            .q-glass-demo__button {
                min-width: 0;
                width: 100%;
            }
            .catalog-action-link {
                flex: 1;
                justify-content: center;
            }
            .sort-select {
                min-width: 0;
                max-width: calc(100% - 104px);
            }
            .view-toggle {
                margin-left: auto;
                margin-right: 4px;
                flex-shrink: 0;
            }
            .p-card__social {
                left: 10px;
                right: 10px;
                top: 10px;
            }
            .p-card__action-btn {
                width: 34px;
                height: 34px;
            }
            .expert-actions {
                flex-direction: column;
                align-items: flex-start;
                gap: 24px;
            }
            .expert-vis-card {
                height: 320px;
                border-radius: 24px;
            }
            .expert-vis-overlay {
                padding: 24px;
                bottom: 20px;
                left: 20px;
                right: 20px;
                border-radius: 20px;
            }
            .expert-vis-overlay h3 { font-size: 1.3rem !important; }
            .stories-wrapper {
                padding: 0 20px;
                gap: 16px;
            }
            .story-card {
                flex: 0 0 calc(100vw - 120px);
                min-height: 420px;
                height: auto;
            }
            .story-card-inner { padding: 24px; }
            .story-name { font-size: 1.1rem; }
            .story-quote { font-size: 1rem; }
            .pagination-container { align-items: center; }
            .pagination-row {
                flex-wrap: nowrap;
                overflow: hidden;
                justify-content: center;
                gap: 10px;
            }
            .pagination-row--top {
                flex-wrap: nowrap;
                overflow: visible;
                gap: 12px;
                justify-content: center;
                align-items: center;
            }
            .pagination-row--top .pg-status {
                flex: 0 0 auto;
                width: auto;
                min-height: 0;
                height: auto;
                justify-content: center;
                text-align: center;
                padding: 0;
                line-height: 1.1;
            }
            .pg-btn { min-width: 42px; height: 42px; }
            .pg-text { height: 42px; padding: 0 14px; }
        }

        /* Buttons */
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 20px 44px;
            background: var(--accent-green);
            color: white;
            border-radius: var(--radius-button);
            font-weight: 700;
            font-size: 1rem;
            border: none;
            cursor: pointer;
            transition: var(--transition);
            text-decoration: none;
        }

        .btn:hover {
            background: var(--accent-green-hover);
            transform: translateY(-3px);
            box-shadow: 0 15px 30px rgba(43, 109, 60, 0.25);
        }

        .btn:active {
            transform: scale(0.97) translateY(-1px);
            opacity: 0.9;
        }

        .btn--outline {
            background: transparent;
            border: 2px solid var(--accent-green);
            color: var(--accent-green);
        }

        .btn--outline:hover {
            background: var(--accent-green);
            color: white;
            box-shadow: none;
        }
        /* FAQ (as on home page) */
        #faqList {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }
        .faq-item {
            border: 1px solid var(--border);
            border-radius: 24px;
            background: #fff;
            overflow: hidden;
            transition: var(--transition);
            cursor: pointer;
        }
        .faq-item:hover {
            border-color: rgba(43, 109, 60, 0.35);
            transform: translateY(-2px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
        }
        .faq-q {
            padding: 30px 32px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 24px;
            transition: color 0.3s ease;
        }
        .faq-q h3 {
            font-size: 1.15rem;
            font-weight: 600;
            margin: 0;
            color: inherit;
            line-height: inherit;
            flex: 1;
        }
        .faq-a {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
            color: var(--text-secondary);
            opacity: 0;
            padding: 0 32px;
        }
        .faq-a p {
            margin: 0;
            font-size: 1.05rem;
            line-height: 1.7;
        }
        .faq-a ul {
            margin: 14px 0 0 20px;
            font-size: 1.02rem;
            line-height: 1.65;
        }
        .faq-a li { margin-bottom: 8px; }
        .faq-a a { color: var(--accent-green); font-weight: 700; text-decoration: none; }
        .faq-item.active {
            border-color: var(--accent-green);
            box-shadow: 0 20px 40px rgba(43, 109, 60, 0.08);
        }
        .faq-item.active .faq-a {
            max-height: 1200px;
            padding-bottom: 32px;
            opacity: 1;
        }
        .faq-icon {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: var(--bg-soft);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
            flex-shrink: 0;
            color: var(--text-main);
        }
        .faq-item.active .faq-icon {
            background: var(--accent-green);
            color: white;
            transform: rotate(45deg);
        }
        .reveal {
            opacity: 0;
            transform: translateY(30px) translateZ(0);
            transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
            will-change: transform, opacity;
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0) translateZ(0);
        }

        /* Footer Styles from Index (Minimal for now) */
        footer { background: #1a1a1a; color: white; padding: 80px 0 40px; }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 60px; margin-bottom: 60px; }
        .footer-logo img { height: 32px; margin-bottom: 24px; }
        .footer-title { font-family: 'Montserrat'; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; font-size: 0.8rem; color: rgba(255,255,255,0.4); margin-bottom: 24px; }
        .footer-link { display: block; color: rgba(255,255,255,0.6); text-decoration: none; margin-bottom: 12px; transition: 0.3s; }
        .footer-link:hover { color: white; }
        @media (max-width: 900px) {
            footer { padding: 56px 0 32px; overflow: hidden; }
            footer .container { max-width: 100%; }
            .footer-grid {
                grid-template-columns: 1.25fr 1fr;
                gap: 36px 48px;
                margin-bottom: 44px;
            }
            .footer-grid > * { min-width: 0; }
            .footer-grid p { max-width: 280px; }
            .footer-grid > div:last-child { grid-column: 1 / -1; }
            .footer-grid > div:last-child > div[style*="display: flex"] {
                max-width: 420px;
            }
            footer .container > div:last-child {
                align-items: flex-start;
                flex-direction: column;
                gap: 18px;
            }
            footer .container > div:last-child > div:last-child {
                flex-wrap: wrap;
                gap: 12px 22px !important;
            }
        }
        @media (max-width: 560px) {
            footer { padding: 52px 0 28px; }
            .footer-grid {
                grid-template-columns: 1fr;
                gap: 32px;
                margin-bottom: 36px;
            }
            .footer-grid p { max-width: 260px; margin-bottom: 0 !important; }
            .footer-title { margin-bottom: 16px; }
            .footer-link { margin-bottom: 10px; }
            .footer-grid > div:last-child > div[style*="display: flex"] {
                flex-direction: column;
                max-width: 100%;
            }
            .footer-grid input { width: 100%; box-sizing: border-box; }
            .footer-grid button { width: 100%; }
            footer .container > div:last-child {
                padding-top: 28px !important;
                font-size: 0.82rem !important;
                line-height: 1.55;
            }
        }
    
        /* FAQ Spotlight Glow Effect */
        .faq-q {
            position: relative;
            overflow: hidden;
        }
        .faq-q h3, .faq-q .faq-icon {
            position: relative;
            z-index: 2;
        }
        .card-glow {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 1;
            opacity: 0;
            transition: opacity 0.25s ease;
            background: radial-gradient(
                450px at var(--mouse-x, 0px) var(--mouse-y, 0px),
                rgba(43, 109, 60, 0.22) 0%,
                rgba(43, 109, 60, 0.08) 50%,
                transparent 100%
            );
        }
        .faq-q:hover .card-glow {
            opacity: 1;
        }
