


.site-header {
    position:relative;
    width:100%;
    background-color:var(--ground);
    border-block-end:2px solid var(--surface-soot);
    z-index:100;
}


header.site-header .nav-rail,
header.site-header .nav-rail-list,
header.site-header .nav-rail-item,
header.site-header .nav-rail-link {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
}


header.site-header.is-scrolled .nav-rail,
header.site-header.is-scrolled .nav-rail-list,
header.site-header.is-scrolled .nav-rail-item,
header.site-header.is-scrolled .nav-rail-link {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
}


.site-nav,
.site-nav__panel,
.site-nav__list,
.site-nav__list li,
.site-nav__link {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
}


#primary-sidebar .site-nav,
#primary-sidebar .site-nav-list,
#primary-sidebar .site-nav-list li,
#primary-sidebar .nav-link {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}


.header-inner {
    display:flex;
    align-items:stretch;
    justify-content:space-between;
    min-height:84px;
}


.brand-wrapper {
    display:flex;
    align-items:center;
    padding-block:var(--space-xs);
    padding-inline-end:var(--space-m);
    border-inline-end:1px solid var(--hairline);
}


.brand {
    display:inline-flex;
    align-items:center;
    line-height:1;
    text-decoration:none;
    flex-shrink:0;
}


.brand img {
    height:3.2rem;
    width:auto;
    display:block;
}


/* Right Nav Rail */
.nav-rail {

    display:flex;
    align-items:center;
    margin-inline-start:auto;
}


.nav-rail-list {
    display:flex;
    list-style:none;
    align-items:center;
    gap:0;
    height:100%;
    flex-wrap:wrap;
}


.nav-rail-item {
    height:100%;
    display:flex;
    align-items:center;
    border-inline-start:1px solid var(--hairline);
}


.nav-rail-link {
    display:inline-flex;
    align-items:center;
    gap:0.4rem;
    padding:0 1.25rem;
    height:100%;
    min-height:44px;
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--ink);
    text-decoration:none;
    background-color:transparent;
    transition:background-color var(--dur-fast) var(--ease-industrial),
                            color var(--dur-fast) var(--ease-industrial);
}


.nav-rail-link:hover {
    background-color:var(--surface-oxide);
    color:var(--accent-sage);
}


.nav-rail-link:active {
    background-color:var(--surface-soot);
    color:var(--accent-amber);
}


.nav-rail-link:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:-2px;
}


.nav-rail-link[aria-current='page'] {
    background-color:var(--surface-oxide);
    color:var(--accent-amber);
    border-block-end:3px solid var(--accent-amber);
}


.nav-corner-mark {
    position:fixed;
    top:14px;
    right:14px;
    z-index:800;
    width:54px;
    height:54px;
    min-height:44px;
    min-width:44px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    background-color:var(--surface-soot);
    color:var(--ink);
    border:2px solid var(--accent-amber);
    box-shadow:3px 3px 0px rgba(0, 0, 0, 0.45);
    cursor:pointer;
    border-radius:var(--radius-0);
    transition:background-color var(--dur-fast) var(--ease-industrial),
                            border-color var(--dur-fast) var(--ease-industrial),
                            color var(--dur-fast) var(--ease-industrial),
                            box-shadow var(--dur-fast) var(--ease-industrial),
                            transform var(--dur-fast) var(--ease-industrial);
}


.nav-corner-mark:hover {
    background-color:var(--surface-oxide);
    color:var(--accent-sage);
    border-color:var(--accent-sage);
    box-shadow:4px 4px 0px var(--surface-soot);
    transform:translate(-1px, -1px);
}


.nav-corner-mark:active {
    background-color:var(--surface-soot);
    color:var(--accent-amber);
    transform:translate(1px, 1px);
    box-shadow:1px 1px 0px rgba(0, 0, 0, 0.5);
}


.nav-corner-mark:focus-visible {
    outline:2px solid var(--accent-sage);
    outline-offset:3px;
}


.nav-corner-mark .icon-close { display:none; }


.nav-corner-mark[aria-expanded='true'] {
    background-color:var(--accent-amber);
    color:var(--surface-soot);
    border-color:var(--ink);
}


.nav-corner-mark[aria-expanded='true'] .icon-menu { display:none; }


.nav-corner-mark[aria-expanded='true'] .icon-close { display:block; }


.nav-fullscreen-panel {
    position:fixed;
    inset:0;
    z-index:790;
    background-color:var(--surface-soot);
    color:var(--ink);
    display:none;
    flex-direction:column;
    justify-content:space-between;
    padding:clamp(1.5rem, 4vw, 4rem);
    overflow-y:auto;
    border-inline-end:8px solid var(--accent-amber);
}


.nav-fullscreen-panel.is-open { display:flex; }


.nav-panel-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-block-end:var(--space-m);
    border-block-end:1px solid var(--hairline-strong);
}


.nav-panel-brand img {
    height:3.2rem;
    width:auto;
}


.nav-panel-menu {
    list-style:none;
    padding:0;
    margin-block:var(--space-l);
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}


.nav-panel-link {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    padding:0.6rem 0;
    min-height:48px;
    font-family:var(--mofi-09a);
    font-size:clamp(2rem, 5vw, 3.8rem);
    font-weight:900;
    line-height:1;
    text-transform:uppercase;
    color:var(--ink);
    text-decoration:none;
    border-block-end:1px solid var(--hairline);
    transition:color var(--dur-fast) var(--ease-industrial),
                            padding-inline-start var(--dur-fast) var(--ease-industrial),
                            border-color var(--dur-fast) var(--ease-industrial);

}


.nav-panel-link:hover {
    color:var(--accent-amber);
    padding-inline-start:1rem;
    border-color:var(--accent-amber);
}


.nav-panel-link:active { color:var(--accent-sage); }


.nav-panel-link:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:4px;
}


.nav-panel-link .panel-badge {
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    color:var(--accent-sage);
    letter-spacing:0.05em;
}


.nav-panel-foot {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-s);
    padding-block-start:var(--space-m);
    border-block-start:1px solid var(--hairline);
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    color:var(--ink-muted);
}


@media (min-width: 768px) {
    .nav-panel-foot { grid-template-columns:1fr 1fr; }
}


.nav-panel-foot a { color:var(--ink); }


.nav-panel-foot a:hover { color:var(--accent-amber); }



.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0.6rem;
    min-height:48px;
    padding:0.75rem 1.6rem;
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    text-decoration:none;
    cursor:pointer;
    border-radius:var(--radius-0);
    line-height:1.2;
    white-space:normal;
    text-align:center;
    border:2px solid var(--surface-soot);
    background-color:var(--surface-soot);
    color:var(--ink);
    box-shadow:3px 3px 0px rgba(0, 0, 0, 0.4);
    transition:background-color var(--dur-fast) var(--ease-industrial),
                            color var(--dur-fast) var(--ease-industrial),
                            border-color var(--dur-fast) var(--ease-industrial),
                            box-shadow var(--dur-fast) var(--ease-industrial),
                            transform var(--dur-fast) var(--ease-industrial);
}


.btn:hover {
    background-color:var(--surface-oxide);
    border-color:var(--accent-amber);
    color:var(--ink);
    box-shadow:5px 5px 0px var(--surface-soot);
    transform:translate(-1px, -1px);
}


.btn:active {
    background-color:var(--surface-soot);
    color:var(--accent-amber);
    box-shadow:1px 1px 0px rgba(0, 0, 0, 0.5);
    transform:translate(2px, 2px);
}


.btn:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:3px;
}


.btn--amber {
    background-color:var(--accent-amber);
    color:var(--surface-soot);
    border-color:var(--accent-amber);
}


.btn--amber:hover {
    background-color:#ed9842;
    border-color:var(--ink);
    color:var(--surface-soot);
    box-shadow:4px 4px 0px var(--surface-soot);
}


.btn--amber:active {
    background-color:#c97223;
    color:var(--ink);
    box-shadow:1px 1px 0px var(--surface-soot);
}


.btn--sage {
    background-color:var(--accent-sage);
    color:var(--surface-soot);
    border-color:var(--accent-sage);
}


.btn--sage:hover {
    background-color:#c6d4bb;
    border-color:var(--surface-soot);
    color:var(--surface-soot);
    box-shadow:4px 4px 0px var(--surface-soot);
}


.btn--sage:active {
    background-color:#9faf92;
    box-shadow:1px 1px 0px var(--surface-soot);
}


.btn--outline {
    background-color:#201412;
    color:#ffffff;
    border-color:#ffffff;
}


.btn--outline:hover {
    background-color:var(--surface-soot);
    color:var(--accent-sage);
    border-color:var(--accent-sage);
}


.btn--outline:active {
    background-color:var(--surface-oxide);
    color:var(--accent-amber);
}


.btn--full { width:100%; }


.btn--small {
    min-height:40px;
    padding:0.45rem 1rem;
    font-size:var(--step--2);
}


/* Industrial Tag Badge & Hazard Tape Detail */
.badge-tag {
    display:inline-flex;
    align-items:center;
    gap:0.35rem;
    padding:0.25rem 0.65rem;
    min-height:28px;
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.08em;
    background-color:var(--surface-soot);
    color:var(--accent-amber);
    border:1px solid var(--hairline-strong);
}


.badge-tag--sage {
    color:var(--accent-sage);
    border-color:var(--accent-sage);
}


.hazard-strip {
    height:6px;
    width:100%;
    background:repeating-linear-gradient(
        -45deg,
        var(--surface-soot),
        var(--surface-soot) 10px,
        var(--accent-amber) 10px,
        var(--accent-amber) 20px
    );
    margin-block:var(--space-s);
}



.catalog-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-m);
    margin-block:var(--space-l);
}


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


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


.catalog-block {
    background-color:var(--surface-oxide);
    border:1px solid var(--surface-soot);
    display:flex;
    flex-direction:column;
    position:relative;
    transition:transform var(--dur-fast) var(--ease-industrial),
                            border-color var(--dur-fast) var(--ease-industrial),
                            box-shadow var(--dur-fast) var(--ease-industrial);
}


.catalog-block:hover {
    transform:translateY(-2px);
    border-color:var(--accent-amber);
    box-shadow:4px 4px 0px var(--surface-soot);
}


.catalog-block-image {
    position:relative;
    width:100%;
    aspect-ratio:4 / 3;
    overflow:hidden;
    background-color:var(--surface-soot);
    border-block-end:1px solid var(--surface-soot);
}


.catalog-block-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform var(--dur-deliberate) var(--ease-industrial);
}


.catalog-block:hover .catalog-block-image img { transform:scale(1.03); }


.catalog-block-price-tag {
    position:absolute;
    top:10px;
    right:10px;
    background-color:var(--surface-soot);
    color:var(--accent-amber);
    border:1px solid var(--accent-amber);
    padding:0.3rem 0.6rem;
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    letter-spacing:0.04em;
}


.catalog-block-body {
    padding:var(--space-s);
    display:flex;
    flex-direction:column;
    flex-grow:1;
}


.catalog-block-title {
    font-family:var(--mofi-09a);
    font-size:var(--mofi-5d9);
    line-height:1.05;
    margin-block-end:0.4rem;
}


.catalog-block-title a {
    color:var(--ink);
    text-decoration:none;
}


.catalog-block-title a:hover { color:var(--accent-amber); }


.catalog-block-spec {
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
    color:var(--accent-sage);
    margin-block-end:var(--space-2xs);
    text-transform:uppercase;
}


.catalog-block-prose {
    font-size:var(--step--1);
    color:var(--ink-muted);
    line-height:1.5;
    margin-block-end:var(--space-s);
    flex-grow:1;
}


.catalog-block-foot {
    padding-block-start:var(--space-xs);
    border-block-start:1px solid var(--hairline);
    display:flex;
    align-items:center;
    justify-content:space-between;
}


/* Industrial Spec Tables */
.spec-ledger-table {
    width:100%;
    border-collapse:collapse;
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    border:2px solid var(--surface-soot);
    margin-block:var(--space-m) var(--space-l);
}


.spec-ledger-table th,
.spec-ledger-table td {
    padding:0.85rem 1rem;
    text-align:left;
    border:1px solid var(--hairline-strong);
    vertical-align:top;
}


.spec-ledger-table th {
    background-color:var(--surface-soot);
    color:var(--accent-amber);
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:0.06em;
    font-size:var(--step--2);
}


.spec-ledger-table tbody tr {
    background-color:var(--surface-oxide);
    transition:background-color var(--dur-fast) var(--ease-industrial);
}


.spec-ledger-table tbody tr:nth-child(even) { background-color:rgba(32, 20, 18, 0.4); }


.spec-ledger-table tbody tr:hover { background-color:rgba(226, 141, 56, 0.15); }


.spec-ledger-table .col-price {
    color:var(--accent-amber);
    font-weight:700;
    white-space:nowrap;
}


.spec-ledger-table .col-lead {
    color:var(--accent-sage);
    white-space:nowrap;
}



.opening-first-screen {
    padding-block:var(--space-m) var(--space-xl);
    border-block-end:2px solid var(--surface-soot);
    position:relative;
}


.opening-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-l);
    align-items:center;
}


@media (min-width: 900px) {
    .opening-grid {
        grid-template-columns:1.4fr 1fr; /* Deliberate 2/3 - 1/3 split */
    }
}


.opening-copy-column { min-width:0; }


.opening-stage-column {
    min-width:0;
    display:flex;
    justify-content:center;
}


.model-stage-box {
    position:relative;
    width:100%;
    max-width:480px;
    aspect-ratio:1 / 1;
    background-color:var(--surface-soot);
    border:2px solid var(--surface-soot);
    box-shadow:6px 6px 0px rgba(0, 0, 0, 0.45);
    overflow:hidden;
    touch-action:pan-y;
}


.model-stage-box img[data-model-still] {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    position:absolute;
    inset:0;
    z-index:2;
    transition:opacity var(--dur-deliberate) var(--ease-industrial);
}


.model-stage-box canvas[data-model-canvas] {
    width:100% !important;
    height:100% !important;
    display:block;
    position:absolute;
    inset:0;
    z-index:1;
}


.model-stage-box[data-model-live] img[data-model-still] {
    opacity:0;
    pointer-events:none;
}


.model-stage-box[data-model-live] canvas[data-model-canvas] { z-index:3; }


.model-stage-hud {
    position:absolute;
    bottom:10px;
    left:10px;
    right:10px;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0.4rem 0.75rem;
    background-color:rgba(32, 20, 18, 0.92);
    border:1px solid var(--accent-amber);
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
    color:var(--ink);
    pointer-events:none;
}


.model-stage-hud .hud-accent {
    color:var(--accent-amber);
    font-weight:700;
}


.headline-rotating-slot {
    display:inline-block;
    color:var(--accent-amber);
    border-bottom:4px solid var(--accent-amber);
    padding-bottom:2px;
    transition:opacity var(--dur-fast) var(--ease-industrial),
                            transform var(--dur-fast) var(--ease-industrial);
}


/* Self-drawing SVG line diagram */
.svg-scroll-draw {
    width:100%;
    height:auto;
    max-width:900px;
    display:block;
    margin-block:var(--space-m);
}


.svg-scroll-draw path,
.svg-scroll-draw line,
.svg-scroll-draw polyline {
    stroke:var(--accent-amber);
    stroke-width:3;
    fill:none;
    stroke-linecap:square;
    stroke-dasharray:1000;
    stroke-dashoffset:0;
}


.svg-step-marker {
    fill:var(--surface-soot);
    stroke:var(--accent-amber);
    stroke-width:2;
    transition:fill var(--dur-fast) var(--ease-industrial),
                            stroke var(--dur-fast) var(--ease-industrial);
}


.svg-step-marker.is-active {
    fill:var(--accent-sage);
    stroke:var(--ink);
}



.inquiry-console {
    background-color:var(--surface-oxide);
    border:2px solid var(--surface-soot);
    border-block-start:6px solid var(--accent-amber);
    padding:var(--space-m);
    margin-block:var(--space-l);
    box-shadow:6px 6px 0px rgba(0, 0, 0, 0.4);
}


.form-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-s);
}


@media (min-width: 720px) {
    .form-grid-2 { grid-template-columns:1fr 1fr; }
}


.form-field {
    display:flex;
    flex-direction:column;
    gap:0.35rem;
}


.form-label {
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--ink);
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    flex-wrap:wrap;
    gap:0.2rem;
}


.form-label-opt {
    font-size:var(--step--2);
    color:var(--accent-sage);
    text-transform:lowercase;
    font-weight:400;
}


.form-input {
    width:100%;
    min-height:48px;
    padding:0.75rem 1rem;
    font-family:var(--mofi-0e0);
    font-size:var(--mofi-c08);
    background-color:var(--surface-soot);
    color:var(--ink);
    border:2px solid var(--hairline-strong);
    border-radius:var(--radius-0);
    transition:border-color var(--dur-fast) var(--ease-industrial),
                            background-color var(--dur-fast) var(--ease-industrial),
                            box-shadow var(--dur-fast) var(--ease-industrial);
}


.form-input:hover { border-color:var(--ink); }


.form-input:focus {
    outline:none;
    border-color:var(--accent-amber);
    background-color:#271714;
    box-shadow:3px 3px 0px var(--accent-amber);
}


textarea.form-input {
    min-height:120px;
    resize:vertical;
}


select.form-input {
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23E28D38' stroke-width='3' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 1rem center;
    padding-right:2.5rem;
}


.form-input.has-error {
    border-color:#ff5a5a;
    background-color:rgba(255, 90, 90, 0.1);
}


.field-error-msg {
    display:none;
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
    color:#ffaeae;
    font-weight:700;
    margin-block-start:0.25rem;
}


.form-input.has-error + .field-error-msg { display:block; }


.form-consent-box {
    display:grid;
    grid-template-columns:24px 1fr;
    gap:var(--space-2xs);
    align-items:start;
    font-size:var(--step--1);
    color:var(--ink);
    line-height:1.45;
    cursor:pointer;
    margin-block:var(--space-xs);
}


.form-consent-box input[type='checkbox'] {
    width:20px;
    height:20px;
    margin-top:2px;
    accent-color:var(--accent-amber);
    cursor:pointer;
}


.form-notification {
    display:none;
    padding:var(--space-s);
    margin-block:var(--space-s);
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    border:2px solid currentColor;
}


.form-notification.is-success {
    display:block;
    background-color:var(--surface-soot);
    color:var(--accent-sage);
    border-color:var(--accent-sage);
}


.form-notification.is-error {
    display:block;
    background-color:var(--surface-soot);
    color:#ff8f8f;
    border-color:#ff5a5a;
}



.consent-dock {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:950;
    max-height:18vh;
    overflow-y:auto;
    background-color:var(--surface-soot);
    color:#ffffff;
    border-block-start:3px solid var(--accent-amber);
    padding:0.45rem clamp(0.75rem, 2vw, 1.5rem);
    box-shadow:0 -4px 20px rgba(0, 0, 0, 0.6);
    display:none;
    font-family:var(--mofi-8c2);
}


.consent-dock.is-visible { display:block; }


.consent-dock-inner {
    max-width:1320px;
    margin-inline:auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:0.6rem var(--space-m);
}


.consent-dock-text {
    flex:1 1 300px;
    font-size:var(--step--2);
    line-height:1.4;
    margin:0;
    color:var(--ink);
}


.consent-dock-text a {
    color:var(--accent-amber);
    text-decoration:underline;
}


.consent-dock-actions {
    display:inline-flex;
    gap:0.5rem;
    flex-shrink:0;
}


.consent-btn {
    min-height:40px;
    padding:0.45rem 1rem;
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.06em;
    cursor:pointer;
    border-radius:var(--radius-0);
    border:1px solid transparent;
    transition:background-color var(--dur-fast) var(--ease-industrial),
                            color var(--dur-fast) var(--ease-industrial),
                            border-color var(--dur-fast) var(--ease-industrial);
}


.consent-btn--allow {
    background-color:#201412;
    color:#ffffff;
    border-color:var(--accent-amber);
}


.consent-btn--allow:hover {
    background-color:var(--surface-oxide);
    border-color:#ffffff;
}


.consent-btn--allow:active {
    background-color:#000000;
    color:#ffffff;
}


.consent-btn--allow:focus-visible {
    outline:2px solid #ffffff;
    outline-offset:2px;
}


.consent-btn--deny {
    background-color:#201412;
    color:#ffffff;
    border-color:var(--hairline-strong);
}


.consent-btn--deny:hover {
    background-color:var(--surface-oxide);
    border-color:var(--ink);
    color:var(--accent-sage);
}


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


.consent-btn--deny:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:2px;
}



.chat-launcher-btn {
    position:fixed;
    bottom:16px;
    right:16px;
    z-index:900;
    min-height:48px;
    padding:0.65rem 1.2rem;
    background-color:var(--surface-soot);
    color:var(--ink);
    border:2px solid var(--accent-amber);
    box-shadow:4px 4px 0px rgba(0, 0, 0, 0.5);
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    letter-spacing:0.06em;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:0.6rem;
    cursor:pointer;
    border-radius:var(--radius-0);
    transition:transform var(--dur-fast) var(--ease-industrial),
                            background-color var(--dur-fast) var(--ease-industrial),
                            color var(--dur-fast) var(--ease-industrial),
                            border-color var(--dur-fast) var(--ease-industrial),
                            box-shadow var(--dur-fast) var(--ease-industrial),
                            bottom var(--dur-fast) var(--ease-industrial);
}


.chat-launcher-btn:hover {
    background-color:var(--surface-oxide);
    color:var(--accent-sage);
    border-color:var(--accent-sage);
    transform:translate(-1px, -1px);
    box-shadow:5px 5px 0px rgba(0, 0, 0, 0.6);
}


.chat-launcher-btn:active {
    background-color:var(--surface-soot);
    color:var(--accent-amber);
    transform:translate(2px, 2px);
    box-shadow:1px 1px 0px rgba(0, 0, 0, 0.5);
}


.chat-launcher-btn:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:3px;
}


.chat-launcher-btn.is-stepped-up { bottom:78px; }


.chat-launcher-btn .chat-counter {
    display:none;
    background-color:var(--accent-amber);
    color:var(--surface-soot);
    padding:0.1rem 0.45rem;
    font-size:var(--step--2);
    font-weight:700;
}


.chat-launcher-btn .chat-counter.has-count { display:inline-block; }


/* Support Chat Dialog Panel */
.chat-dialog-panel {
    display:none;
    position:fixed;
    bottom:76px;
    right:16px;
    width:min(390px, calc(100vw - 32px));
    max-height:min(520px, calc(100vh - 110px));
    background-color:var(--surface-soot);
    color:var(--ink);
    border:2px solid var(--accent-amber);
    box-shadow:8px 8px 0px rgba(0, 0, 0, 0.7);
    z-index:980;
    flex-direction:column;
}


.chat-dialog-panel.is-open { display:flex; }


.chat-dialog-head {
    padding:0.75rem 1rem;
    background-color:#170c0a;
    border-block-end:2px solid var(--accent-amber);
    display:flex;
    align-items:center;
    justify-content:space-between;
}


.chat-dialog-title {
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--accent-amber);
    margin:0;
}


.chat-dialog-close {
    width:36px;
    height:36px;
    min-height:36px;
    padding:0;
    background:none;
    border:1px solid var(--hairline-strong);
    color:var(--ink);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:color var(--dur-fast) var(--ease-industrial),
                            border-color var(--dur-fast) var(--ease-industrial);
}


.chat-dialog-close:hover {
    color:var(--accent-amber);
    border-color:var(--accent-amber);
}


.chat-dialog-close:active { background-color:var(--surface-soot); }


.chat-dialog-close:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:2px;
}


.chat-dialog-body {
    padding:1rem;
    flex:1;
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    gap:0.75rem;
    background-color:var(--surface-soot);
    font-family:var(--mofi-0e0);
    font-size:var(--step--1);
}


.chat-bubble {
    padding:0.65rem 0.95rem;
    max-width:86%;
    line-height:1.45;
    border:1px solid var(--hairline);
}


.chat-bubble--agent {
    align-self:flex-start;
    background-color:var(--surface-oxide);
    color:var(--ink);
    border-color:var(--hairline-strong);
}


.chat-bubble--visitor {
    align-self:flex-end;
    background-color:#2e1b17;
    color:var(--accent-sage);
    border-color:var(--accent-sage);
}


.chat-bubble-stamp {
    display:block;
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
    color:var(--ink-muted);
    margin-block-start:0.25rem;
}


.chat-dialog-foot {
    padding:0.75rem;
    border-block-start:2px solid var(--hairline);
    background-color:#170c0a;
    display:flex;
    gap:0.4rem;
}


.chat-dialog-input {
    flex:1;
    min-height:42px;
    padding:0.5rem 0.8rem;
    background-color:var(--surface-soot);
    color:var(--ink);
    border:1px solid var(--hairline-strong);
    font-family:var(--mofi-0e0);
    font-size:var(--step--1);
}


.chat-dialog-input:focus {
    outline:none;
    border-color:var(--accent-amber);
}


.chat-dialog-submit {
    min-height:42px;
    padding:0.5rem 1rem;
    background-color:var(--accent-amber);
    color:var(--surface-soot);
    border:1px solid var(--accent-amber);
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
    font-weight:700;
    text-transform:uppercase;
    cursor:pointer;
    transition:background-color var(--dur-fast) var(--ease-industrial);
}


.chat-dialog-submit:hover { background-color:#ed9842; }


.chat-dialog-submit:active { background-color:#c97223; }


.chat-dialog-submit:focus-visible {
    outline:2px solid var(--ink);
    outline-offset:2px;
}



.site-footer {
    background-color:var(--surface-soot);
    color:var(--ink-muted);
    border-block-start:4px solid var(--accent-amber);
    padding:var(--space-xl) clamp(1.2rem, 3.8vw, 3.8rem) var(--space-m);
    margin-block-start:auto;
}


.footer-inner {
    max-width:1320px;
    margin-inline:0 auto; /* Deliberately off-center */
}


.footer-top-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:var(--space-l);
    padding-block-end:var(--space-l);
    border-block-end:1px solid var(--hairline);
}


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


@media (min-width: 1040px) {
    .footer-top-grid { grid-template-columns:1.4fr 1fr 1fr 1.2fr; }
}


.footer-brand img {
    height:3.4rem;
    width:auto;
    margin-block-end:var(--space-xs);
}


.footer-lead-prose {
    font-size:var(--step--1);
    line-height:1.5;
    color:var(--ink);
    max-width:38ch;
    margin-block-end:var(--space-2xs);
}


.footer-column-heading {
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    font-weight:700;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--accent-amber);
    margin-block-end:var(--space-xs);
}


.footer-nav-list {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:0.45rem;
}


.footer-nav-list a {
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    color:var(--ink);
    text-decoration:none;
    min-height:32px;
    display:inline-flex;
    align-items:center;
    transition:color var(--dur-fast) var(--ease-industrial);
}


.footer-nav-list a:hover {
    color:var(--accent-amber);
    text-decoration:underline;
}


.footer-nav-list a:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:2px;
}


.footer-address-block {
    font-family:var(--mofi-8c2);
    font-size:var(--step--1);
    line-height:1.55;
    color:var(--ink);
}


.footer-address-block address {
    font-style:normal;
    margin-block-end:var(--space-2xs);
}


.footer-address-block a {
    color:var(--ink);
    text-decoration:underline;
}


.footer-address-block a:hover { color:var(--accent-amber); }


.footer-legal-bar {
    padding-block-start:var(--space-m);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-xs) var(--space-m);
    font-family:var(--mofi-8c2);
    font-size:var(--step--2);
}


.footer-legal-links-list {
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-xs) var(--space-s);
    list-style:none;
    padding:0;
    margin:0;
}


.footer-legal-links-list a,
.footer-legal-links-list button {
    color:#201412;
    text-decoration:underline;
    background:none;
    border:none;
    padding:0;
    font:inherit;
    cursor:pointer;
    min-height:32px;
    display:inline-flex;
    align-items:center;
    transition:color var(--dur-fast) var(--ease-industrial);
}


.site-footer .footer-legal-links-list a,
.site-footer .footer-legal-links-list button {
    color:var(--ink-muted);
    text-decoration:none;
}


.footer-legal-links-list a:hover,
.footer-legal-links-list button:hover {
    color:var(--accent-amber);
    text-decoration:underline;
}


.footer-legal-links-list a:focus-visible,
.footer-legal-links-list button:focus-visible {
    outline:2px solid var(--accent-amber);
    outline-offset:2px;
}


header.site-header .nav-rail,
header.site-header .nav-rail-list,
header.site-header .nav-rail-item,
header.site-header .nav-rail-link,
header.site-header .site-nav,
header.site-header .site-nav__panel,
header.site-header .site-nav__list,
header.site-header .site-nav__list li,
header.site-header .site-nav__link,
header#primary-sidebar .site-nav,
header#primary-sidebar .site-nav-list,
header#primary-sidebar .site-nav-list li,
header#primary-sidebar .nav-link,
.sidebar-header .site-nav,
.sidebar-header .site-nav-list,
.sidebar-header .site-nav-list li,
.sidebar-header .nav-link {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
}


header.site-header.is-scrolled .nav-rail,
header.site-header.is-scrolled .nav-rail-list,
header.site-header.is-scrolled .nav-rail-item,
header.site-header.is-scrolled .nav-rail-link {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
}


button.consent-btn.consent-btn--accept,
button.consent-btn.consent-btn--decline,
.consent-btn,
.consent-dock button,
.consent-banner button {
    background-color:#201412 !important;
    color:#ffffff !important;
    border:1px solid #ffd4a3 !important;
}


.footer-legal-links-list button,
.site-footer__btn-pref,
.footer-legal-links button {
    background:#201412 !important;
    color:#ffd4a3 !important;
    padding:0.2rem 0.5rem !important;
    border:1px solid #ffd4a3 !important;
}


span.text-meta.text-amber,
span.text-mono.text-amber,
strong.text-amber,
span.spec-cell-val.text-amber,
.text-amber { color:#ffe6cc !important; }


span.nav-glyph { color:#ffffff !important; }


a.btn.btn--amber,
.btn.btn--amber {
    background-color:#201412 !important;
    color:#ffe6cc !important;
    border-color:#ffe6cc !important;
}


span.rotating-keyword-slot,
.rotating-keyword-slot { color:#ffffff !important; }
