
.brand {
    display:inline-flex;
    align-items:center;
    padding:var(--space-xs) 0;
    line-height:1;
    text-decoration:none;
    transition:opacity var(--duration-fast) var(--ease-out);
}

.brand:hover {
    opacity:0.88;
}

.brand:active {
    opacity:0.75;
}

.brand img {
    height:2.1rem;
    width:auto;
    max-width:100%;
    display:block;
}

.footer-brand img {
    height:2.4rem;
    width:auto;
    max-width:100%;
}

.site-sidebar-inner {
    display:flex;
    flex-direction:column;
    height:100%;
    padding:var(--space-lg);
    justify-content:space-between;
    gap:var(--space-lg);
}

.sidebar-top {
    display:flex;
    flex-direction:column;
    gap:var(--space-xl);
}

.sidebar-header-row {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:var(--space-sm);
}

.sidebar-close-btn {
    display:none;
    padding:var(--space-xs);
    min-height:44px;
    min-width:44px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--border-oxide);
    background-color:transparent;
    color:var(--bone-white);
    transition:background-color var(--duration-fast) var(--ease-out),
                            border-color var(--duration-fast) var(--ease-out);
}

.sidebar-close-btn:hover {
    background-color:var(--soot-black);
    border-color:var(--bone-white);
}

.sidebar-close-btn:active {
    background-color:var(--soot-dark);
}

@media (max-width: 1023px) {
    .sidebar-close-btn {

        display:inline-flex;
    }
}

.nav-label {
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--accent-sage);
    margin-bottom:var(--space-xs);
    padding-bottom:var(--space-2xs);
    border-bottom:1px solid var(--border-oxide);
}

.site-nav-list {
    display:flex;
    flex-direction:column;
    gap:2px;
}

.site-nav-item {
    width:100%;
}

.site-nav-link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:var(--space-sm) var(--space-xs);
    font-family:var(--guku-3df);
    font-size:var(--fs-md);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:-0.01em;
    color:var(--bone-white);
    border-left:2px solid transparent;
    transition:padding-left var(--duration-fast) var(--ease-out),
                            background-color var(--duration-fast) var(--ease-out),
                            border-color var(--duration-fast) var(--ease-out),
                            color var(--duration-fast) var(--ease-out);
    min-height:44px;

}

.site-nav-link .icon {
    opacity:0;
    transform:translateX(-4px);
    transition:opacity var(--duration-fast) var(--ease-out),
                            transform var(--duration-fast) var(--ease-out);
}

.site-nav-link:hover {
    background-color:rgba(43, 24, 19, 0.5);
    border-left-color:var(--accent-sage);
    padding-left:var(--space-sm);
    color:var(--bone-white);
}

.site-nav-link:hover .icon {
    opacity:1;
    transform:translateX(0);
}

.site-nav-link:active {
    background-color:var(--soot-black);
}

.site-nav-link.is-current {
    border-left-color:var(--bone-white);
    background-color:rgba(43, 24, 19, 0.7);
    color:var(--bone-white);
}

.site-nav-link.is-current .icon {
    opacity:0.7;
    transform:translateX(0);
}

.sidebar-contact {
    padding-top:var(--space-md);
    border-top:1px solid var(--border-oxide);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
}

.sidebar-phone {
    display:flex;
    align-items:center;
    gap:var(--space-xs);
    font-family:var(--guku-3df);
    font-weight:800;
    font-size:var(--fs-lg);
    color:var(--bone-white);
    letter-spacing:-0.02em;
    padding:var(--space-xs) 0;
    min-height:44px;
    transition:color var(--duration-fast) var(--ease-out);
}

.sidebar-phone:hover {
    color:var(--accent-sage);
}

.sidebar-phone:active {
    color:var(--bone-muted);
}

.sidebar-address {
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    color:var(--bone-muted);
    line-height:var(--lh-snug);
    text-transform:uppercase;
}

.sidebar-badge {
    display:inline-flex;
    align-items:center;
    gap:var(--space-2xs);
    padding:var(--space-2xs) var(--space-xs);
    background-color:var(--soot-black);
    border:1px solid var(--border-oxide-strong);
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    color:var(--accent-sage);
    letter-spacing:0.04em;
    text-transform:uppercase;
    margin-top:var(--space-2xs);
}

.mobile-nav-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--space-xs);
    padding:var(--space-xs) var(--space-sm);
    min-height:44px;
    min-width:44px;
    border:1px solid var(--border-oxide);
    background-color:var(--soot-black);
    color:var(--bone-white);
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    text-transform:uppercase;
    letter-spacing:0.05em;
    transition:background-color var(--duration-fast) var(--ease-out),
                            border-color var(--duration-fast) var(--ease-out);
}

.mobile-nav-toggle:hover {
    background-color:var(--soot-dark);
    border-color:var(--bone-white);
}

.mobile-nav-toggle:active {
    background-color:black;
}

.asym-lockup {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:var(--space-lg);
}

.asym-title {
    font-family:var(--guku-3df);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:-0.04em;
    line-height:0.95;
    color:var(--bone-white);
    display:block;
}

.asym-title-lead {
    font-size:var(--fs-2xl);
    display:block;
}

.asym-title-sub {
    font-size:var(--fs-display);
    display:block;
    margin-left:clamp(0.5ch, 2vw, 2ch);
    color:var(--bone-white);
    position:relative;
    word-break:normal;
    overflow-wrap:break-word;
}

@media (max-width: 480px) {
    .asym-title-sub {
        font-size:clamp(1.4rem, 1.2rem + 1.8vw, 2.2rem);
    }
}

@media (max-width: 480px) {
    .asym-title-sub {
        margin-left:0;
    }
}

.asym-rule {
    width:min(280px, 60%);
    height:3px;
    background-color:var(--bone-white);
    margin-left:2ch;
    margin-top:var(--space-xs);
    margin-bottom:var(--space-xs);
    display:block;
}

.asym-lockup.accent .asym-rule {
    background-color:var(--accent-sage);
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--space-xs);
    padding:var(--space-sm) var(--space-lg);
    min-height:48px;
    font-family:var(--guku-74b);
    font-size:var(--fs-sm);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.05em;
    text-decoration:none;
    cursor:pointer;
    border-radius:0;
    border:1px solid transparent;

    transition:background-color var(--duration-fast) var(--ease-out),
                            border-color var(--duration-fast) var(--ease-out),
                            color var(--duration-fast) var(--ease-out),
                            transform var(--duration-fast) var(--ease-out);
    white-space:normal;
    text-align:center;
}

.btn-primary {
    background-color:var(--soot-black);
    color:var(--bone-white);
    border-color:var(--border-oxide-strong);
}

.btn-primary:hover {
    background-color:var(--soot-dark);
    border-color:var(--bone-white);
    color:var(--bone-white);
    transform:translateY(-1px);
}

.btn-primary:active {
    background-color:black;
    transform:translateY(1px);
}

.btn-accent {
    background-color:var(--accent-sage);
    color:var(--soot-dark);
    border-color:var(--accent-sage);
    font-weight:700;
}

.btn-accent:hover {
    background-color:var(--bone-white);
    border-color:var(--bone-white);
    color:var(--soot-black);
    transform:translateY(-1px);
}

.btn-accent:active {
    background-color:var(--bone-muted);
    transform:translateY(1px);
}

.btn-outline {
    background-color:transparent;
    color:var(--bone-white);
    border-color:var(--border-oxide-strong);
}

.btn-outline:hover {
    background-color:var(--soot-black);
    border-color:var(--bone-white);
    transform:translateY(-1px);
}

.btn-outline:active {
    background-color:var(--soot-dark);
    transform:translateY(1px);
}

.btn-sm {
    min-height:38px;
    padding:var(--space-xs) var(--space-md);
    font-size:var(--fs-xs);
}

.btn-block {
    width:100%;
}

.link-inline {
    color:var(--bone-white);
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-thickness:1px;
    transition:color var(--duration-fast) var(--ease-out),
                            text-decoration-color var(--duration-fast) var(--ease-out);
}

.link-inline:hover {
    color:var(--accent-sage);
    text-decoration-color:var(--accent-sage);
}

.link-inline:active {
    color:var(--bone-muted);
}

.spec-card {
    background-color:var(--surface-deep);
    border:1px solid var(--border-oxide);
    padding:var(--space-lg);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    transition:border-color var(--duration-fast) var(--ease-out),
                            background-color var(--duration-fast) var(--ease-out);
}

.spec-card:hover {
    border-color:var(--border-oxide-strong);
    background-color:rgba(122, 51, 36, 0.85);
}

.spec-card-soot {
    background-color:var(--soot-black);
    border-color:var(--border-soot);
}

.spec-card-soot:hover {
    border-color:var(--border-oxide-strong);
    background-color:var(--soot-dark);
}

.spec-card-title {
    font-family:var(--guku-3df);
    font-size:var(--fs-lg);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-0.02em;
    margin-bottom:var(--space-xs);
    color:var(--bone-white);
}

.spec-card-price {
    font-family:var(--guku-74b);
    font-size:var(--fs-xl);
    font-weight:700;
    color:var(--accent-sage);
    margin-bottom:var(--space-sm);
    display:block;
}

.spec-card-desc {
    font-size:var(--fs-sm);
    color:var(--bone-muted);
    line-height:var(--lh-snug);
    margin-bottom:var(--space-md);
    flex-grow:1;
}

.spec-meta-list {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
    padding-top:var(--space-sm);
    border-top:1px solid var(--border-oxide);
    font-size:var(--fs-xs);
    color:var(--bone-muted);
}

.spec-meta-item {
    display:flex;
    justify-content:space-between;
    gap:var(--space-xs);
}

.spec-meta-key {
    text-transform:uppercase;
    color:var(--bone-white);
    font-weight:600;
}

.spec-meta-val {
    text-align:right;
    color:var(--accent-sage);
}

.data-table-wrapper {
    width:100%;
    overflow-x:auto;
    border:1px solid var(--border-oxide);
    background-color:var(--surface-deep);
    margin-bottom:var(--space-lg);
}

.data-table {
    width:100%;
    font-family:var(--guku-74b);
    font-size:var(--fs-sm);
    text-align:left;
    border-collapse:collapse;
}

.data-table th,
.data-table td {
    padding:var(--space-sm) var(--space-md);
    border-bottom:1px solid var(--border-oxide);
    border-right:1px solid var(--border-oxide);
    vertical-align:top;
}

.data-table th:last-child,
.data-table td:last-child {
    border-right:none;
}

.data-table tr:last-child td {
    border-bottom:none;
}

.data-table th {
    background-color:var(--soot-black);
    color:var(--bone-white);
    font-family:var(--guku-74b);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.05em;
    font-size:var(--fs-xs);
}

.data-table tr:hover td {
    background-color:rgba(245, 239, 235, 0.04);
}

.data-table-key {
    font-weight:600;
    color:var(--bone-white);
    white-space:nowrap;
}

.data-table-val {
    color:var(--bone-muted);
    min-width:140px;
}

.biliaf5 {
    width:100%;
    overflow-x:auto;
}

.data-table {
    min-width:520px;
}

.form-stack {
    display:flex;
    flex-direction:column;
    gap:var(--space-md);
    background-color:var(--surface-deep);
    border:1px solid var(--border-oxide);
    padding:var(--space-xl);
}

@media (max-width: 767px) {
    .form-stack {
        padding:var(--space-md);
    }
}

.form-group {
    display:flex;
    flex-direction:column;
    gap:var(--space-2xs);
    position:relative;
}

.form-label {
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--bone-white);
    font-weight:600;
    display:flex;
    justify-content:space-between;
}

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

.form-input,
.form-select,
.form-textarea {
    width:100%;
    background-color:var(--soot-black);
    color:var(--bone-white);
    border:1px solid var(--border-oxide-strong);
    border-radius:0;
    padding:var(--space-sm) var(--space-md);
    font-family:var(--guku-74b);
    font-size:var(--fs-base);
    min-height:48px;
    line-height:var(--lh-snug);
    transition:border-color var(--duration-fast) var(--ease-out),
                            background-color var(--duration-fast) var(--ease-out);
}

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

.form-input:hover,
.form-select:hover,
.form-textarea:hover {
    border-color:var(--bone-white);
}

.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible {
    border-color:var(--accent-sage);
    outline:2px solid var(--accent-sage);
    outline-offset:1px;
}

.form-input.is-invalid,
.form-select.is-invalid,
.form-textarea.is-invalid {
    border-color:#ff6b6b;
    background-color:rgba(43, 24, 19, 0.95);
}

.form-error {
    display:none;
    font-size:var(--fs-xs);
    color:#ff9b9b;
    margin-top:var(--space-2xs);
}

.form-group.has-error .form-error {
    display:block;
}

.form-checkbox-label {
    display:grid;
    grid-template-columns:24px 1fr;
    align-items:flex-start;
    gap:var(--space-sm);
    cursor:pointer;
    font-size:var(--fs-sm);
    color:var(--bone-muted);
    line-height:var(--lh-snug);
}

.form-checkbox {
    appearance:none;
    width:20px;
    height:20px;
    margin-top:2px;
    background-color:var(--soot-black);
    border:1px solid var(--border-oxide-strong);
    border-radius:0;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:background-color var(--duration-fast) var(--ease-out),
                            border-color var(--duration-fast) var(--ease-out);
}

.form-checkbox:checked {
    background-color:var(--accent-sage);
    border-color:var(--accent-sage);
}

.form-checkbox:checked::after {
    content:"";
    display:block;
    width:5px;
    height:10px;
    border:solid var(--soot-dark);
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
    margin-bottom:2px;
}

.form-checkbox:hover {
    border-color:var(--bone-white);
}

.form-checkbox:focus-visible {
    outline:2px solid var(--accent-sage);
    outline-offset:2px;
}

.form-status {
    padding:var(--space-md);
    border:1px solid var(--border-oxide);
    display:none;
    font-family:var(--guku-74b);
    font-size:var(--fs-sm);
}

.form-status.is-success {
    display:block;
    background-color:var(--soot-black);
    border-color:var(--accent-sage);
    color:var(--bone-white);
}

.form-status.is-error {
    display:block;
    background-color:var(--soot-black);
    border-color:#ff6b6b;
    color:#ffb4b4;
}

.site-footer {
    background-color:var(--soot-dark);
    border-top:1px solid var(--border-oxide);
    padding:var(--space-2xl) var(--space-xl);
    font-family:var(--guku-74b);
    position:relative;
    z-index:10;
}

@media (max-width: 767px) {
    .site-footer {
        padding:var(--space-xl) var(--space-md);
    }
}

.footer-top {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:var(--space-xl);
    padding-bottom:var(--space-xl);
    border-bottom:1px solid var(--border-oxide);
}

@media (max-width: 1200px) {
    .footer-top {
        grid-template-columns:1fr;
        gap:var(--space-lg);
    }
}

.footer-desc {
    font-size:var(--fs-sm);
    color:var(--bone-muted);
    max-width:52ch;
    margin-top:var(--space-sm);
}

.footer-col-title {
    font-family:var(--guku-3df);
    font-size:var(--fs-sm);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--bone-white);
    margin-bottom:var(--space-md);
}

.footer-links-list {
    display:flex;
    flex-direction:column;
    gap:var(--space-xs);
}

.footer-link {
    font-size:var(--fs-sm);
    color:var(--bone-muted);
    padding:var(--space-2xs) 0;
    display:inline-block;
    transition:color var(--duration-fast) var(--ease-out),
                            padding-left var(--duration-fast) var(--ease-out);
    min-height:36px;
    line-height:var(--lh-snug);
}

.footer-link:hover {
    color:var(--accent-sage);
    padding-left:var(--space-2xs);
}

.footer-link:active {
    color:var(--bone-white);
}

.footer-legal-bar {
    padding-top:var(--space-lg);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-md);
    font-size:var(--fs-xs);
    color:var(--bone-muted);
}

.footer-legal-links {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-md);
}

.footer-reopen-consent {
    border:1px solid var(--border-oxide);
    background-color:var(--soot-black);
    color:var(--bone-white);
    padding:var(--space-2xs) var(--space-sm);
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    text-transform:uppercase;
    cursor:pointer;
    min-height:36px;
    transition:background-color var(--duration-fast) var(--ease-out),
                            border-color var(--duration-fast) var(--ease-out);
}

.footer-reopen-consent:hover {
    background-color:var(--surface-deep);
    border-color:var(--bone-white);
}

.footer-reopen-consent:active {
    background-color:black;
}

.cookie-banner {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background-color:var(--soot-dark);
    border-top:2px solid var(--accent-sage);
    padding:var(--space-xs) var(--space-sm);
    z-index:900;
    box-shadow:0 -8px 24px rgba(0, 0, 0, 0.4);
    transform:translateY(105%);
    transition:transform var(--duration-normal) var(--ease-out);
    max-height:28vh;
    overflow-y:auto;
}

.cookie-banner.is-visible {
    transform:translateY(0);
}

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

.cookie-banner-text {
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    color:var(--bone-white);
    line-height:var(--lh-snug);
    margin-bottom:0;
    flex:1 1 300px;
}

.cookie-banner-text a {
    color:var(--accent-sage);
    text-decoration:underline;
    text-underline-offset:2px;
}

.cookie-banner-text a:hover {
    color:var(--bone-white);
}

.cookie-banner-actions {
    display:flex;
    align-items:center;
    gap:var(--space-xs);
    flex-shrink:0;
}

.chat-widget {
    position:fixed;
    bottom:var(--space-lg);
    right:var(--space-lg);
    z-index:850;
    transition:bottom var(--duration-normal) var(--ease-out);
}

/* Moves above cookie banner when banner is visible */
body.has-cookie-banner .chat-widget {
    bottom:calc(var(--space-lg) + 64px);
}

@media (max-width: 767px) {
    .chat-widget {
        bottom:var(--space-md);
        right:var(--space-md);
    }
    body.has-cookie-banner .chat-widget {
        bottom:calc(var(--space-md) + 72px);
    }
}

.chat-launcher {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:var(--space-xs);
    padding:0 var(--space-md);
    height:52px;
    background-color:var(--soot-black);
    color:var(--bone-white);
    border:1px solid var(--border-oxide-strong);
    box-shadow:0 4px 16px rgba(0, 0, 0, 0.4);
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.05em;
    cursor:pointer;
    transition:background-color var(--duration-fast) var(--ease-out),
                            border-color var(--duration-fast) var(--ease-out),
                            transform var(--duration-fast) var(--ease-out),
                            box-shadow var(--duration-fast) var(--ease-out);
}

.chat-launcher:hover {
    background-color:var(--surface-deep);
    border-color:var(--accent-sage);
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(0, 0, 0, 0.5);
}

.chat-launcher:active {
    background-color:black;
    transform:translateY(0);
}

.chat-launcher .icon {
    width:1.25em;
    height:1.25em;
    color:var(--accent-sage);
}

.chat-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:18px;
    height:18px;
    padding:0 4px;
    background-color:var(--accent-sage);
    color:var(--soot-dark);
    font-size:0.7rem;
    font-weight:700;
    border-radius:0;
}

.chat-badge:empty {
    display:none;
}

.chat-panel {
    display:none;
    position:fixed;
    bottom:calc(var(--space-lg) + 60px);
    right:var(--space-lg);
    width:min(380px, calc(100vw - 2 * var(--space-md)));
    height:min(520px, calc(100vh - 120px));
    background-color:var(--soot-dark);
    border:1px solid var(--border-oxide-strong);
    box-shadow:0 12px 36px rgba(0, 0, 0, 0.6);
    flex-direction:column;
    z-index:860;
    overflow:hidden;
}

@media (max-width: 767px) {
    .chat-panel {
        bottom:calc(var(--space-md) + 60px);
        right:var(--space-md);
        left:var(--space-md);
        width:auto;
    }
}

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

.chat-header {
    padding:var(--space-sm) var(--space-md);
    background-color:var(--soot-black);
    border-bottom:1px solid var(--border-oxide);
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.chat-header-title {
    font-family:var(--guku-3df);
    font-size:var(--fs-sm);
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.02em;
    color:var(--bone-white);
    display:flex;
    align-items:center;
    gap:var(--space-xs);
}

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

.chat-close-btn {
    padding:var(--space-2xs);
    min-height:36px;
    min-width:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--bone-muted);
    border:1px solid transparent;
    transition:color var(--duration-fast) var(--ease-out),
                            background-color var(--duration-fast) var(--ease-out);
}

.chat-close-btn:hover {
    color:var(--bone-white);
    background-color:var(--surface-deep);
}

.chat-close-btn:active {
    background-color:black;
}

.chat-messages {
    flex:1 1 0;
    overflow-y:auto;
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    background-color:var(--soot-dark);
}

.chat-msg {
    max-width:85%;
    padding:var(--space-xs) var(--space-sm);
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    line-height:var(--lh-snug);
    border:1px solid var(--border-oxide);
}

.chat-msg-operator {
    align-self:flex-start;
    background-color:var(--surface-deep);
    color:var(--bone-white);
}

.chat-msg-user {
    align-self:flex-end;
    background-color:var(--soot-black);
    border-color:var(--accent-sage);
    color:var(--bone-white);
}

.chat-msg-time {
    display:block;
    font-size:0.68rem;
    color:var(--bone-muted);
    margin-top:2px;
    text-align:right;
}

.chat-footer {
    padding:var(--space-sm);
    background-color:var(--soot-black);
    border-top:1px solid var(--border-oxide);
}

.chat-form {
    display:flex;
    gap:var(--space-2xs);
}

.chat-input {
    flex:1;
    background-color:var(--soot-dark);
    color:var(--bone-white);
    border:1px solid var(--border-oxide);
    padding:var(--space-xs) var(--space-sm);
    font-family:var(--guku-74b);
    font-size:var(--fs-xs);
    min-height:40px;
}

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

.chat-send-btn {
    padding:0 var(--space-sm);
    background-color:var(--accent-sage);
    color:var(--soot-dark);
    font-family:var(--guku-74b);
    font-weight:700;
    font-size:var(--fs-xs);
    text-transform:uppercase;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:background-color var(--duration-fast) var(--ease-out);
}

.chat-send-btn:hover {
    background-color:var(--bone-white);
}

.chat-send-btn:active {
    background-color:var(--bone-muted);
}

/* Chat Pre-flight Auth Step */
.chat-preflight {
    padding:var(--space-md);
    display:flex;
    flex-direction:column;
    gap:var(--space-sm);
    background-color:var(--soot-dark);
    height:100%;
}

.chat-preflight p {
    font-size:var(--fs-xs);
    color:var(--bone-muted);
    margin-bottom:0;
}
