.page-block {
    width: 100%;
    padding-top: clamp(3rem, 2.2rem + 3.5vw, 6.5rem);
    padding-bottom: clamp(3rem, 2.2rem + 3.5vw, 6.5rem);
    border-bottom: var(--border-thick);
    position: relative;
}


.page-block-tight {
    padding-top: clamp(2rem, 1.5rem + 2vw, 4rem);
    padding-bottom: clamp(2rem, 1.5rem + 2vw, 4rem);
}


.page-block-spacious {
    padding-top: clamp(4rem, 3rem + 4.5vw, 8.5rem);
    padding-bottom: clamp(4rem, 3rem + 4.5vw, 8.5rem);
}


.page-block.bg-ground {
    background-color: var(--ground);
    color: var(--ink);
}


.page-block.bg-surface-light {
    background-color: var(--surface-light);
    color: var(--ink);
}


.page-block.bg-surface-muted {
    background-color: var(--surface-muted);
    color: var(--ink);
}


.page-block.bg-concrete {
    background-color: var(--concrete);
    color: #FFFFFF;
}


.page-block.bg-concrete-dark {
    background-color: var(--concrete-dark);
    color: #FFFFFF;
}


.page-block.bg-concrete-deep {
    background-color: var(--concrete-deep);
    color: #FFFFFF;
}


.page-block.bg-ink {
    background-color: var(--ink);
    color: var(--ground);
}


.hazard-stripe {
    height: 8px;
    width: 100%;
    background: repeating-linear-gradient(
        -45deg,
        var(--rule),
        var(--rule) 12px,
        var(--accent) 12px,
        var(--accent) 24px
    );
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}


.hazard-stripe-subtle {
    height: 6px;
    width: 100%;
    background: repeating-linear-gradient(
        -45deg,
        var(--rule-muted),
        var(--rule-muted) 8px,
        transparent 8px,
        transparent 16px
    );
}


.section-question-header {
    margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    max-width: 1100px;
}


.question-heading {
    font-family: var(--zela-286);
    font-size: var(--fs-3xl);
    font-weight: 900;
    line-height: var(--lh-solid);
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--ink);
    margin-bottom: var(--sp-md);
    hyphens: manual;
}


.bg-concrete .question-heading,
.bg-concrete-dark .question-heading,
.bg-concrete-deep .question-heading,
.bg-ink .question-heading {
    color: #FFFFFF;
}


.answer-lead {
    font-family: var(--zela-d4e);
    font-size: var(--fs-lg);
    line-height: var(--lh-snug);
    font-weight: 500;
    color: var(--ink);
    max-width: var(--measure-prose);
    border-left: 4px solid var(--accent);
    padding-left: var(--sp-md);
    margin-top: var(--sp-md);
}


.bg-concrete .answer-lead,
.bg-concrete-dark .answer-lead,
.bg-concrete-deep .answer-lead,
.bg-ink .answer-lead {
    color: var(--surface-light);
    border-left-color: var(--accent);
}


.answer-lead-secondary {

    font-size: var(--fs-base);
    line-height: var(--lh-base);
    color: var(--ink-secondary);
    max-width: var(--measure-prose);
    margin-top: var(--sp-sm);
}


.bg-concrete .answer-lead-secondary,
.bg-concrete-dark .answer-lead-secondary,
.bg-concrete-deep .answer-lead-secondary,
.bg-ink .answer-lead-secondary {
    color: var(--surface-muted);
}


.full-measure-media {
    width: 100%;
    margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    border: var(--border-thick);
    background-color: var(--surface-muted);
    position: relative;
    overflow: hidden;
}


.full-measure-media img {
    width: 100%;
    height: auto;
    max-height: 640px;
    object-fit: cover;
    display: block;
}


.figure-caption-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-xs) var(--sp-md);
    padding: var(--sp-xs) var(--sp-md);
    background-color: var(--surface-light);
    border-top: var(--border-std);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    color: var(--ink);
}


.figure-caption-bar strong {
    color: var(--accent);
    font-weight: 700;
}


.hero-block {
    background-color: var(--ground);
    border-bottom: var(--border-thick);
    padding-top: clamp(3rem, 2.5rem + 3vw, 5.5rem);
    padding-bottom: clamp(3rem, 2.5rem + 3vw, 5.5rem);
    position: relative;
}


.hero-layout {
    display: flex;
    flex-direction: column;
    gap: var(--sp-xl);
}


.hero-meta-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-sm);
    padding-bottom: var(--sp-md);
    border-bottom: var(--border-std);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    color: var(--ink-secondary);
}


.hero-main {
    display: flex;
    flex-direction: column;
    gap: var(--sp-md);
}


.hero-title {
    font-family: var(--zela-286);
    font-size: var(--fs-huge);
    font-weight: 900;
    line-height: var(--lh-solid);
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: var(--ink);
}


.hero-subquestion {
    font-family: var(--zela-d4e);
    font-size: var(--fs-xl);
    line-height: var(--lh-snug);
    font-weight: 600;
    color: var(--accent);
    max-width: var(--measure-prose);
}


.hero-prose {
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    color: var(--ink-secondary);
    max-width: var(--measure-prose);
}


.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-sm);
    margin-top: var(--sp-md);
}


.hero-specs-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--sp-sm);
    margin-top: var(--sp-lg);
    border-top: var(--border-thick);

    padding-top: var(--sp-md);
}


.hero-spec-cell {
    background-color: var(--surface-light);
    border: var(--border-std);
    padding: var(--sp-sm);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xs);
}


.hero-spec-cell .label {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    color: var(--ink-muted);
}


.hero-spec-cell .value {
    font-family: var(--zela-82f);
    font-size: var(--fs-base);
    font-weight: 700;
    color: var(--ink);
}


.tech-banner {
    background-color: var(--rule);
    color: var(--ground);
    border-top: var(--border-thick);
    border-bottom: var(--border-thick);
    padding: var(--sp-md) var(--shell-gutter);
}


.tech-banner-inner {
    max-width: var(--shell-max);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-md);
}


.tech-banner-item {
    display: flex;
    align-items: center;
    gap: var(--sp-xs);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


.tech-banner-item .icon {
    color: var(--accent);
}


.polymer-scene {
    background-color: var(--concrete-dark);
    color: var(--ground);
    border-top: var(--border-thick);
    border-bottom: var(--border-thick);
    padding-top: clamp(3rem, 2.5rem + 3vw, 6rem);
    padding-bottom: clamp(3rem, 2.5rem + 3vw, 6rem);
    position: relative;
    overflow: hidden;
}


.polymer-stage-container {
    max-width: var(--shell-max);
    margin: 0 auto;
    padding-left: var(--shell-gutter);
    padding-right: var(--shell-gutter);
}


.polymer-scene-intro {
    margin-bottom: var(--sp-2xl);
    max-width: 900px;
}


.polymer-visualizer {
    border: var(--border-thick);

    background-color: var(--concrete-deep);
    padding: var(--sp-lg);
    display: flex;
    flex-direction: column;
    gap: var(--sp-lg);
    position: relative;
}


@media (min-width: 768px) {
    .polymer-visualizer {
        padding: var(--sp-2xl);
    }
}


.polymer-lamp-emitter {
    border: 2px dashed var(--accent);
    background-color: rgba(196, 109, 94, 0.12);
    padding: var(--sp-sm) var(--sp-md);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    color: var(--surface-light);
}


.lamp-beam-indicator {
    display: flex;
    gap: 6px;
    align-items: center;
}


.lamp-beam-dot {
    width: 8px;
    height: 8px;
    background-color: var(--accent);
    display: inline-block;
}


.polymer-layers-stack {
    display: flex;
    flex-direction: column;
    gap: var(--sp-xs);
    position: relative;
}


.polymer-layer-item {
    border: var(--border-std);
    background-color: var(--concrete);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xs);
    transition: transform var(--dur-normal) var(--ease-out), border-color var(--dur-normal) var(--ease-out);
}


@media (min-width: 768px) {
    .polymer-layer-item {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}


.polymer-layer-item.layer-top {
    border-left: 6px solid var(--accent);
}


.polymer-layer-item.layer-color {
    border-left: 6px solid var(--surface-light);
}


.polymer-layer-item.layer-base {
    border-left: 6px solid #D88E80;
}


.polymer-layer-item.layer-plate {
    border-left: 6px solid var(--ink);
    background-color: var(--concrete-deep);
}


.layer-spec-col {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.layer-spec-name {
    font-family: var(--zela-286);
    font-size: var(--fs-lg);
    font-weight: 800;
    text-transform: uppercase;
    color: #FFFFFF;
}


.layer-spec-desc {
    font-size: var(--fs-sm);
    color: var(--surface-muted);
}


.layer-meta-tag {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    color: var(--accent-light);
    white-space: nowrap;
}


.polymer-layer-depth-rule {
    height: 4px;
    background-color: var(--rule);
    width: 100%;
}


@supports (animation-timeline: view()) {
    @keyframes polymerCrossLink {
        0% {
            opacity: 0.65;
            transform: translateY(8px);
        }
        50% {
            opacity: 1;
            transform: translateY(0);
            border-color: var(--accent);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }


    @keyframes beamPulse {
        0% {
            background-color: rgba(196, 109, 94, 0.08);
        }
        50% {
            background-color: rgba(196, 109, 94, 0.28);
        }
        100% {
            background-color: rgba(196, 109, 94, 0.08);
        }
    }


    .polymer-layer-item {
        animation-timeline: view();
        animation-name: polymerCrossLink;
        animation-range: entry 10% cover 50%;
        animation-fill-mode: both;
    }


    .polymer-lamp-emitter {
        animation-timeline: view();
        animation-name: beamPulse;
        animation-range: entry 10% cover 60%;
    }
}


.lookup-wrapper {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-lg);
    margin-top: var(--sp-lg);
}


@media (min-width: 768px) {
    .lookup-wrapper {
        padding: var(--sp-2xl);
    }
}


.lookup-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
}


@media (min-width: 900px) {
    .lookup-grid {
        grid-template-columns: 1.15fr 1fr;
    }
}


.lookup-inputs {
    display: flex;
    flex-direction: column;
    gap: var(--sp-md);
}


.lookup-field {
    display: flex;
    flex-direction: column;
    gap: var(--sp-xs);
}


.lookup-label {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--ink);
    letter-spacing: 0.05em;
}


.lookup-select {
    width: 100%;
    min-height: 48px;
    padding: var(--sp-xs) var(--sp-sm);
    background-color: var(--ground);
    border: var(--border-std);
    font-family: var(--zela-d4e);
    font-size: var(--fs-base);
    color: var(--ink);
    border-radius: 0;
    cursor: pointer;
    transition: border-color var(--dur-fast) var(--ease-out);
}


.lookup-select:hover {
    background-color: #FFFFFF;
}


.lookup-select:focus-visible {
    outline: none;
    border-color: var(--accent);
    background-color: #FFFFFF;
    box-shadow: 0 0 0 1px var(--accent);
}


.lookup-results-panel {
    background-color: var(--surface-muted);
    border: var(--border-thick);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-md);
}


@media (min-width: 768px) {
    .lookup-results-panel {
        padding: var(--sp-lg);
    }
}


.lookup-results-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    text-transform: uppercase;
    color: var(--ink);
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
}


.lookup-readout-card {
    background-color: var(--ground);
    border: var(--border-std);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-xs);
}


.lookup-metric-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--rule-muted);
    padding: var(--sp-2xs) 0;
    font-family: var(--zela-82f);
    font-size: var(--fs-sm);
}


.lookup-metric-label {
    color: var(--ink-secondary);
    text-transform: uppercase;
    font-size: var(--fs-xs);
}


.lookup-metric-value {
    font-weight: 700;
    color: var(--ink);
}


.lookup-metric-value.highlight {
    color: var(--accent);
    font-size: var(--fs-base);
}


.lookup-note-box {
    background-color: var(--surface-light);
    border-left: 3px solid var(--accent);
    padding: var(--sp-xs) var(--sp-sm);
    font-size: var(--fs-sm);
    line-height: var(--lh-snug);
    color: var(--ink);
}


.lookup-disclaimer {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    color: var(--ink-muted);
    line-height: var(--lh-snug);
    border-top: 1px solid var(--rule-muted);
    padding-top: var(--sp-xs);
}


.category-index-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-lg);
    margin-top: var(--sp-xl);
}


@media (min-width: 680px) {
    .category-index-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (min-width: 1040px) {
    .category-index-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


.category-tile {
    background-color: var(--surface-light);
    border: var(--border-thick);
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}


.category-tile:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
}


.category-tile:active {
    transform: translateY(0);
}


.category-tile-media {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-bottom: var(--border-thick);
    overflow: hidden;
    background-color: var(--surface-muted);
}


.category-tile-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--dur-normal) var(--ease-out);
}


.category-tile:hover .category-tile-media img {
    transform: scale(1.03);
}


.category-tile-body {
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-xs);
    flex-grow: 1;
}


.category-tile-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    text-transform: uppercase;
    line-height: var(--lh-tight);
}


.category-tile-price {
    font-family: var(--zela-82f);
    font-size: var(--fs-sm);
    font-weight: 700;
    color: var(--accent);
}


.category-tile-desc {
    font-size: var(--fs-sm);
    line-height: var(--lh-base);
    color: var(--ink-secondary);
    flex-grow: 1;
}


.category-tile-footer {
    border-top: var(--border-thin);
    padding-top: var(--sp-xs);
    margin-top: var(--sp-xs);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
}


.catalog-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-xs);
    padding: var(--sp-sm) 0;
    border-top: var(--border-thick);
    border-bottom: var(--border-thick);
    margin-bottom: var(--sp-xl);
    align-items: center;
}


.catalog-filter-label {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    margin-right: var(--sp-sm);
    color: var(--ink);
}


.filter-btn {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    padding: var(--sp-2xs) var(--sp-sm);
    background-color: var(--surface-light);
    border: var(--border-std);
    color: var(--ink);
    cursor: pointer;
    min-height: 38px;
    transition: background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}


.filter-btn:hover {
    background-color: var(--surface-muted);
    border-color: var(--accent);
}


.filter-btn:active {
    background-color: var(--ground);
}


.filter-btn:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}


.filter-btn.is-active {
    background-color: var(--ink);
    color: var(--ground);
    border-color: var(--ink);
}


.spec-sheet-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
    margin-top: var(--sp-xl);
}


@media (min-width: 860px) {
    .spec-sheet-grid {
        grid-template-columns: 1fr 1fr;
    }
}


.spec-card {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-sm);
}


@media (min-width: 768px) {
    .spec-card {
        padding: var(--sp-lg);
    }
}


.spec-card-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
}


.spec-card-list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-xs);
}


.spec-card-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid var(--rule-muted);
    padding: var(--sp-2xs) 0;
    font-family: var(--zela-82f);
    font-size: var(--fs-sm);
    gap: var(--sp-md);
}


.spec-card-row .param {
    color: var(--ink-secondary);
    font-size: var(--fs-xs);
    text-transform: uppercase;
}


.spec-card-row .val {
    font-weight: 700;
    color: var(--ink);
    text-align: right;
}


.viscosity-gauge {
    background-color: var(--ground);
    border: var(--border-std);
    padding: var(--sp-sm);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xs);
}


.gauge-meter-track {
    height: 12px;
    background-color: var(--surface-muted);
    border: 1px solid var(--rule);
    width: 100%;
    position: relative;
}


.gauge-meter-fill {
    height: 100%;
    background-color: var(--accent);
}


.swatch-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: var(--sp-sm);
    margin-top: var(--sp-md);
}


.swatch-box {
    border: var(--border-std);
    background-color: var(--surface-light);
    padding: var(--sp-xs);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xs);
}


.swatch-color-chip {
    height: 48px;
    width: 100%;
    border: 1px solid var(--rule);
}


.swatch-meta {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    display: flex;
    flex-direction: column;
}


.swatch-meta strong {
    color: var(--ink);
}


.swatch-meta span {
    color: var(--ink-muted);
}


.tabbed-legal-container {
    display: flex;
    flex-direction: column;
    gap: var(--sp-lg);
    margin-top: var(--sp-xl);
}


.tab-nav-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    background-color: var(--rule);
    border: var(--border-thick);
    padding: 2px;
}


.tab-btn {
    flex: 1 1 auto;
    min-height: 48px;
    padding: var(--sp-xs) var(--sp-md);
    background-color: var(--surface-light);
    color: var(--ink);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none;
    cursor: pointer;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}


.tab-btn:hover {
    background-color: var(--surface-muted);
    color: var(--accent);
}


.tab-btn:active {
    background-color: var(--ground);
}


.tab-btn:focus-visible {
    outline: var(--focus-ring);
    outline-offset: -2px;
}


.tab-btn[aria-selected='true'] {
    background-color: var(--ink);
    color: var(--ground);
}


.tab-panel {
    display: none;
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-lg);
}


@media (min-width: 768px) {
    .tab-panel {
        padding: var(--sp-2xl);
    }
}


.tab-panel.is-active {
    display: block;
}


.tab-panel-title {
    font-family: var(--zela-286);
    font-size: var(--fs-2xl);
    font-weight: 800;
    margin-bottom: var(--sp-md);
    color: var(--ink);
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
}


@media (max-width: 767px) {
    .tab-nav-bar {
        display: none;
    }


    .tab-panel {
        display: block !important;
        margin-bottom: var(--sp-md);
        border: var(--border-thick);
    }


    .tab-panel-header-mobile {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: var(--sp-sm) var(--sp-md);
        background-color: var(--surface-muted);
        border-bottom: var(--border-std);
        font-family: var(--zela-82f);
        font-size: var(--fs-sm);
        font-weight: 700;
        text-transform: uppercase;
        cursor: pointer;
    }
}


.plain-questions-doc {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3xl);
    margin-top: var(--sp-xl);
}


.plain-question-section {
    border-bottom: var(--border-thick);
    padding-bottom: var(--sp-2xl);
}


.plain-question-heading {
    font-family: var(--zela-286);
    font-size: var(--fs-2xl);
    font-weight: 800;
    line-height: var(--lh-tight);
    text-transform: none;
    color: var(--ink);
    margin-bottom: var(--sp-md);
}


.plain-question-body {
    max-width: var(--measure-prose);
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    color: var(--ink-secondary);
}


.plain-question-body p + p {
    margin-top: var(--sp-md);
}


.plain-question-body ul {
    margin-top: var(--sp-md);
    padding-left: 1.25rem;
}


.plain-question-body li {
    list-style-type: square;
    margin-top: var(--sp-2xs);
}


.cookie-data-table {
    width: 100%;
    margin-top: var(--sp-lg);
    border: var(--border-thick);
    background-color: var(--surface-light);
    overflow-x: auto;
    display: block;
}


.cookie-data-table table {
    min-width: 540px;
}


.cookie-data-table th,
.cookie-data-table td {
    padding: var(--sp-sm) var(--sp-md);
    border-bottom: 1px solid var(--rule-muted);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    text-align: left;
}


.cookie-data-table th {
    background-color: var(--surface-muted);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--ink);
    border-bottom: var(--border-thick);
}


.cookie-data-table td strong {
    color: var(--accent);
}


.terms-sticky-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
    margin-top: var(--sp-xl);
    position: relative;
}


@media (min-width: 900px) {
    .terms-sticky-layout {
        grid-template-columns: 280px 1fr;
    }
}


.terms-sidebar-nav {
    display: none;
}


@media (min-width: 900px) {
    .terms-sidebar-nav {
        display: block;
        position: sticky;
        top: 5.5rem;
        align-self: start;
        border: var(--border-thick);
        background-color: var(--surface-light);
        padding: var(--sp-md);
        max-height: calc(100vh - 7rem);
        overflow-y: auto;
    }
}


.terms-sidebar-title {
    font-family: var(--zela-286);
    font-size: var(--fs-lg);
    font-weight: 800;
    text-transform: uppercase;
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
    margin-bottom: var(--sp-sm);
    color: var(--ink);
}


.terms-index-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.terms-index-link {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    color: var(--ink-secondary);
    text-decoration: none;
    padding: var(--sp-xs);
    display: block;
    border-left: 2px solid transparent;
    transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}


.terms-index-link:hover {
    color: var(--accent);
    border-left-color: var(--accent);
    background-color: var(--surface-muted);
}


.terms-index-link:active {
    background-color: var(--ground);
}


.terms-index-link:focus-visible {
    outline: var(--focus-ring);
    outline-offset: -2px;
}


.terms-index-link.is-current {
    color: var(--ink);
    font-weight: 700;
    border-left-color: var(--accent);
    background-color: var(--surface-muted);
}


.terms-mobile-jump {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xs);
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-sm);
}


@media (min-width: 900px) {
    .terms-mobile-jump {
        display: none;
    }
}


.terms-jump-select {
    min-height: 44px;
    padding: var(--sp-xs);
    border: var(--border-std);
    background-color: var(--ground);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
}


.terms-content-col {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xl);
}


.terms-section-node {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-lg);
    scroll-margin-top: 6rem;
}


@media (min-width: 768px) {
    .terms-section-node {
        padding: var(--sp-2xl);
    }
}


.terms-node-header {
    display: flex;
    align-items: center;
    gap: var(--sp-sm);
    margin-bottom: var(--sp-md);
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
}


.terms-num-tag {
    background-color: var(--ink);
    color: var(--ground);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    font-weight: 700;
    padding: 2px 8px;
}


.terms-node-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    text-transform: uppercase;
    color: var(--ink);
}


.faq-accordion-group {
    display: flex;
    flex-direction: column;
    gap: var(--sp-sm);
    margin-top: var(--sp-xl);
}


.faq-accordion-item {
    border: var(--border-thick);
    background-color: var(--surface-light);
}


.faq-trigger {
    width: 100%;
    padding: var(--sp-md) var(--sp-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-md);
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background-color var(--dur-fast) var(--ease-out);
}


.faq-trigger:hover {
    background-color: var(--surface-muted);
}


.faq-trigger:active {
    background-color: var(--ground);
}


.faq-trigger:focus-visible {
    outline: var(--focus-ring);
    outline-offset: -3px;
}


.faq-question-text {
    font-family: var(--zela-286);
    font-size: var(--fs-lg);
    font-weight: 800;
    text-transform: none;
    color: var(--ink);
}


.faq-trigger-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    transition: transform var(--dur-fast) var(--ease-out);
    color: var(--accent);
}


.faq-trigger[aria-expanded='true'] .faq-trigger-icon {
    transform: rotate(180deg);
}


.faq-content-panel {
    display: none;
    padding: 0 var(--sp-lg) var(--sp-lg) var(--sp-lg);
    font-size: var(--fs-base);
    line-height: var(--lh-base);
    color: var(--ink-secondary);
}


.faq-content-panel.is-open {
    display: block;
}


.contact-layout-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
    margin-top: var(--sp-xl);
}


@media (min-width: 900px) {
    .contact-layout-grid {
        grid-template-columns: 1fr 1.25fr;
    }
}


.contact-details-card {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-lg);
    display: flex;
    flex-direction: column;
    gap: var(--sp-lg);
}


@media (min-width: 768px) {
    .contact-details-card {
        padding: var(--sp-2xl);
    }
}


.contact-details-card-title {
    font-family: var(--zela-286);
    font-size: var(--fs-2xl);
    font-weight: 800;
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
}


.contact-channels-list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-md);
}


.contact-channel-node {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-sm);
    padding-bottom: var(--sp-sm);
    border-bottom: 1px solid var(--rule-muted);
}


.contact-channel-node .icon {
    color: var(--accent);
    margin-top: 4px;
}


.contact-channel-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.contact-channel-meta .label {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    text-transform: uppercase;
    color: var(--ink-muted);
}


.contact-channel-meta .value {
    font-size: var(--fs-base);
    font-weight: 600;
    color: var(--ink);
}


.contact-channel-meta a {
    color: var(--ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}


.contact-channel-meta a:hover {
    color: var(--accent);
}


.proof-dossier-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-lg);
    margin-top: var(--sp-xl);
}


@media (min-width: 768px) {
    .proof-dossier-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


.proof-item-block {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-sm);
}


@media (min-width: 768px) {
    .proof-item-block {
        padding: var(--sp-lg);
    }
}


.proof-item-header {
    display: flex;
    align-items: center;
    gap: var(--sp-xs);
}


.proof-item-header .icon {
    color: var(--accent);
}


.proof-item-title {
    font-family: var(--zela-286);
    font-size: var(--fs-lg);
    font-weight: 800;
    text-transform: uppercase;
}


.proof-item-body {
    font-size: var(--fs-sm);
    line-height: var(--lh-base);
    color: var(--ink-secondary);
}


.proof-stamp-box {
    background-color: var(--ground);
    border: 2px dashed var(--rule);
    padding: var(--sp-xs) var(--sp-sm);
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    color: var(--ink);
    display: flex;
    justify-content: space-between;
}


.quote-builder-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
    margin-top: var(--sp-xl);
}


@media (min-width: 960px) {
    .quote-builder-grid {
        grid-template-columns: 1.35fr 1fr;
    }
}


.quote-selector-list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-md);
}


.quote-item-row {
    background-color: var(--surface-light);
    border: var(--border-std);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-sm);
}


@media (min-width: 600px) {
    .quote-item-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}


.quote-item-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}


.quote-item-title {
    font-family: var(--zela-286);
    font-size: var(--fs-lg);
    font-weight: 800;
    color: var(--ink);
}


.quote-item-tier {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    color: var(--accent);
}


.quote-item-controls {
    display: flex;
    align-items: center;
    gap: var(--sp-xs);
}


.quote-qty-btn {
    width: 36px;
    height: 36px;
    background-color: var(--ground);
    border: var(--border-std);
    font-family: var(--zela-82f);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}


.quote-qty-btn:hover {
    background-color: var(--ink);
    color: var(--ground);
}


.quote-qty-display {
    min-width: 36px;
    text-align: center;
    font-family: var(--zela-82f);
    font-weight: 700;
    font-size: var(--fs-sm);
}


.quote-summary-panel {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-lg);
    display: flex;
    flex-direction: column;
    gap: var(--sp-md);
    height: fit-content;
}


.quote-summary-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
}


.error-404-container {
    min-height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: var(--sp-3xl) 0;
    gap: var(--sp-lg);
}


.error-code-badge {
    font-family: var(--zela-82f);
    font-size: var(--fs-3xl);
    font-weight: 900;
    color: var(--accent);
    line-height: 1;
    letter-spacing: -0.05em;
    border-bottom: 4px solid var(--rule);
    padding-bottom: var(--sp-2xs);
}


.error-headline {
    font-family: var(--zela-286);
    font-size: var(--fs-huge);
    font-weight: 900;
    line-height: var(--lh-solid);
}


.error-nav-suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-xs);
    margin-top: var(--sp-md);
}


.dsar-steps-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-lg);
    margin-top: var(--sp-xl);
}


@media (min-width: 768px) {
    .dsar-steps-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


.dsar-step-card {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-xs);
}


.dsar-step-title {
    font-family: var(--zela-286);
    font-size: var(--fs-lg);
    font-weight: 800;
    color: var(--ink);
}


.dsar-step-body {
    font-size: var(--fs-sm);
    color: var(--ink-secondary);
}


.warranty-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-lg);
    margin-top: var(--sp-xl);
}


@media (min-width: 768px) {
    .warranty-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


.warranty-card {
    background-color: var(--surface-light);
    border: var(--border-thick);
    padding: var(--sp-lg);
    display: flex;
    flex-direction: column;
    gap: var(--sp-sm);
}


.warranty-card-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    border-bottom: 2px solid var(--accent);
    padding-bottom: var(--sp-2xs);
}


.sets-comparison-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-xl);
    margin-top: var(--sp-xl);
}


@media (min-width: 860px) {
    .sets-comparison-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


.set-bundle-card {
    background-color: var(--surface-light);
    border: var(--border-thick);
    display: flex;
    flex-direction: column;
}


.set-bundle-media {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-bottom: var(--border-thick);
    overflow: hidden;
    background-color: var(--surface-muted);
}


.set-bundle-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.set-bundle-content {
    padding: var(--sp-lg);
    display: flex;
    flex-direction: column;
    gap: var(--sp-sm);
    flex-grow: 1;
}


.set-bundle-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    text-transform: uppercase;
}


.set-bundle-items-list {
    margin: var(--sp-xs) 0;
    padding-left: 1.25rem;
}


.set-bundle-items-list li {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    list-style-type: square;
    margin-top: var(--sp-2xs);
    color: var(--ink-secondary);
}


.accessibility-feature-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-md);
    margin-top: var(--sp-lg);
}


@media (min-width: 640px) {
    .accessibility-feature-list {
        grid-template-columns: repeat(2, 1fr);
    }
}


.accessibility-feature-card {
    background-color: var(--surface-light);
    border: var(--border-std);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xs);
}


.accessibility-feature-title {
    font-family: var(--zela-82f);
    font-size: var(--fs-sm);
    font-weight: 700;
    text-transform: uppercase;
    color: var(--accent);
}


.timeline-track {
    display: flex;
    flex-direction: column;
    gap: var(--sp-lg);
    margin-top: var(--sp-xl);
    border-left: var(--border-thick);
    padding-left: var(--sp-lg);
}


.timeline-node {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--sp-2xs);
}


.timeline-node::before {
    content: '';
    position: absolute;
    left: calc(-1 * var(--sp-lg) - 7px);
    top: 4px;
    width: 12px;
    height: 12px;
    background-color: var(--accent);
    border: 2px solid var(--rule);
}


.timeline-year {
    font-family: var(--zela-82f);
    font-size: var(--fs-xs);
    font-weight: 700;
    color: var(--accent);
}


.timeline-title {
    font-family: var(--zela-286);
    font-size: var(--fs-xl);
    font-weight: 800;
    text-transform: uppercase;
}


.timeline-desc {
    font-size: var(--fs-sm);
    color: var(--ink-secondary);
    max-width: var(--measure-prose);
}


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

    .spec-card-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }
  

    .spec-card-row .val {
        text-align: left;
    }
  

    .figure-caption-bar {
        flex-direction: column;
        align-items: flex-start;
    }
}
