/* Adaptación PCForge de la paleta lavanda adjunta. Hoja independiente y reversible. */
:root {
    --background: #f1eef7;
    --foreground: #352d48;
    --surface: #fcfbfe;
    --navy: #2c273c;
    --ink: #352d48;
    --muted: #70687d;
    --blue: #7655b5;
    --line: #ded8e9;
    --surface-page: var(--background);
    --surface-default: var(--surface);
    --surface-raised: #fff;
    --surface-interactive: #eee8f8;
    --text-primary: var(--foreground);
    --text-secondary: var(--muted);
    --border-default: var(--line);
    --accent: var(--blue);
    --accent-hover: #62439c;
    --focus-ring: #8e70ca;
    --status-success: #477b68;
    --status-warning: #8a641b;
    --status-error: #a33d4b;
    --proto-ink: #302940;
    --proto-blue: #7655b5;
    --proto-blue-soft: #eee8f8;
    --proto-paper: #f1eef7;
    --proto-card: #fcfbfe;
    --proto-line: #ded8e9;
    --proto-text: #352d48;
    --proto-muted: #70687d;
    --proto-green: #477b68;
    --proto-green-soft: #e9f3ef;
    --proto-warm: #8a641b;
    --proto-warm-soft: #fff4df;
}

body {
    background: var(--background);
    color: var(--foreground);
    font-family: "DM Sans", "Segoe UI", Arial, sans-serif;
}
.site-header, .site-footer { background: var(--navy); }
.logo b, nav a[aria-current="page"] { color: #c3adeb; }
nav a[aria-current="page"] { border-color: #a48bd5; }
.site-header a:hover, .site-footer a:hover { color: #d7c6f5; }
.button { background: var(--accent); }
.button:hover { background: var(--accent-hover); }
.text-link:hover, .text-button:hover, .product-detail:hover,
.proto-tool a:hover, .proto-way-copy > span:last-child { color: #67489f; }
:focus-visible { outline-color: #8e70ca; }

input, select, .tool-select, .budget-number {
    border-color: #d4cce2;
    background-color: #fcfbfe;
}
input:focus, select:focus, .tool-select:focus, .budget-number:focus {
    border-color: #9b83cb;
}

.site-footer { color: #e0dbea; }
.home-page, .components-hub-page, .category-page { background: var(--background); }
.header-dialog { border-color: #ded8e9; background: #fcfbfe; color: #352d48; }
.header-dialog-close { background: #eeeaf4; color: #352d48; }
.header-search-result:hover { border-color: #b7a5d7; background: #f5f1fb; }
.profile-icon-large { background: #eee8f8; color: #7655b5; }

/* Los paneles de componentes conservan sus colores propios. */
.category-cpu, .category-cpu:hover, .product-photo.photo-cpu { background: #cdd4df; }
.category-gpu, .category-gpu:hover, .product-photo.photo-gpu { background: #cbd7d2; }
.category-ram, .category-ram:hover, .product-photo.photo-ram { background: #ded5c7; }

/* Inicio: tarjetas neutras y violeta oscuro, en consonancia con la cabecera. */
.idea-blue { background: #3a314b; color: #fcfbfe; }
.idea-blue p { color: #e2dbea; }
.idea-blue a:hover { color: #d9c7fb; }
.idea-sand { background: #fcfbfe; color: #352d48; border: 1px solid var(--line); }
.idea-sand p { color: var(--muted); }
.idea-sand .text-link { color: #67489f; }

/* Portada: foto nítida en una franja propia, sin máscara ni degradado. */
.home-page .hardware-feature {
    display: grid;
    grid-template-rows: auto minmax(280px, 1fr);
    align-content: stretch;
    background: #20242b;
}
.home-page .feature-copy { position: relative; z-index: 1; padding-bottom: 28px; }
.home-page .feature-photo {
    position: relative;
    isolation: isolate;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: 100%;
    min-height: 280px;
    overflow: hidden;
}
.home-page .feature-photo::after {
    position: absolute;
    inset: 66% 0 0;
    z-index: 1;
    background: linear-gradient(to bottom, transparent, rgba(32,36,43,.48) 48%, #20242b 100%);
    content: "";
    pointer-events: none;
}
.home-page .feature-photo img {
    mask-image: none;
    -webkit-mask-image: none;
    filter: none;
    object-position: center 63%;
}
.home-page .idea-card .text-link,
.home-page .idea-card .text-link:hover {
    border-bottom: 0;
    text-decoration: none;
}
.home-page .idea-stack {
    align-content: start;
    grid-template-rows: auto auto;
}
.home-page .idea-card {
    min-height: 0;
    padding-block: 28px;
}

.journey-card,
.journey-card:nth-child(2),
.journey-card:nth-child(3) {
    background: #fcfbfe;
    color: #352d48;
    border: 1px solid var(--line);
}
.journey-card > p:not(.journey-label) { color: var(--muted); }
.journey-card .text-link { color: #67489f; }
.journey-card.journey-active {
    background: #3a314b;
    color: #fcfbfe;
    border-color: #3a314b;
}
.journey-card.journey-active > p:not(.journey-label) { color: #e2dbea; }
.journey-card.journey-active .text-link { color: #fcfbfe; }
.journey-card.journey-active .text-link:hover { color: #d9c7fb; }

.product-card, .hub-category-card, .category-product-card,
.home-build-card, .proto-tool { border-color: var(--line); }
.filters, .empty-state { background: #e8e3f0; }
.product-category, .category-eyebrow, .hub-category-copy > span { color: #7655b5; }

.prototype-v2 { background: var(--proto-paper); color: var(--proto-text); }
.proto-tool { background-color: var(--proto-card); }
.proto-tool:nth-child(even) { background: #f4f1f8; }
.proto-tool-header { border-color: #e4deed; }
.proto-tool-header h2, .prototype-v2 .proto-v2-copy h1 { color: var(--proto-ink); }
.proto-v2-hero { background: #fcfbfe; border-color: var(--proto-line); }
.proto-v2-visual { background: linear-gradient(145deg, #e7e0f1, #dcd4e9); }
.proto-v2-copy .eyebrow, .proto-tool-header .index { color: #7655b5; }
.prototype-v2 .proto-v2-copy > p:not(.eyebrow) { color: #625a70; }
.proto-tool-badge { background: #eee8f8; color: #67489f; }
.compare-v2-box, .detail-v2, .smart-config, .builder-field { background-color: #f4f1f8; }
.compare-helper { background: #eee8f8; color: #574b6c; }
.comparison-table > span:nth-child(-n+3) { background: #393149; }
.comparison-table > span:nth-child(n+4):nth-child(-n+6) { background: #eeeaf4; }
.smart-v2-top { background: #302940; }
.smart-choice.is-selected { border-color: #9b83cb; background: #f2edf9; }
.smart-choice-icon { background: #eee8f8; color: #7655b5; }
.budget-range { accent-color: #7655b5; }
.proto-way { border-color: var(--proto-line); }
.proto-way-image { background: #e8e3ef; }
.proto-way-image--contain { padding: 12px; }

/* Modo oscuro: tinta ciruela y superficies lavanda profundas, sin negro puro. */
html[data-theme="dark"] {
    color-scheme: dark;
    --background: #17151d;
    --foreground: #f2eef8;
    --surface: #211e29;
    --navy: #211c2b;
    --ink: #f2eef8;
    --muted: #b9b1c5;
    --blue: #b69ae7;
    --line: #3d3748;
    --surface-page: var(--background);
    --surface-default: var(--surface);
    --surface-raised: #292433;
    --surface-interactive: #342b44;
    --text-primary: var(--foreground);
    --text-secondary: var(--muted);
    --border-default: var(--line);
    --accent: var(--blue);
    --accent-hover: #cbb6f1;
    --focus-ring: #d2baff;
    --status-success: #8fc2a9;
    --status-warning: #e4bf70;
    --status-error: #f08e9b;
    --proto-ink: #f2eef8;
    --proto-blue: #b69ae7;
    --proto-blue-soft: #342b44;
    --proto-paper: #17151d;
    --proto-card: #211e29;
    --proto-line: #3d3748;
    --proto-text: #f2eef8;
    --proto-muted: #b9b1c5;
    --proto-green-soft: #263a34;
    --proto-warm-soft: #433723;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .home-page,
html[data-theme="dark"] .components-hub-page,
html[data-theme="dark"] .category-page,
html[data-theme="dark"] .prototype-v2 {
    background: var(--background);
    color: var(--foreground);
}

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-footer { background: #211c2b; }
html[data-theme="dark"] .site-header a:hover,
html[data-theme="dark"] .site-footer a:hover { color: #d8c6f5; }
html[data-theme="dark"] .site-header .header-icon-button { color: #e6def2; }
html[data-theme="dark"] .site-header .header-icon-button:hover { background: #383044; color: #fff; }

html[data-theme="dark"] .header-dialog,
html[data-theme="dark"] .product-card,
html[data-theme="dark"] .hub-category-card,
html[data-theme="dark"] .category-product-card,
html[data-theme="dark"] .catalog-product-card,
html[data-theme="dark"] .home-build-card,
html[data-theme="dark"] .idea-sand,
html[data-theme="dark"] .journey-card,
html[data-theme="dark"] .proto-tool,
html[data-theme="dark"] .proto-v2-hero,
html[data-theme="dark"] .smart-config,
html[data-theme="dark"] .builder-field,
html[data-theme="dark"] .compare-v2-box,
html[data-theme="dark"] .detail-v2 {
    border-color: var(--line);
    background-color: var(--surface);
    color: var(--foreground);
}

html[data-theme="dark"] .comparator-body .compare-v2-product,
html[data-theme="dark"] .compare-compatibility-item { border-color: var(--line); background: var(--surface); }
html[data-theme="dark"] .comparator-body .compare-v2-product-image { background: #302a3a; }
html[data-theme="dark"] .comparison-row:not(.comparison-head) > span:first-child { background: var(--surface); }
html[data-theme="dark"] .comparison-row.is-different > span { background: color-mix(in srgb, #7655b5 22%, var(--surface)); }
html[data-theme="dark"] .compare-build-context { border-color: var(--line); background: #302a3a; }
html[data-theme="dark"] .compatibility-status { background: #25212e; }

html[data-theme="dark"] .hub-category-card:hover,
html[data-theme="dark"] .catalog-product-card:hover,
html[data-theme="dark"] .product-card:hover { color: var(--foreground); }
html[data-theme="dark"] .components-hub .hub-category-copy > strong b { border-color: #51465f; background: #342b44; color: #d8c6f5; }
html[data-theme="dark"] .components-hub .hub-category-card:hover .hub-category-copy > strong b,
html[data-theme="dark"] .components-hub .hub-category-card:focus-visible .hub-category-copy > strong b { border-color: #9b78cf; background: #8056b5; color: #fff; }
html[data-theme="dark"] .hub-category-media,
html[data-theme="dark"] .catalog-product-media,
html[data-theme="dark"] .comparison-image,
html[data-theme="dark"] .product-photo,
html[data-theme="dark"] .proto-v2-visual,
html[data-theme="dark"] .proto-way-image {
    background: #2b2634;
}
html[data-theme="dark"] .prototype-v2 .proto-way {
    border-color: #423752;
    background: #211c2b;
    color: #f2eef8;
}
html[data-theme="dark"] .prototype-v2 .proto-way-copy h3 { color: #f2eef8; }
html[data-theme="dark"] .prototype-v2 .proto-way-copy p { color: #c7bfd2; }
html[data-theme="dark"] .prototype-v2 .proto-way-copy > span:last-child { color: #c5a4ff; }
html[data-theme="dark"] .prototype-v2 .proto-way:hover { border-color: #7658a3; background: #292238; }
html[data-theme="dark"] .hub-category-media img { mix-blend-mode: normal; }
html[data-theme="dark"] .hub-category-copy p,
html[data-theme="dark"] .catalog-product-specs,
html[data-theme="dark"] .comparison-table td,
html[data-theme="dark"] .comparison-note,
html[data-theme="dark"] .category-section-heading > p,
html[data-theme="dark"] .hub-section-heading > p,
html[data-theme="dark"] .header-search-status,
html[data-theme="dark"] .header-profile-dialog > p:not(.eyebrow),
html[data-theme="dark"] .prototype-v2 .proto-v2-copy > p:not(.eyebrow) {
    color: var(--muted);
}

html[data-theme="dark"] .filters,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .proto-tool:nth-child(even),
html[data-theme="dark"] .compare-helper,
html[data-theme="dark"] .smart-choice-icon,
html[data-theme="dark"] .profile-icon-large,
html[data-theme="dark"] .header-dialog-close {
    background: #302a3a;
    color: #e5daf5;
}
html[data-theme="dark"] .header-search-result,
html[data-theme="dark"] .search-result,
html[data-theme="dark"] .smart-choice,
html[data-theme="dark"] .journey-card,
html[data-theme="dark"] .idea-sand {
    border-color: var(--line);
    background: #25212e;
    color: var(--foreground);
}
html[data-theme="dark"] .header-search-result:hover,
html[data-theme="dark"] .site-header .component-menu-item:hover,
html[data-theme="dark"] .site-header .component-menu-item:focus-visible,
html[data-theme="dark"] .smart-choice.is-selected {
    border-color: #78629b;
    background: #342b44;
    color: var(--foreground);
}

html[data-theme="dark"] .header-search-topbar,
html[data-theme="dark"] .header-search-suggestions { border-color: var(--line); }
html[data-theme="dark"] .header-search-dialog { background: #201a2c; }
html[data-theme="dark"] .header-search-topbar { background: var(--navy); color: #f6f2fc; }
html[data-theme="dark"] .header-search-topbar input { color: var(--foreground); }
html[data-theme="dark"] .header-search-topbar input::placeholder { color: var(--muted); }
html[data-theme="dark"] .header-search-product-media { background: #f7f5fa; }
html[data-theme="dark"] .header-search-product > span:not(.header-search-product-media) { color: var(--muted); }
html[data-theme="dark"] .header-search-suggestion { color: var(--foreground); }
html[data-theme="dark"] .header-search-suggestion:hover,
html[data-theme="dark"] .header-search-suggestion:focus-visible,
html[data-theme="dark"] .header-search-product:hover strong,
html[data-theme="dark"] .header-search-product:focus-visible strong { color: #c7aaff; }

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .tool-select,
html[data-theme="dark"] .budget-number {
    border-color: #51485f;
    background-color: #1b1822;
    color: #f2eef8;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #9d93aa; }
html[data-theme="dark"] .header-search-topbar input,
html[data-theme="dark"] .header-search-topbar input:focus {
    border: 0;
    background: transparent;
    box-shadow: none;
    outline: none;
}
html[data-theme="dark"] .header-search-topbar input::-webkit-search-cancel-button {
    display: none;
    -webkit-appearance: none;
    appearance: none;
}
html[data-theme="dark"] .component-mega-menu {
    border-color: #433a51;
    background: #211e29;
    color: var(--foreground);
}
html[data-theme="dark"] .component-menu-intro h2,
html[data-theme="dark"] .site-header .component-menu-item { color: var(--foreground); }
html[data-theme="dark"] .component-menu-intro > p:not(.eyebrow),
html[data-theme="dark"] .component-menu-item small { color: #b9b1c5; }
html[data-theme="dark"] .component-menu-icon { background: #342b44; color: #c9b3f0; }

html[data-theme="dark"] .comparison-scroll,
html[data-theme="dark"] .comparison-table,
html[data-theme="dark"] .comparison-table thead th,
html[data-theme="dark"] .comparison-table tbody tr,
html[data-theme="dark"] .comparison-table tbody tr:nth-child(odd) {
    background: #211e29;
}
html[data-theme="dark"] .comparison-scroll,
html[data-theme="dark"] .comparison-table th,
html[data-theme="dark"] .comparison-table td,
html[data-theme="dark"] .catalog-product-footer { border-color: var(--line); }
html[data-theme="dark"] .comparison-table .comparison-label,
html[data-theme="dark"] .comparison-table .comparison-product,
html[data-theme="dark"] .catalog-product-heading h3,
html[data-theme="dark"] .hub-category-copy h3 { color: var(--foreground); }
html[data-theme="dark"] .comparison-table .comparison-image { background: #302a3a; }
html[data-theme="dark"] .comparison-table .comparison-image img { mix-blend-mode: normal; }

html[data-theme="dark"] .idea-blue,
html[data-theme="dark"] .journey-card.journey-active,
html[data-theme="dark"] .smart-v2-top { background: #30283d; color: #f2eef8; }
html[data-theme="dark"] .idea-blue p,
html[data-theme="dark"] .journey-card.journey-active > p:not(.journey-label) { color: #ded5eb; }
html[data-theme="dark"] .button { background: #8c6ac4; color: #fff; }
html[data-theme="dark"] .button:hover { background: #a184d4; }
html[data-theme="dark"] .text-link,
html[data-theme="dark"] .text-button,
html[data-theme="dark"] .catalog-source,
html[data-theme="dark"] .category-filters .text-button,
html[data-theme="dark"] .product-category,
html[data-theme="dark"] .category-eyebrow,
html[data-theme="dark"] .hub-category-copy > span { color: #c3a9f0; }

html[data-theme="dark"] .category-card,
html[data-theme="dark"] .component-choice,
html[data-theme="dark"] .smart-result,
html[data-theme="dark"] .screen-placeholder,
html[data-theme="dark"] .builder-steps div,
html[data-theme="dark"] .fake-select,
html[data-theme="dark"] .choice-row span,
html[data-theme="dark"] .proto-build-feature,
html[data-theme="dark"] .proto-build-card,
html[data-theme="dark"] .proto-compare-item,
html[data-theme="dark"] .about-principles article,
html[data-theme="dark"] .about-person {
    border-color: var(--line);
    background: #211e29;
    color: var(--foreground);
}
html[data-theme="dark"] .component-choice:nth-child(2n),
html[data-theme="dark"] .builder-steps div.active,
html[data-theme="dark"] .smart-result,
html[data-theme="dark"] .screen-placeholder,
html[data-theme="dark"] .proto-build-feature-media,
html[data-theme="dark"] .proto-build-card-media,
html[data-theme="dark"] .component-build-cta-media,
html[data-theme="dark"] .component-preview,
html[data-theme="dark"] .about-avatar {
    background: #302a3a;
}
html[data-theme="dark"] .component-preview.ficha-ram,
html[data-theme="dark"] .component-preview.ficha-storage,
html[data-theme="dark"] .component-preview.ficha-psu { background: #302a3a; }
html[data-theme="dark"] .component-banner-link,
html[data-theme="dark"] .category-card:hover { color: var(--foreground); }
html[data-theme="dark"] .home-page .home-component-banners .category-gpu,
html[data-theme="dark"] .home-page .home-component-banners .category-ram,
html[data-theme="dark"] .home-page .home-component-banners .category-card,
html[data-theme="dark"] .journey-card:nth-child(2),
html[data-theme="dark"] .journey-card:nth-child(3) {
    border-color: var(--line);
    background: #25212e;
    color: var(--foreground);
}
html[data-theme="dark"] .journey-card > p:not(.journey-label),
html[data-theme="dark"] .about-person p,
html[data-theme="dark"] .about-principles p { color: var(--muted); }
html[data-theme="dark"] .about-page,
html[data-theme="dark"] .about-main { background: var(--background); color: var(--foreground); }
html[data-theme="dark"] .about-principles article,
html[data-theme="dark"] .about-person { box-shadow: 0 14px 32px #00000020; }
html[data-theme="dark"] .prototype-status.is-error { border-color: #69454d; background: #3c282e; color: #f0c2ca; }
html[data-theme="dark"] .proto-tool-header { border-color: var(--line); }
html[data-theme="dark"] .proto-v2-copy h1,
html[data-theme="dark"] .proto-tool-header h2,
html[data-theme="dark"] .proto-build-feature h2,
html[data-theme="dark"] .proto-build-card h3,
html[data-theme="dark"] .proto-compare-item h3,
html[data-theme="dark"] .about-principles h2,
html[data-theme="dark"] .about-person h3 { color: var(--foreground); }
html[data-theme="dark"] .proto-build-tag,
html[data-theme="dark"] .proto-tool-badge { background: #3a304b; color: #d6c4f5; }
html[data-theme="dark"] .comparison-table > span:nth-child(-n+3) { background: #30283d; color: #f2eef8; }
html[data-theme="dark"] .comparison-table > span:nth-child(n+4):nth-child(-n+6) { background: #292532; color: #e8e0f1; }
html[data-theme="dark"] .auth-tabs button.is-active { background: #443a54; color: #e4d3ff; }

html[data-theme="dark"] .forbi-panel,
html[data-theme="dark"] .chatbot-panel,
html[data-theme="dark"] .forbi-chat,
html[data-theme="dark"] .chatbot-window {
    border-color: var(--line);
    background: #211e29;
    color: var(--foreground);
}
html[data-theme="dark"] .account-page { background: #17151d; color: #f2eef8; }
html[data-theme="dark"] .account-layout {
    background:
        radial-gradient(ellipse at 8% 8%, rgba(157, 125, 209, .16), transparent 34%),
        radial-gradient(ellipse at 92% 88%, rgba(86, 150, 180, .12), transparent 38%),
        #17151d;
}
html[data-theme="dark"] .account-card {
    border-color: #40374e;
    background: rgba(33, 30, 41, .97);
    box-shadow: 0 18px 52px rgba(0, 0, 0, .25), 0 2px 8px rgba(0, 0, 0, .14);
}
html[data-theme="dark"] .account-brand .logo-word,
html[data-theme="dark"] .account-card h1,
html[data-theme="dark"] .member-panel h2,
html[data-theme="dark"] .member-name { color: #f2eef8; }
html[data-theme="dark"] .account-intro,
html[data-theme="dark"] .account-benefits,
html[data-theme="dark"] .account-hint,
html[data-theme="dark"] .member-email,
html[data-theme="dark"] .member-note { color: #b9b1c5; }
html[data-theme="dark"] .account-form label { color: #e9e2f1; }
html[data-theme="dark"] .account-form input { border-color: #51485f; background: #1b1822; color: #f2eef8; }
html[data-theme="dark"] .account-tabs { background: #302a3a; }
html[data-theme="dark"] .account-tabs button { color: #c5bbd0; }
html[data-theme="dark"] .account-tabs button.is-active { background: #443a54; color: #e4d3ff; }
html[data-theme="dark"] .provider-button { border-color: #51485f; background: #292532; color: #f2eef8; }
html[data-theme="dark"] .provider-button:hover { border-color: #8c70b4; background: #342b44; }
html[data-theme="dark"] .account-divider { color: #b9b1c5; }
html[data-theme="dark"] .account-divider::before,
html[data-theme="dark"] .account-divider::after { background: #40394a; }
html[data-theme="dark"] .account-benefits i { background: #342b44; color: #d1b7fa; }
html[data-theme="dark"] .account-back { color: #c3a9f0; }

html[data-theme="dark"] .pcf-chat-panel { border-color: #51465f; background: #211e29; color: #f2eef8; }
html[data-theme="dark"] .pcf-chat-header { border-color: #51465f; background: #342b44; color: #f2eef8; }
html[data-theme="dark"] .pcf-chat-heading small { color: #d0c5dd; }
html[data-theme="dark"] .pcf-chat-close { background: #453a55; color: #f2eef8; }
html[data-theme="dark"] .pcf-chat-body { background: #211e29; }
html[data-theme="dark"] .pcf-chat-bubble { border-color: #494153; background: #302a3a; color: #f2eef8; }
html[data-theme="dark"] .pcf-chat-message.is-user .pcf-chat-bubble { background: #5b4777; border-color: #5b4777; color: #fff; }
html[data-theme="dark"] .pcf-chat-footer { border-color: #494153; background: #25212e; }
html[data-theme="dark"] .pcf-chat-action { border-color: #51465f; background: #342b44; color: #e2d3f7; }
html[data-theme="dark"] .pcf-chat-input { border-color: #51485f !important; background: #1b1822 !important; color: #f2eef8 !important; }
html[data-theme="dark"] .pcf-chat-hint { color: #b9b1c5; }

.theme-toggle--floating {
    position: fixed;
    z-index: 1200;
    top: 18px;
    right: 20px;
    width: 44px;
    height: 44px;
    border: 1px solid #ded8e9;
    background: #fcfbfe;
    color: #67489f;
    box-shadow: 0 5px 20px #201b2c1c;
}
.theme-toggle--floating:hover { background: #eee8f8; color: #4d347c; }
html[data-theme="dark"] .theme-toggle--floating {
    border-color: #51485f;
    background: #302a3a;
    color: #e1d0ff;
}
html[data-theme="dark"] .theme-toggle--floating:hover { background: #40354f; color: #fff; }
html[data-theme="dark"] .profile-hover-menu {
    border-color: #494153;
    background: #292532;
    color: #f2eef8;
    box-shadow: 0 18px 38px #00000050;
}
html[data-theme="dark"] .profile-hover-menu::after { border-color: #494153; background: #292532; }
html[data-theme="dark"] .profile-hover-menu p { color: #c5bbd0; }
html[data-theme="dark"] .profile-menu-summary { border-color: #494153; }
html[data-theme="dark"] .profile-menu-summary strong { color: #f2eef8; }
html[data-theme="dark"] .profile-menu-summary small { color: #b9b1c5; }
html[data-theme="dark"] .profile-menu-summary .profile-menu-eyebrow { color: #c3a9f0; }
html[data-theme="dark"] .profile-menu-count { background: #3a304b; color: #ddcafa; }
html[data-theme="dark"] .profile-menu-links a { border-color: #40394a; color: #e9e2f1; }
html[data-theme="dark"] .profile-menu-signout { color: #d0b7f8; }
html[data-theme="dark"] .profile-hover-menu .profile-menu-secondary,
html[data-theme="dark"] .profile-hover-menu .profile-menu-secondary:hover { color: #d0b7f8; }
html[data-theme="dark"] .build-auth-notice { border-color: #51465f; background: #302a3a; color: #f2eef8; }
html[data-theme="dark"] .build-auth-notice p { color: #c5bbd0; }
html[data-theme="dark"] .build-compatibility.has-conflicts { border-left-color: #fb7185; color: #ffc2ce; }
html[data-theme="dark"] .build-compatibility.has-conflicts strong,
html[data-theme="dark"] .build-compatibility li.is-conflict > span { color: #ffc2ce; }
html[data-theme="dark"] .builder-save-blocked { border-color: #8f5361; border-left-color: #fb7185; background: #2d1d29; color: #f7e9ef; }
html[data-theme="dark"] .builder-save-blocked > strong { color: #ffc2ce; }
html[data-theme="dark"] .builder-save-blocked p,
html[data-theme="dark"] .builder-save-blocked ul { color: #e1cbd5; }
html[data-theme="dark"] .builder-save-blocked a { color: #d8c4ff; }

/* Paleta nocturna PCForge: superficies con profundidad y texto de alto contraste. */
html[data-theme="dark"] {
    --background: #100e18;
    --foreground: #f7f3ff;
    --surface: #1b1726;
    --surface-raised: #241e32;
    --surface-soft: #2d2440;
    --navy: #171321;
    --ink: #f7f3ff;
    --muted: #c8bfd8;
    --blue: #b69aff;
    --line: #423752;
    --proto-ink: #f7f3ff;
    --proto-blue: #b69aff;
    --proto-blue-soft: #382b50;
    --proto-paper: #100e18;
    --proto-card: #1b1726;
    --proto-line: #423752;
    --proto-text: #f7f3ff;
    --proto-muted: #c8bfd8;
    --proto-green: #68d5b0;
    --proto-green-soft: #17382f;
    --proto-warm: #ffc078;
    --proto-warm-soft: #402b23;
    --color-bg-page: #100e18;
    --color-bg-card: #1b1726;
    --color-bg-media: #292138;
    --color-border: #423752;
    --color-text: #f7f3ff;
    --color-text-muted: #c8bfd8;
    --color-primary: #b69aff;
    --color-accent-soft: #382b50;
    --color-media-blue: #292138;
    --color-media-beige: #30243a;
    --color-media-green: #202d32;
    --color-media-lavender: #30243f;
    color-scheme: dark;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .home-page,
html[data-theme="dark"] .components-hub-page,
html[data-theme="dark"] .category-page,
html[data-theme="dark"] .prototype-v2,
html[data-theme="dark"] .about-page,
html[data-theme="dark"] .about-main,
html[data-theme="dark"] .catalog-page,
html[data-theme="dark"] .catalog-page-body,
html[data-theme="dark"] .category-main,
html[data-theme="dark"] .account-page {
    background-color: var(--background);
    color: var(--foreground);
}

html[data-theme="dark"] :is(h1, h2, h3, h4, strong, label, legend, summary, dt),
html[data-theme="dark"] .catalog-product-heading h3,
html[data-theme="dark"] .catalog-price,
html[data-theme="dark"] .product-price,
html[data-theme="dark"] .product-body h3,
html[data-theme="dark"] .builder-selection strong,
html[data-theme="dark"] .smart-result strong,
html[data-theme="dark"] .comparison-table th,
html[data-theme="dark"] .comparison-table .comparison-product {
    color: #f7f3ff;
}

html[data-theme="dark"] :is(p, li, dd, figcaption, .section-intro, .catalog-note, .product-summary, .product-brand, .product-status, .catalog-product-specs, .comparison-note, .detail-note, .tool-note, .screen-muted, .prototype-intro, .about-person p, .about-principles p),
html[data-theme="dark"] .header-search-status,
html[data-theme="dark"] .header-profile-dialog > p:not(.eyebrow),
html[data-theme="dark"] .prototype-v2 .proto-v2-copy > p:not(.eyebrow) {
    color: #c8bfd8;
}

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-footer {
    background: #171321;
    color: #f2edff;
}
html[data-theme="dark"] .site-header a:hover,
html[data-theme="dark"] .site-footer a:hover { color: #d8c5ff; }
html[data-theme="dark"] .site-header .header-icon-button { color: #e9e1f7; }
html[data-theme="dark"] .site-header .header-icon-button:hover { background: #30263f; color: #fff; }

html[data-theme="dark"] :is(.product-card, .hub-category-card, .category-product-card, .catalog-product-card, .home-build-card, .proto-tool, .proto-v2-hero, .smart-config, .builder-field, .compare-v2-box, .detail-v2, .category-card, .component-choice, .smart-result, .screen-placeholder, .builder-steps div, .fake-select, .choice-row span, .proto-build-feature, .proto-build-card, .proto-compare-item, .about-principles article, .about-person, .prototype-screen, .prototype-card, .tool-card, .saved-build-card, .recommended-build, .smart-build-card, .build-suggestion, .builder-box, .builder-panel, .builder-summary, .comparison-scroll, .comparison-section, .ficha-preview, .compare-placeholder) {
    border-color: #423752;
    background-color: #1b1726;
    color: #f7f3ff;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
}

html[data-theme="dark"] :is(.product-card, .hub-category-card, .category-product-card, .catalog-product-card, .home-build-card, .proto-tool, .category-card, .component-choice, .prototype-screen, .prototype-card, .tool-card, .saved-build-card, .smart-build-card, .build-suggestion, .builder-box, .builder-panel, .builder-summary):hover {
    border-color: #7658a3;
    background-color: #241e32;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .28), 0 0 0 1px rgba(182, 154, 255, .1);
}

html[data-theme="dark"] :is(.filters, .category-filters, .empty-state, .proto-tool:nth-child(even), .compare-helper, .smart-choice-icon, .profile-icon-large, .header-dialog-close, .builder-steps div, .component-preview, .proto-build-feature-media, .proto-build-card-media, .component-build-cta-media, .about-avatar, .catalog-product-media, .comparison-image, .product-photo, .proto-v2-visual, .proto-way-image) {
    border-color: #423752;
    background-color: #292138;
    color: #ede5fa;
}
html[data-theme="dark"] .category-extra-filters input {
    border-color: #514462;
    background: #211b2a;
    color: #f1ebfa;
    color-scheme: dark;
}
html[data-theme="dark"] :is(.hub-category-media, .component-feature-media, .component-build-cta-media, .category-hero-products, .featured-products, .lineup-product-media) {
    background-color: #292138;
}
html[data-theme="dark"] .components-hub .hub-category-card .hub-category-media { background-color: #292138; }
html[data-theme="dark"] :is(.hub-category-media img, .comparison-image img, .product-photo img) {
    mix-blend-mode: normal;
    filter: none;
}
html[data-theme="dark"] .components-hub .hub-category-card .hub-category-media img,
html[data-theme="dark"] .catalog-page-body .product-photo .local-product-image,
html[data-theme="dark"] .catalog-page-body .product-photo > img {
    mix-blend-mode: normal;
    filter: drop-shadow(0 14px 16px rgba(0, 0, 0, .24));
}
html[data-theme="dark"] :is(.components-guide, .component-build-cta, .component-feature, .about-purpose, .about-team, .prototipos-block) {
    border-color: #423752;
    background-color: #1b1726;
    color: #f7f3ff;
}
html[data-theme="dark"] .about-project-focus {
    border: 1px solid #423752;
    background: linear-gradient(145deg, #241e32, #1c1828);
    color: #f7f3ff;
}
html[data-theme="dark"] .about-project-focus p:not(.eyebrow) { color: #ded4ed; }

/* Sustituye las tarjetas pastel del modo claro por acentos ciruela y violeta. */
html[data-theme="dark"] :is(.category-cpu, .category-cpu:hover, .product-photo.photo-cpu, .category-gpu, .category-gpu:hover, .product-photo.photo-gpu, .category-ram, .category-ram:hover, .product-photo.photo-ram, .home-page .home-component-banners .category-gpu, .home-page .home-component-banners .category-ram, .home-page .home-component-banners .category-card, .journey-card, .journey-card:nth-child(2), .journey-card:nth-child(3), .idea-sand) {
    border-color: #423752;
    background: linear-gradient(145deg, #241e32, #1c1828);
    color: #f7f3ff;
}
html[data-theme="dark"] :is(.idea-blue, .journey-card.journey-active, .smart-v2-top) {
    background: linear-gradient(135deg, #49336d, #302344);
    border-color: #6c4d97;
    color: #fff;
}
html[data-theme="dark"] :is(.idea-blue p, .journey-card.journey-active > p:not(.journey-label), .journey-card > p:not(.journey-label), .idea-sand p) { color: #ded4ed; }

html[data-theme="dark"] :is(.text-link, .text-button, .catalog-source, .category-filters .text-button, .product-category, .category-eyebrow, .hub-category-copy > span, .proto-v2-copy .eyebrow, .proto-tool-header .index, .profile-menu-eyebrow, .catalog-product-heading .product-category) { color: #c5a8ff; }
html[data-theme="dark"] :is(.button, .button-primary, .btn-primary, .profile-menu-primary, .build-login-link) {
    border-color: transparent;
    background: #9b70e8;
    color: #160f21;
}
html[data-theme="dark"] :is(.button, .button-primary, .btn-primary, .profile-menu-primary, .build-login-link):hover { background: #b18df4; color: #160f21; }
html[data-theme="dark"] .button-dark { background: #392b50; color: #f7f3ff; }
html[data-theme="dark"] .button-dark:hover { background: #493765; color: #fff; }

html[data-theme="dark"] :is(input, select, textarea, .tool-select, .budget-number, .pcf-chat-input) {
    border-color: #57476c;
    background-color: #15111e;
    color: #f7f3ff;
}
html[data-theme="dark"] :is(input, select, textarea, .tool-select, .budget-number):focus { border-color: #b69aff; box-shadow: 0 0 0 3px rgba(182, 154, 255, .16); }
html[data-theme="dark"] :is(input, textarea)::placeholder { color: #a99bbd; }

html[data-theme="dark"] .comparison-table,
html[data-theme="dark"] .comparison-table thead th,
html[data-theme="dark"] .comparison-table tbody tr,
html[data-theme="dark"] .comparison-table tbody tr:nth-child(odd),
html[data-theme="dark"] .comparison-table > span:nth-child(n+4):nth-child(-n+6) {
    background: #1b1726;
    color: #e9e1f7;
}
html[data-theme="dark"] .comparison-table > span:nth-child(-n+3) { background: #302344; color: #fff; }
html[data-theme="dark"] :is(.comparison-table th, .comparison-table td, .comparison-scroll, .catalog-product-footer, .proto-tool-header, .account-divider::before, .account-divider::after) { border-color: #423752; }

html[data-theme="dark"] :is(.header-dialog, .component-mega-menu, .profile-hover-menu, .forbi-panel, .chatbot-panel, .forbi-chat, .chatbot-window) {
    border-color: #493b5c;
    background: #201a2c;
    color: #f7f3ff;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .4);
}
html[data-theme="dark"] :is(.header-search-result, .search-result, .smart-choice, .journey-card, .idea-sand, .profile-menu-links a) {
    border-color: #423752;
    background-color: #241e32;
    color: #f2edff;
}
html[data-theme="dark"] :is(.header-search-result:hover, .site-header .component-menu-item:hover, .site-header .component-menu-item:focus-visible, .smart-choice.is-selected) {
    border-color: #9b70e8;
    background: #382b50;
    color: #fff;
}
html[data-theme="dark"] .component-menu-icon,
html[data-theme="dark"] .proto-tool-badge,
html[data-theme="dark"] .proto-build-tag,
html[data-theme="dark"] .home-build-tag,
html[data-theme="dark"] .badge-soft,
html[data-theme="dark"] .status-tag { background: #382b50; color: #dfceff; }

html[data-theme="dark"] .pcf-region-menu {
    border-color: #493b5c;
    background: #201a2c;
    color: #f7f3ff;
}
html[data-theme="dark"] :is(.pcf-language-option, .pcf-region-search) {
    border-color: #57476c;
    background: #171321;
    color: #f7f3ff;
}
html[data-theme="dark"] :is(.pcf-language-option:hover, .pcf-language-option[aria-current="true"], .pcf-region-option:hover, .pcf-region-option[aria-current="true"]) { background: #382b50; color: #fff; }
html[data-theme="dark"] :is(.pcf-language-code, .pcf-region-meta, .pcf-region-note) { color: #c8bfd8; }
html[data-theme="dark"] .pcf-language-options { border-color: #423752; }
html[data-theme="dark"] .pcf-region-flag { border-color: #57476c; }

html[data-theme="dark"] :is(.prototype-status, .build-preview-note, .smart-disclaimer, .compare-placeholder, .saved-empty) { color: #c8bfd8; }
html[data-theme="dark"] .prototype-status.is-error { border-color: #87505f; background: #3b202d; color: #ffd2dc; }
html[data-theme="dark"] .prototype-status.is-success { border-color: #36745f; background: #17382f; color: #b6f2d9; }
html[data-theme="dark"] .theme-toggle--floating { border-color: #57476c; background: #2d2440; color: #d8c5ff; }
html[data-theme="dark"] .theme-toggle--floating:hover { background: #493765; color: #fff; }
html[data-theme="dark"] .breadcrumb a,
html[data-theme="dark"] .category-facts dd,
html[data-theme="dark"] .product-image-model,
html[data-theme="dark"] .product-image-brand,
html[data-theme="dark"] .product-image-loading,
html[data-theme="dark"] .catalog-source { color: #c5a8ff; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Versión oscura refinada: tinta ciruela, superficies separadas y contraste alto. */
html[data-theme="dark"] {
    --background: #100e18;
    --foreground: #f6f2fc;
    --surface: #1b1725;
    --surface-raised: #241e31;
    --surface-soft: #2d253d;
    --navy: #171321;
    --ink: #f6f2fc;
    --muted: #c7bfd4;
    --blue: #c2a7ff;
    --line: #453951;
    --proto-ink: #f6f2fc;
    --proto-blue: #c2a7ff;
    --proto-blue-soft: #382c4d;
    --proto-paper: #100e18;
    --proto-card: #1b1725;
    --proto-line: #453951;
    --proto-text: #f6f2fc;
    --proto-muted: #c7bfd4;
    --color-bg-page: #100e18;
    --color-bg-card: #1b1725;
    --color-bg-media: #d8d3e0;
    --color-border: #453951;
    --color-text: #f6f2fc;
    --color-text-muted: #c7bfd4;
    --color-primary: #c2a7ff;
    --color-accent-soft: #382c4d;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .home-page,
html[data-theme="dark"] .components-hub-page,
html[data-theme="dark"] .category-page,
html[data-theme="dark"] .catalog-page,
html[data-theme="dark"] .catalog-page-body,
html[data-theme="dark"] .category-main,
html[data-theme="dark"] .prototype-v2,
html[data-theme="dark"] .about-page,
html[data-theme="dark"] .about-main,
html[data-theme="dark"] .account-page {
    background-color: var(--background);
    color: var(--foreground);
}

html[data-theme="dark"] :is(h1, h2, h3, h4, .hub-category-copy h3, .component-feature-body h3) {
    color: var(--foreground);
}
html[data-theme="dark"] :is(.home-page .home-component-banners .category-card h3,
    .home-page .home-component-banners .category-card p) {
    color: var(--foreground) !important;
}
html[data-theme="dark"] .home-page .home-component-banners .category-card p { color: #d8d0e2 !important; }

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .site-footer { background: #171321; color: #f6f2fc; }
html[data-theme="dark"] .site-header a,
html[data-theme="dark"] .site-footer a { color: #eee8f7; }
html[data-theme="dark"] .site-header a:hover,
html[data-theme="dark"] .site-footer a:hover { color: #d8c4ff; }

html[data-theme="dark"] :is(.hub-category-card, .component-feature, .components-guide,
    .about-purpose, .about-team, .prototipos-block, .component-choice,
    .product-card, .category-product-card, .catalog-product-card, .home-build-card,
    .journey-card, .idea-sand, .proto-tool, .builder-panel, .builder-box,
    .builder-summary, .smart-config, .compare-v2-box, .detail-v2) {
    border-color: #453951;
    background-color: #1b1725;
    color: #f6f2fc;
}

/* La zona de imagen funciona como una base de exhibición, sin bloques blancos sueltos. */
html[data-theme="dark"] :is(.hub-category-media, .component-feature-media,
    .catalog-product-media, .comparison-image, .product-photo, .lineup-product-media) {
    background: #d8d3e0;
}
html[data-theme="dark"] :is(.hub-category-media img, .component-feature-media img,
    .catalog-product-media img, .comparison-image img, .product-photo img,
    .lineup-product-media img) {
    mix-blend-mode: normal;
    filter: none;
}
html[data-theme="dark"] .components-hub .hub-category-card--gpu .hub-category-media img {
    content: url("/img/catalogo/tema-oscuro/geforce-rtx-5080.png");
}
html[data-theme="dark"] .components-hub .hub-category-card--storage .hub-category-media img {
    content: url("/img/catalogo/tema-oscuro/ssd-m2-nvme.png");
}

/* La foto del disipador tiene fondo blanco; se integra solo en la tarjeta oscura. */
html[data-theme="dark"] .components-hub .hub-category-card--cooling .hub-category-media {
    background-color: #c9c2d3;
}
html[data-theme="dark"] .components-hub .hub-category-card--cooling .hub-category-media img {
    mix-blend-mode: normal;
    filter: none;
}

html[data-theme="dark"] .components-hub .hub-category-copy p,
html[data-theme="dark"] .component-feature-body p,
html[data-theme="dark"] .component-feature-body li,
html[data-theme="dark"] .components-guide p:not(.eyebrow),
html[data-theme="dark"] .hub-section-heading > p,
html[data-theme="dark"] .category-section-heading > p,
html[data-theme="dark"] .home-page .section-intro,
html[data-theme="dark"] .home-page .idea-card p,
html[data-theme="dark"] .journey-card > p:not(.journey-label) {
    color: #c7bfd4;
}
html[data-theme="dark"] .components-guide {
    background: linear-gradient(125deg, #211b2c 0 50%, #1a1622 50% 100%);
}
html[data-theme="dark"] .components-guide h2,
html[data-theme="dark"] .components-guide .eyebrow { color: #f6f2fc; }

/* Tres franjas de la portada con acentos propios y texto legible. */
html[data-theme="dark"] .home-page .home-component-banners .category-card,
html[data-theme="dark"] .home-page .home-component-banners .category-card:hover {
    border: 1px solid #453951;
    color: #f6f2fc !important;
    box-shadow: 0 18px 42px #00000038;
}
html[data-theme="dark"] .home-page .home-component-banners .category-cpu,
html[data-theme="dark"] .home-page .home-component-banners .category-cpu:hover {
    background: linear-gradient(125deg, #302441, #211a2e);
}
html[data-theme="dark"] .home-page .home-component-banners .category-gpu,
html[data-theme="dark"] .home-page .home-component-banners .category-gpu:hover {
    background: linear-gradient(125deg, #202b3b, #1a1d2b);
}
html[data-theme="dark"] .home-page .home-component-banners .category-ram,
html[data-theme="dark"] .home-page .home-component-banners .category-ram:hover {
    background: linear-gradient(125deg, #22332f, #1a242b);
}
html[data-theme="dark"] .home-page .home-component-banners .component-banner-link {
    background: #ff7652;
    color: #20131a;
}
html[data-theme="dark"] .home-page .home-component-banners .category-photo::after { opacity: .5; }

html[data-theme="dark"] :is(.text-link, .text-button, .catalog-source, .product-category,
    .category-eyebrow, .hub-category-copy > span, .component-feature-body a,
    .breadcrumb a, .product-detail) { color: #d0b8ff; }
html[data-theme="dark"] :is(.button, .button-primary, .btn-primary, .build-login-link) {
    border-color: transparent;
    background: #ff7652;
    color: #21131a;
}
html[data-theme="dark"] :is(.button, .button-primary, .btn-primary, .build-login-link):hover {
    background: #ff8a69;
    color: #21131a;
}
html[data-theme="dark"] .button-dark { background: #352844; color: #f6f2fc; }
html[data-theme="dark"] .button-dark:hover { background: #46345c; color: #fff; }

html[data-theme="dark"] :is(input, select, textarea, .tool-select, .budget-number) {
    border-color: #57496a;
    background: #17131f;
    color: #f6f2fc;
}
html[data-theme="dark"] :is(input, textarea)::placeholder { color: #aaa0b8; }
html[data-theme="dark"] :is(.filters, .category-filters, .empty-state, .compare-helper,
    .smart-choice-icon, .component-preview, .builder-steps div) {
    border-color: #453951;
    background: #241e31;
    color: #eee8f7;
}
html[data-theme="dark"] :is(.comparison-table, .comparison-table thead th,
    .comparison-table tbody tr, .comparison-table tbody tr:nth-child(odd)) {
    background: #1b1725;
    color: #eee8f7;
}
html[data-theme="dark"] :is(.comparison-table th, .comparison-table td,
    .comparison-scroll, .catalog-product-footer) { border-color: #453951; }

html[data-theme="dark"] .component-build-cta-media { background: #171321; }
html[data-theme="dark"] :is(.header-dialog, .component-mega-menu, .profile-hover-menu,
    .forbi-panel, .chatbot-panel, .forbi-chat, .chatbot-window, .pcf-region-menu) {
    border-color: #4d405e;
    background: #201a2c;
    color: #f6f2fc;
}

/* Narrativa y recorrido de herramientas de la página Acerca de. */
.about-page .manifesto-page {
    display: grid;
    gap: clamp(76px, 9vw, 132px);
    padding-top: var(--page-top-space);
    padding-bottom: clamp(76px, 9vw, 128px);
    color: var(--foreground);
}

.about-page .manifesto-page h1,
.about-page .manifesto-page h2,
.about-page .manifesto-page h3,
.about-page .manifesto-page p { margin-top: 0; }

.about-page .manifesto-eyebrow {
    margin-bottom: 20px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1.4;
}

.manifesto-hero {
    display: grid;
    min-height: clamp(480px, 43vw, 650px);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
    border-radius: 28px;
    background: var(--navy);
    color: #fbf9ff;
    box-shadow: 0 24px 70px rgba(42, 31, 62, .12);
}

.manifesto-hero-copy {
    display: flex;
    max-width: 760px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(36px, 6.2vw, 92px);
}

.manifesto-hero .manifesto-eyebrow { color: #c6adef; }
.manifesto-hero h1 {
    max-width: 720px;
    margin-bottom: 24px;
    color: #fff;
    font-size: clamp(46px, 6vw, 82px);
    font-weight: 700;
    letter-spacing: -.068em;
    line-height: .99;
}
.manifesto-hero-copy > p:not(.manifesto-eyebrow) {
    max-width: 590px;
    margin-bottom: 34px;
    color: #ded8e9;
    font-size: clamp(16px, 1.45vw, 19px);
    line-height: 1.65;
}
.manifesto-route { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: #e9e2f2; font-size: 10px; font-weight: 700; }
.manifesto-route i { color: #b99be8; font-size: 17px; font-style: normal; }

.manifesto-hero-visual {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 18px;
    padding: clamp(26px, 4vw, 64px);
    background:
        radial-gradient(ellipse at 76% 15%, rgba(151, 117, 213, .28), transparent 44%),
        radial-gradient(ellipse at 20% 90%, rgba(74, 150, 137, .16), transparent 40%),
        #211d2b;
}
.manifesto-ui-window {
    overflow: hidden;
    border: 1px solid rgba(242, 235, 255, .2);
    border-radius: 16px;
    background: rgba(247, 244, 252, .97);
    box-shadow: 0 28px 70px rgba(5, 4, 10, .34);
    color: #332b42;
    transform: rotate(1.4deg);
}
.manifesto-ui-bar { display: flex; min-height: 42px; align-items: center; gap: 12px; padding: 0 16px; border-bottom: 1px solid #e5dfed; color: #71687e; font-size: 10px; font-weight: 700; }
.manifesto-ui-bar > b { margin-left: auto; color: #63ad88; font-size: 9px; }
.manifesto-ui-dots { display: flex; gap: 5px; }
.manifesto-ui-dots i { width: 7px; height: 7px; border-radius: 50%; background: #d4cce0; }
.manifesto-ui-dots i:first-child { background: #b79ae6; }
.manifesto-ui-content { padding: clamp(18px, 2.4vw, 32px); }
.manifesto-ui-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; color: #352d48; font-size: clamp(15px, 1.6vw, 20px); font-weight: 800; letter-spacing: -.035em; }
.manifesto-ui-heading i { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #eee8f8; color: #7655b5; font-size: 18px; font-style: normal; }
.manifesto-component-map { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.manifesto-component-map::before { position: absolute; top: 20%; bottom: 20%; left: 50%; z-index: 0; border-left: 1px dashed #c8bddb; content: ""; }
.manifesto-component-map span { position: relative; z-index: 1; display: flex; min-height: 55px; align-items: center; gap: 11px; padding: 10px 12px; border: 1px solid #e5dfee; border-radius: 10px; background: #fff; color: #514761; font-size: 11px; font-weight: 700; }
.manifesto-component-map span:last-child { grid-column: 1 / -1; }
.manifesto-component-map b { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 8px; background: #f0ebf8; color: #7655b5; font-size: 9px; }
.manifesto-ui-foot { display: flex; align-items: center; gap: 10px; margin-top: 22px; color: #81788d; font-size: 9px; font-weight: 700; }
.manifesto-ui-line { height: 1px; flex: 1; background: #e4deec; }
.manifesto-ui-foot b { color: #8262ba; font-size: 11px; letter-spacing: .1em; }
.manifesto-visual-caption { display: flex; align-items: center; gap: 9px; margin: 0; color: #e6dfed; font-size: 11px; font-weight: 600; }
.manifesto-visual-caption span { width: 7px; height: 7px; border-radius: 50%; background: #9ee0bf; box-shadow: 0 0 14px #9ee0bf88; }

.manifesto-problem { display: grid; grid-template-columns: minmax(160px, .55fr) minmax(0, 1.45fr); gap: clamp(30px, 7vw, 112px); align-items: start; padding-top: 2px; }
.manifesto-section-label { display: flex; align-items: center; gap: 14px; padding-top: 10px; color: var(--muted); }
.manifesto-section-label span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); font-size: 11px; font-weight: 800; }
.manifesto-section-label p { margin: 0; font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.manifesto-problem-copy { max-width: 980px; }
.manifesto-problem h2, .manifesto-origin h2, .manifesto-flow h2, .manifesto-principles h2, .manifesto-team h2, .manifesto-close h2 {
    margin-bottom: 22px;
    color: var(--foreground);
    font-size: clamp(36px, 5vw, 62px);
    font-weight: 700;
    letter-spacing: -.065em;
    line-height: 1.04;
}
.manifesto-problem-copy > p { max-width: 770px; margin-bottom: 30px; color: var(--muted); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.7; }
.manifesto-question-list { display: flex; flex-wrap: wrap; gap: 9px; }
.manifesto-question-list span { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; font-weight: 700; }

.manifesto-origin { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(36px, 8vw, 128px); align-items: center; padding: clamp(36px, 6vw, 82px) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.manifesto-origin-statement { max-width: 640px; }
.manifesto-origin h2 { margin-bottom: 0; font-size: clamp(38px, 5.2vw, 68px); }
.manifesto-origin-copy { max-width: 700px; }
.manifesto-origin-copy p { margin-bottom: 18px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.manifesto-origin-note { display: flex; align-items: center; gap: 12px; margin-top: 30px; color: var(--foreground); font-size: 13px; font-weight: 700; }
.manifesto-origin-note span:first-child { color: var(--blue); font-size: 22px; }

.manifesto-flow-heading, .manifesto-team-heading { display: flex; align-items: end; justify-content: space-between; gap: 34px; margin-bottom: 36px; }
.manifesto-flow-heading > div { max-width: 760px; }
.manifesto-flow-heading h2, .manifesto-principles h2, .manifesto-team h2 { margin-bottom: 0; }
.manifesto-flow-heading > p, .manifesto-team-heading > p { max-width: 420px; margin-bottom: 4px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.manifesto-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.manifesto-step { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--foreground); box-shadow: 0 12px 32px rgba(43, 34, 57, .045); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.manifesto-step:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--blue) 54%, var(--line)); box-shadow: 0 20px 42px rgba(43, 34, 57, .11); color: var(--foreground); }
.manifesto-step:focus-visible { outline-color: var(--blue); }
.manifesto-step-preview { min-height: 190px; padding: 19px; background: #f0edf5; color: #453c55; }
.preview-topline { display: flex; align-items: center; gap: 5px; margin-bottom: 16px; color: #71687e; font-size: 9px; font-weight: 700; }
.preview-topline i { width: 6px; height: 6px; border-radius: 50%; background: #bb9de7; }
.preview-topline i:nth-child(2) { background: #c4d6c9; }.preview-topline i:nth-child(3) { background: #dfc7bd; }
.preview-topline span { margin-left: 5px; }
.preview-search { height: 18px; margin-bottom: 10px; border: 1px solid #dcd5e6; border-radius: 5px; background: #fff; }
.preview-product-row { display: flex; min-height: 31px; align-items: center; gap: 9px; margin-bottom: 7px; padding: 5px 7px; border: 1px solid #e3deea; border-radius: 6px; background: #fff; }
.preview-product-row > b { width: 21px; height: 21px; border-radius: 4px; background: linear-gradient(140deg, #d5cadf, #b3a0ce); }
.preview-product-row:nth-of-type(4) > b { background: linear-gradient(140deg, #d3dfd7, #a2c3b1); }
.preview-product-row > span { display: grid; flex: 1; gap: 4px; }.preview-product-row > span i { height: 4px; border-radius: 9px; background: #c9c1d3; }.preview-product-row > span i:last-child { width: 58%; background: #e0dbe7; }
.preview-details { display: flex; flex-direction: column; justify-content: center; gap: 13px; background: #ece8f2; }
.preview-detail-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2px; color: #453c55; font-size: 11px; }
.preview-detail-head i { width: 18px; height: 18px; border-radius: 5px; background: #d9ccec; }
.preview-spec-row { display: flex; justify-content: space-between; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid #dcd5e5; color: #756c82; font-size: 8px; }
.preview-spec-row b { color: #524861; font-weight: 700; }.preview-detail-foot { display: flex; gap: 5px; padding-top: 3px; }.preview-detail-foot i { width: 27px; height: 8px; border-radius: 99px; background: #d9ccec; }.preview-detail-foot i:nth-child(2) { width: 42px; background: #d2e2d8; }
.preview-compare { background: #282332; color: #f5f1fa; }
.preview-compare-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; font-size: 11px; font-weight: 700; }.preview-compare-title i { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid #594e68; border-radius: 7px; color: #d7c3f4; font-size: 9px; font-style: normal; }
.preview-compare-columns { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid #51475d; border-radius: 7px; }
.preview-compare-columns > div { display: grid; gap: 9px; padding: 10px; }.preview-compare-columns > div + div { border-left: 1px solid #51475d; background: #302a3a; }.preview-compare-columns b { margin-bottom: 2px; color: #d9c5f6; font-size: 8px; }.preview-compare-columns span { height: 5px; border-radius: 8px; background: #686174; }.preview-compare-columns span:nth-last-child(1) { width: 65%; background: #a18ac5; }
.preview-compare-foot { display: flex; align-items: center; gap: 7px; margin-top: 13px; color: #c5bdcf; font-size: 8px; }.preview-compare-foot i { width: 6px; height: 6px; border-radius: 50%; background: #9ad4b8; }
.preview-builder { display: flex; flex-direction: column; gap: 10px; background: #eeebf4; }
.preview-builder-title { display: flex; align-items: center; justify-content: space-between; color: #463d56; font-size: 10px; }.preview-builder-title span { color: #8060aa; font-size: 8px; font-weight: 700; }
.preview-builder-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }.preview-builder-grid span { display: flex; min-height: 27px; align-items: center; justify-content: space-between; gap: 4px; padding: 5px 6px; border: 1px solid #dcd5e6; border-radius: 5px; background: #fff; color: #655b73; font-size: 7px; font-weight: 700; }.preview-builder-grid i { width: 7px; height: 7px; border-radius: 50%; background: #c9c0d5; }
.preview-builder-total { display: flex; align-items: center; justify-content: space-between; padding-top: 8px; border-top: 1px solid #dcd5e6; color: #756b80; font-size: 8px; }.preview-builder-total b { width: 49px; height: 7px; border-radius: 8px; background: #c8b2e6; }
.manifesto-step-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 22px 20px 21px; }
.manifesto-step-number { margin-bottom: 12px; color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.manifesto-step h3 { margin-bottom: 9px; color: var(--foreground); font-size: 19px; letter-spacing: -.035em; }
.manifesto-step-copy > p { min-height: 50px; margin-bottom: 20px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.manifesto-step-link { display: flex; align-items: center; gap: 8px; margin-top: auto; color: var(--blue); font-size: 12px; font-weight: 800; }
.manifesto-step-link b { font-size: 15px; transition: transform .18s ease; }.manifesto-step:hover .manifesto-step-link b { transform: translate(2px, -2px); }

.manifesto-principles { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(38px, 8vw, 128px); align-items: start; padding: clamp(34px, 6vw, 76px) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.manifesto-principles-intro { max-width: 570px; }
.manifesto-principles h2 { font-size: clamp(38px, 4.7vw, 58px); }
.manifesto-principle-list article { display: grid; grid-template-columns: 44px minmax(0, 1fr) 24px; gap: 18px; align-items: start; padding: 21px 0; border-bottom: 1px solid var(--line); }
.manifesto-principle-list article:first-child { padding-top: 0; }.manifesto-principle-list article:last-child { padding-bottom: 0; border-bottom: 0; }
.manifesto-principle-list article > span { padding-top: 3px; color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.manifesto-principle-list h3 { margin-bottom: 6px; color: var(--foreground); font-size: 18px; letter-spacing: -.025em; }
.manifesto-principle-list p { max-width: 550px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.manifesto-principle-list article > b { color: var(--blue); font-size: 14px; }

.manifesto-statement { position: relative; overflow: hidden; padding: clamp(42px, 7vw, 94px); border: 1px solid #493e59; border-radius: 24px; background: #302940; color: #fff; isolation: isolate; }
.manifesto-statement::before { position: absolute; z-index: -1; top: -34%; right: -4%; width: min(50vw, 620px); aspect-ratio: 1; border: 1px solid #ffffff18; border-radius: 50%; box-shadow: 0 0 0 36px #ffffff08, 0 0 0 72px #ffffff05; content: ""; }
.manifesto-statement::after { position: absolute; z-index: -1; right: 8%; bottom: -1px; width: 36%; height: 1px; background: linear-gradient(90deg, transparent, #b59adb, transparent); content: ""; }
.manifesto-statement .manifesto-eyebrow { color: #c9b0ee; }
.manifesto-statement h2 { max-width: 920px; margin-bottom: 20px; color: #fff; font-size: clamp(40px, 6vw, 78px); font-weight: 700; letter-spacing: -.07em; line-height: 1; }
.manifesto-statement > p:not(.manifesto-eyebrow) { max-width: 720px; margin-bottom: 30px; color: #e0d9e9; font-size: clamp(15px, 1.5vw, 18px); line-height: 1.7; }
.manifesto-statement-foot { display: inline-flex; align-items: center; gap: 10px; color: #dfd4ed; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.manifesto-statement-foot::before { width: 22px; height: 1px; background: #b99be8; content: ""; }
.manifesto-statement-mark { position: absolute; top: 46px; right: 54px; display: grid; width: 52px; height: 52px; grid-template-columns: repeat(2, 1fr); gap: 5px; opacity: .8; transform: rotate(45deg); }
.manifesto-statement-mark span { border: 1px solid #c3a9e9; border-radius: 5px; }.manifesto-statement-mark span:nth-child(2), .manifesto-statement-mark span:nth-child(3) { background: #8a6abc; }

.manifesto-team-heading { align-items: end; margin-bottom: 44px; }
.manifesto-team-heading > div { max-width: 750px; }
.manifesto-team h2 { font-size: clamp(38px, 5vw, 62px); }
.manifesto-team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 3vw, 40px); }
.manifesto-person { min-width: 0; }
.manifesto-portrait { display: block; width: 100%; aspect-ratio: 1.12; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 14px; background-image: url("img/about/team-portraits.png?v=20261006-team-4"); background-repeat: no-repeat; background-size: 200% 200%; }
.manifesto-portrait--luis { background-position: 0 0; }.manifesto-portrait--nayeli { background-position: 100% 0; }.manifesto-portrait--justin { background-position: 0 100%; }.manifesto-portrait--valeria { background-position: 100% 100%; }
.manifesto-person h3 { margin-bottom: 5px; color: var(--foreground); font-size: 18px; letter-spacing: -.025em; }
.manifesto-person p { margin: 0; color: var(--muted); font-size: 12px; }

.manifesto-close { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: clamp(32px, 5vw, 64px); border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.manifesto-close > div { max-width: 820px; }
.manifesto-close .manifesto-eyebrow { margin-bottom: 13px; }
.manifesto-close h2 { margin-bottom: 13px; font-size: clamp(32px, 4.3vw, 52px); }
.manifesto-close p:not(.manifesto-eyebrow) { max-width: 660px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.manifesto-close > a { display: inline-flex; min-height: 50px; flex: 0 0 auto; align-items: center; justify-content: center; gap: 18px; padding: 0 20px; border-radius: 8px; background: var(--blue); color: #fff; font-size: 13px; font-weight: 800; transition: background .18s ease, transform .18s ease; }
.manifesto-close > a:hover { transform: translateY(-2px); background: #62439c; color: #fff; }

/* Editorial phase: keep the product walkthrough open and distinct from a card grid. */
.manifesto-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(22px, 4vw, 56px); }
.manifesto-step { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 20px; padding: 22px 0; overflow: visible; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; }
.manifesto-step:hover { transform: none; border-color: var(--line); box-shadow: none; }
.manifesto-step-preview { min-height: 164px; padding: 15px; }
.manifesto-step-copy { padding: 8px 0; }
.manifesto-step-copy > p { min-height: 0; }
.manifesto-ecosystem { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.manifesto-ecosystem a,.manifesto-ecosystem button { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 5px 12px; padding: 18px 20px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--foreground); text-align: left; text-decoration: none; cursor: pointer; }
.manifesto-ecosystem > :last-child { border-right: 0; }
.manifesto-ecosystem span { grid-column: 1 / -1; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.manifesto-ecosystem strong { font-size: 14px; }
.manifesto-ecosystem b { color: var(--blue); font-size: 15px; }
.manifesto-ecosystem a:hover,.manifesto-ecosystem button:hover { background: color-mix(in srgb, var(--surface) 70%, transparent); }
html[data-theme="dark"] .manifesto-step { background: transparent; box-shadow: none; }
html[data-theme="dark"] .manifesto-step-preview { background: #292530; }
html[data-theme="dark"] .manifesto-ecosystem a:hover,html[data-theme="dark"] .manifesto-ecosystem button:hover { background: #25212c; }

@media(max-width:820px) {
    .manifesto-steps { grid-template-columns: 1fr; }
    .manifesto-step { grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); }
}
@media(max-width:620px) {
    .manifesto-ecosystem { grid-template-columns: 1fr; }
    .manifesto-ecosystem a,.manifesto-ecosystem button { grid-template-columns: minmax(0,1fr) auto; padding: 15px 5px; border-right: 0; border-bottom: 1px solid var(--line); }
    .manifesto-ecosystem > :last-child { border-bottom: 0; }
    .manifesto-step { grid-template-columns: minmax(0,1fr); gap: 6px; padding: 18px 0; }
    .manifesto-step-preview { min-height: 150px; }
}

html[data-theme="dark"] .manifesto-hero { border-color: var(--line); }
html[data-theme="dark"] .manifesto-hero-visual { background: radial-gradient(ellipse at 76% 15%, rgba(151, 117, 213, .2), transparent 44%), radial-gradient(ellipse at 20% 90%, rgba(74, 150, 137, .1), transparent 40%), #1c1824; }
html[data-theme="dark"] .manifesto-step { border-color: var(--line); background: var(--surface); }
html[data-theme="dark"] .manifesto-step-preview { background: #2d2836; color: var(--foreground); }
html[data-theme="dark"] .preview-compare { background: #211c2b; }
html[data-theme="dark"] .preview-compare-columns > div + div { background: #302a3a; }
html[data-theme="dark"] .manifesto-statement { border-color: #493e59; background: #282232; }
html[data-theme="dark"] .manifesto-close { border-color: var(--line); background: var(--surface); }

@media (max-width: 1080px) {
    .manifesto-hero { min-height: 0; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); }
    .manifesto-hero-copy { padding: clamp(34px, 5vw, 58px); }
    .manifesto-hero h1 { font-size: clamp(44px, 6vw, 66px); }
    .manifesto-hero-visual { padding: clamp(22px, 3.5vw, 40px); }
    .manifesto-component-map span { min-height: 48px; font-size: 10px; }
    .manifesto-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .manifesto-step-preview { min-height: 210px; }
    .manifesto-step-copy > p { min-height: 0; }
    .manifesto-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 840px) {
    .about-page .manifesto-page { gap: 76px; }
    .manifesto-hero { grid-template-columns: 1fr; }
    .manifesto-hero-copy { padding: clamp(30px, 7vw, 54px); }
    .manifesto-hero h1 { max-width: 650px; font-size: clamp(46px, 10vw, 70px); }
    .manifesto-hero-visual { padding: clamp(24px, 7vw, 48px); }
    .manifesto-ui-window { width: min(100%, 600px); align-self: center; transform: none; }
    .manifesto-ui-content { padding: 22px; }
    .manifesto-problem { grid-template-columns: 1fr; gap: 22px; }
    .manifesto-origin, .manifesto-principles { grid-template-columns: 1fr; gap: 30px; }
    .manifesto-flow-heading, .manifesto-team-heading { display: block; }
    .manifesto-flow-heading > p, .manifesto-team-heading > p { margin-top: 20px; }
    .manifesto-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
    .manifesto-portrait { aspect-ratio: 1.08; }
    .manifesto-close { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
    .about-page .manifesto-page { gap: 64px; padding-bottom: 72px; }
    .manifesto-hero { border-radius: 18px; }
    .manifesto-hero-copy { padding: 30px 24px 28px; }
    .manifesto-hero h1 { font-size: clamp(42px, 12vw, 56px); }
    .manifesto-hero-copy > p:not(.manifesto-eyebrow) { margin-bottom: 24px; font-size: 15px; }
    .manifesto-route { gap: 7px; font-size: 10px; }
    .manifesto-hero-visual { gap: 13px; padding: 22px 18px 24px; }
    .manifesto-ui-bar { min-height: 36px; padding-inline: 11px; font-size: 9px; }
    .manifesto-ui-content { padding: 17px 13px; }
    .manifesto-ui-heading { margin-bottom: 14px; font-size: 14px; }
    .manifesto-component-map { gap: 7px; }
    .manifesto-component-map span { min-height: 46px; gap: 7px; padding: 7px; font-size: 9px; }
    .manifesto-component-map b { width: 23px; height: 23px; }
    .manifesto-ui-foot { margin-top: 15px; font-size: 8px; }
    .manifesto-problem h2, .manifesto-origin h2, .manifesto-flow h2, .manifesto-principles h2, .manifesto-team h2 { font-size: clamp(34px, 10vw, 48px); }
    .manifesto-problem-copy > p, .manifesto-origin-copy p { font-size: 15px; }
    .manifesto-question-list { gap: 7px; }
    .manifesto-question-list span { padding: 7px 10px; font-size: 10px; }
    .manifesto-steps { grid-template-columns: 1fr; gap: 13px; }
    .manifesto-step { display: grid; grid-template-columns: minmax(104px, .72fr) minmax(0, 1fr); border-radius: 13px; }
    .manifesto-step-preview { min-height: 0; align-self: stretch; padding: 12px; }
    .preview-topline { margin-bottom: 11px; font-size: 7px; }
    .preview-search { height: 14px; margin-bottom: 7px; }
    .preview-product-row { min-height: 26px; gap: 6px; margin-bottom: 5px; padding: 4px; }
    .preview-product-row > b { width: 17px; height: 17px; }
    .preview-details { gap: 10px; }
    .preview-detail-head { font-size: 9px; }.preview-spec-row { font-size: 7px; }
    .preview-compare-title { font-size: 9px; }.preview-compare-columns > div { gap: 7px; padding: 7px; }.preview-compare-columns b { font-size: 7px; }
    .preview-builder { gap: 7px; }.preview-builder-title { font-size: 8px; }.preview-builder-grid { gap: 4px; }.preview-builder-grid span { min-height: 23px; padding: 4px; font-size: 6px; }
    .manifesto-step-copy { padding: 15px 13px; }
    .manifesto-step-number { margin-bottom: 8px; font-size: 8px; }
    .manifesto-step h3 { margin-bottom: 7px; font-size: 16px; }
    .manifesto-step-copy > p { margin-bottom: 12px; font-size: 11px; }
    .manifesto-step-link { gap: 5px; font-size: 10px; }
    .manifesto-principle-list article { grid-template-columns: 30px minmax(0, 1fr) 16px; gap: 11px; }
    .manifesto-principle-list h3 { font-size: 16px; }.manifesto-principle-list p { font-size: 13px; }
    .manifesto-statement { padding: 36px 24px; border-radius: 18px; }
    .manifesto-statement-mark { top: 25px; right: 23px; width: 34px; height: 34px; gap: 3px; }
    .manifesto-statement h2 { max-width: 520px; font-size: clamp(38px, 11vw, 54px); }
    .manifesto-statement > p:not(.manifesto-eyebrow) { font-size: 14px; }
    .manifesto-team-grid { gap: 25px 12px; }
    .manifesto-portrait { margin-bottom: 11px; border-radius: 10px; }
    .manifesto-person h3 { font-size: 16px; }.manifesto-person p { font-size: 11px; }
    .manifesto-close { gap: 22px; padding: 28px 22px; border-radius: 16px; }
    .manifesto-close h2 { font-size: clamp(30px, 9vw, 40px); }
    .manifesto-close p:not(.manifesto-eyebrow) { font-size: 14px; }
    .manifesto-close > a { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .manifesto-step, .manifesto-step-link b, .manifesto-close > a { transition: none; }
}

html[data-theme="dark"] .preview-details .preview-detail-head { color: #f0ebf7; }
html[data-theme="dark"] .preview-details .preview-detail-head i { background: #504260; }
html[data-theme="dark"] .preview-details .preview-spec-row { border-color: #51485f; color: #c8bfd4; }
html[data-theme="dark"] .preview-details .preview-spec-row b { color: #f0ebf7; }
html[data-theme="dark"] .preview-details .preview-detail-foot i { background: #9c82c3; }
html[data-theme="dark"] .preview-details .preview-detail-foot i:nth-child(2) { background: #7eae91; }
html[data-theme="dark"] .preview-builder-title { color: #f0ebf7; }
html[data-theme="dark"] .preview-builder-title span { color: #d0b7f2; }
html[data-theme="dark"] .preview-builder-total { border-color: #51485f; color: #d0c7dc; }
html[data-theme="dark"] .preview-builder-total b { background: #ad91d8; }

/* Los recortes de producto conservan sus colores originales en modo oscuro. */
html[data-theme="dark"] :is(
    .hub-category-media img,
    .component-feature-media img,
    .component-build-cta-media img,
    .catalog-product-media img,
    .comparison-image img,
    .product-photo img,
    .lineup-product-media img,
    .compare-v2-product-image img
) {
    mix-blend-mode: normal;
    filter: none;
}

@media (max-width: 620px) {
    .manifesto-step { grid-template-columns: minmax(0,1fr); gap: 6px; }
    .manifesto-step-preview { min-height: 150px; }
}
@media (prefers-reduced-motion: reduce) {
    .manifesto-step,.manifesto-step-link b,.manifesto-close > a { transition: none; }
}
