.site-header {
   position:sticky;
   top:0;
   left:0;
   width:100%;
   z-index:1000;
   background-color:rgba(16, 19, 17, 0.88);
   border-bottom:1px solid var(--line-hairline);
   backdrop-filter:blur(12px);
   -webkit-backdrop-filter:blur(12px);
   transition:background-color var(--dur-base) var(--ease-snap),
                     border-color var(--dur-base) var(--ease-snap),
                     padding var(--dur-base) var(--ease-snap);
}

.site-header.is-condensed {
   background-color:rgba(16, 19, 17, 0.96);
   border-bottom-color:var(--line-strong);
}

.header-bar {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--sp-md);
   height:4.5rem;
   transition:height var(--dur-base) var(--ease-snap);
}

.site-header.is-condensed .header-bar {
   height:3.75rem;
}

.brand {
   display:inline-flex;
   align-items:center;
   flex-shrink:0;
   min-height:44px;
   padding:var(--sp-2xs) 0;
}

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

@media (max-width: 480px) {
   .brand img {
      height:1.6rem;
      max-width:150px;
   }
}

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

.header-nav-link {
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   color:var(--concrete-light);
   padding:var(--sp-xs) var(--sp-sm);
   min-height:44px;
   display:inline-flex;
   align-items:center;
   border-radius:var(--radius-xs);
   transition:color var(--dur-fast) var(--ease-snap), background-color var(--dur-fast) var(--ease-snap);
}

.header-nav-link:hover {
   color:var(--concrete-pure);
   background-color:var(--ground-card);
}

.header-nav-link:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.nav-toggle {
   display:inline-flex !important;
   align-items:center;
   gap:var(--sp-sm);

   padding:var(--sp-xs) var(--sp-md);
   min-height:44px;
   background-color:var(--ground-elevated);
   border:1px solid var(--line-hairline);
   border-radius:var(--radius-xs);
   color:var(--concrete-pure);
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   visibility:visible !important;
   opacity:1 !important;
   transition:background-color var(--dur-fast) var(--ease-snap),
                     border-color var(--dur-fast) var(--ease-snap),
                     color var(--dur-fast) var(--ease-snap),
                     transform var(--dur-fast) var(--ease-snap);
}

.nav-toggle:hover {
   background-color:var(--ground-card);
   border-color:var(--brass);
   color:var(--concrete-pure);
}

.nav-toggle:active {
   background-color:var(--jewel);
   border-color:var(--jewel-accent);
   transform:scale(0.98);
}

.nav-toggle:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.nav-toggle .toggle-icon-wrap {
   width:1.15rem;
   height:1.15rem;
   display:flex;
   align-items:center;
   justify-content:center;
}

.nav-toggle .toggle-icon-wrap .icon {
   width:100%;
   height:100%;
}

.nav-toggle .icon-close {
   display:none;
}

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

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

.nav-overlay {
   position:fixed;
   inset:0;
   z-index:999;
   background-color:rgba(16, 19, 17, 0.98);
   backdrop-filter:blur(24px);
   -webkit-backdrop-filter:blur(24px);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   padding:clamp(5.5rem, 4rem + 4vw, 7.5rem) clamp(1rem, 0.6rem + 2vw, 2.5rem) clamp(1.5rem, 1rem + 2vw, 3rem);
   opacity:0;
   visibility:hidden;
   pointer-events:none;
   transition:opacity var(--dur-slow) var(--ease-industrial),
                     visibility var(--dur-slow) var(--ease-industrial);
   overflow-y:auto;
}

.nav-overlay.is-open {
   opacity:1;
   visibility:visible;
   pointer-events:auto;
}

.nav-overlay__inner {
   max-width:var(--site-width);
   margin:0 auto;
   width:100%;
   display:grid;
   grid-template-columns:1fr;
   gap:var(--sp-2xl);
}

@media (min-width: 900px) {
   .nav-overlay__inner {
      grid-template-columns:minmax(0, 1.4fr) minmax(320px, 0.8fr);
      align-items:start;
      gap:clamp(2rem, 1.5rem + 3vw, 6rem);
   }
}

.overlay-menu-list {
   display:flex;
   flex-direction:column;
   gap:clamp(0.5rem, 0.2rem + 1vw, 1.5rem);
}

.overlay-nav-link {
   display:block;
   font-family:var(--naka-846);
   font-size:clamp(2rem, 1.5rem + 2.5vw, 4rem);
   font-weight:800;
   line-height:1.1;
   color:var(--concrete-light);
   letter-spacing:var(--tracking-tight);
   padding:var(--sp-2xs) 0;
   min-height:44px;
   position:relative;

   transition:color var(--dur-fast) var(--ease-snap),
                     transform var(--dur-fast) var(--ease-snap);
}

.overlay-nav-link:hover {
   color:var(--concrete-pure);
   transform:translateX(12px);
}

.overlay-nav-link:active {
   color:var(--jewel-accent);
   transform:translateX(8px);
}

.overlay-nav-link:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:4px;
}

.overlay-nav-link[aria-current='page'] {
   color:var(--brass);
}

.overlay-aside {
   display:flex;
   flex-direction:column;
   gap:var(--sp-lg);
   border-top:1px solid var(--line-hairline);
   padding-top:var(--sp-xl);
}

@media (min-width: 900px) {
   .overlay-aside {
      border-top:none;
      border-left:1px solid var(--line-hairline);
      padding-top:0;
      padding-left:var(--sp-2xl);
   }
}

.overlay-aside__panel {
   background-color:var(--ground-card);
   border:1px solid var(--line-hairline);
   border-left:3px solid var(--brass);
   padding:var(--sp-md);
   border-radius:var(--radius-xs);
}

.overlay-aside__title {
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   color:var(--brass);
   margin-bottom:var(--sp-2xs);
}

.overlay-aside__text {
   font-size:var(--fs-sm);
   line-height:var(--lh-meta);
   color:var(--concrete);
}

.overlay-contact-block {
   display:flex;
   flex-direction:column;
   gap:var(--sp-xs);
   font-family:var(--naka-e3f);
   font-size:var(--fs-sm);
}

.overlay-contact-block a {
   color:var(--concrete-light);
   min-height:44px;
   display:inline-flex;
   align-items:center;
   transition:color var(--dur-fast) var(--ease-snap);
}

.overlay-contact-block a:hover {

   color:var(--brass);
}

.overlay-contact-block a:active {
   color:var(--jewel-accent);
}

.btn {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   gap:var(--sp-sm);
   padding:clamp(0.75rem, 0.65rem + 0.3vw, 0.95rem) clamp(1.25rem, 1rem + 0.8vw, 2rem);
   min-height:44px;
   font-family:var(--naka-e3f);
   font-size:var(--fs-sm);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   border-radius:var(--radius-xs);
   border:1px solid transparent;
   cursor:pointer;
   white-space:nowrap;
   transition:background-color var(--dur-fast) var(--ease-snap),
                     border-color var(--dur-fast) var(--ease-snap),
                     color var(--dur-fast) var(--ease-snap),
                     box-shadow var(--dur-fast) var(--ease-snap),
                     transform var(--dur-fast) var(--ease-snap);
}

.btn:active {
   transform:translateY(1px);
}

.btn--primary {
   background-color:var(--jewel);
   color:var(--concrete-pure);
   border-color:var(--jewel-accent);
}

.btn--primary:hover {
   background-color:var(--jewel-accent);
   color:#051308;
   box-shadow:0 4px 16px var(--jewel-glow);
}

.btn--primary:active {
   background-color:#15803D;
   color:var(--concrete-pure);
}

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

.btn--secondary {
   background-color:var(--ground-elevated);
   color:var(--concrete-pure);
   border-color:var(--line-hairline);
}

.btn--secondary:hover {
   background-color:var(--ground-card);
   border-color:var(--brass);
   color:var(--concrete-pure);
}

.btn--secondary:active {
   background-color:var(--ground);
   border-color:var(--brass-dim);
}

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

.btn--brass {
   background-color:var(--brass);
   color:#0B0E0C;
   border-color:var(--brass);
}

.btn--brass:hover {
   background-color:#D8B265;
   color:#000;
   box-shadow:0 4px 16px rgba(197, 155, 72, 0.25);
}

.btn--brass:active {
   background-color:#A37C2E;
}

.btn--brass:focus-visible {
   outline:2px solid var(--concrete-pure);
   outline-offset:3px;
}

.btn-group {
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   gap:var(--sp-md);
}

.spec-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:1px;
   background-color:var(--line-hairline);
   border:1px solid var(--line-hairline);
   border-radius:var(--radius-xs);
   overflow:hidden;
}

@media (min-width: 640px) {
   .spec-grid--2col {
      grid-template-columns:repeat(2, minmax(0, 1fr));
   }
}

.spec-cell__val {
   font-family:var(--naka-e3f);
   font-size:clamp(1rem, 0.9rem + 0.5vw, 1.35rem);
   font-weight:600;
   color:var(--concrete-pure);
   letter-spacing:var(--tracking-snug);
   word-break:normal;
   overflow-wrap:break-word;
   hyphens:none;
}

@media (min-width: 960px) {
   .spec-grid--4col {
      grid-template-columns:repeat(4, 1fr);
   }
}

.spec-cell {
   background-color:var(--ground-elevated);
   padding:var(--sp-lg);
   display:flex;
   flex-direction:column;
   justify-content:space-between;
   gap:var(--sp-sm);
   transition:background-color var(--dur-fast) var(--ease-snap);
}

.spec-cell:hover {
   background-color:var(--ground-card);
}

.spec-cell__kicker {
   font-family:var(--naka-e3f);
   font-size:var(--fs-2xs);
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   color:var(--concrete);
}

/* .spec-cell__val consolidated above */

.spec-cell__note {
   font-size:var(--fs-xs);
   color:var(--concrete);
   line-height:var(--lh-meta);
}

.data-table-wrap {
   width:100%;
   overflow-x:auto;
   border:1px solid var(--line-hairline);
   border-radius:var(--radius-xs);
   background-color:var(--ground-elevated);
   -webkit-overflow-scrolling:touch;
}

.data-table {
   width:100%;
   text-align:left;
   font-size:var(--fs-sm);
}

.data-table th,
.data-table td {
   padding:var(--sp-md) var(--sp-lg);
   border-bottom:1px solid var(--line-hairline);
   vertical-align:top;
}

.data-table th {
   background-color:var(--ground);
   font-family:var(--naka-e3f);
   font-size:var(--fs-2xs);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   color:var(--concrete-light);
   white-space:nowrap;
}

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

.data-table tbody tr:hover td {
   background-color:var(--ground-card);
}

.data-table td.mono-cell {
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
}

.form-block {
   background-color:var(--ground-elevated);
   border:1px solid var(--line-hairline);
   border-radius:var(--radius-xs);
   padding:clamp(1.5rem, 1rem + 2vw, 3rem);
}

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

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

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

.form-field--full {
   grid-column:1 / -1;
}

.form-label {
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   color:var(--concrete-light);
}

.form-label span.req {
   color:var(--brass);
   margin-left:0.2em;
}

.form-label span.opt {
   color:#ADB5AE;
   font-weight:400;
   text-transform:none;
   font-size:0.85em;
   margin-left:0.3em;
}

.form-input,
.form-select,
.form-textarea {
   width:100%;
   background-color:var(--ground);
   border:1px solid var(--line-hairline);
   border-radius:var(--radius-xs);
   padding:var(--sp-sm) var(--sp-md);
   color:var(--concrete-pure);
   font-size:var(--fs-base);
   min-height:44px;
   transition:border-color var(--dur-fast) var(--ease-snap),
                     background-color var(--dur-fast) var(--ease-snap),
                     box-shadow var(--dur-fast) var(--ease-snap);
}

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

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

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
   border-color:var(--brass);
   background-color:var(--ground-card);
   outline:none;
   box-shadow:0 0 0 1px var(--brass);
}

.form-input[aria-invalid='true'],
.form-select[aria-invalid='true'],
.form-textarea[aria-invalid='true'] {
   border-color:var(--hazard);
}

.field-error {
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   color:#F87171;
   display:none;
   margin-top:var(--sp-2xs);
}

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

.form-field.has-error .form-input,
.form-field.has-error .form-select,
.form-field.has-error .form-textarea {
   border-color:#EF4444;
}

.form-check {
   display:flex;
   align-items:flex-start;
   gap:var(--sp-sm);
   cursor:pointer;
   min-height:44px;
   padding:var(--sp-xs) 0;
}

.form-check input[type='checkbox'] {
   appearance:none;
   -webkit-appearance:none;
   width:1.35rem;
   height:1.35rem;
   border:1px solid var(--line-strong);
   border-radius:var(--radius-xs);
   background-color:var(--ground);
   margin-top:0.15rem;
   flex-shrink:0;
   display:grid;
   place-content:center;
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-snap),
                     border-color var(--dur-fast) var(--ease-snap);
}

.form-check input[type='checkbox']:hover {
   border-color:var(--brass);
}

.form-check input[type='checkbox']:checked {
   background-color:var(--jewel);
   border-color:var(--jewel-accent);
}

.form-check input[type='checkbox']:checked::before {
   content:"";
   width:0.65rem;
   height:0.4rem;
   border-left:2px solid var(--concrete-pure);
   border-bottom:2px solid var(--concrete-pure);
   transform:rotate(-45deg) translate(1px, -1px);
}

.form-check input[type='checkbox']:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.form-check-label {
   font-size:var(--fs-sm);
   color:var(--concrete);
   line-height:var(--lh-meta);
}

.form-check-label a {
   color:var(--brass);
   text-decoration:underline;
   text-underline-offset:2px;
}

.form-status {
   padding:var(--sp-md);
   border-radius:var(--radius-xs);
   font-family:var(--naka-e3f);
   font-size:var(--fs-sm);
   margin-top:var(--sp-md);
   display:none;
}

.form-status--success {
   display:block;
   background-color:rgba(22, 101, 52, 0.25);
   border:1px solid var(--jewel-accent);
   color:var(--concrete-pure);
}

.form-status--error {
   display:block;
   background-color:rgba(220, 38, 38, 0.18);
   border:1px solid #EF4444;
   color:#FCA5A5;
}

.cookie-banner {
   position:fixed;
   bottom:0;
   left:0;
   right:0;
   z-index:900;
   background-color:rgba(16, 19, 17, 0.98);
   border-top:1px solid var(--line-strong);
   box-shadow:0 -8px 24px rgba(0, 0, 0, 0.5);
   padding:var(--sp-sm) clamp(1rem, 0.6rem + 2vw, 2.5rem);
   backdrop-filter:blur(16px);
   -webkit-backdrop-filter:blur(16px);
   transform:translateY(100%);
   transition:transform var(--dur-slow) var(--ease-industrial);
}

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

.cookie-banner__inner {
   max-width:var(--site-width);
   margin:0 auto;
   display:flex;
   flex-direction:column;
   gap:var(--sp-sm);
   align-items:flex-start;
}

@media (min-width: 768px) {
   .cookie-banner__inner {
      flex-direction:row;
      align-items:center;
      justify-content:space-between;
      gap:var(--sp-lg);
   }
}

.cookie-banner__text {
   font-size:var(--fs-xs);
   line-height:var(--lh-meta);
   color:var(--concrete-light);
   max-width:65ch;
   margin:0;
}

.cookie-banner__text a {
   color:var(--brass);
   text-decoration:underline;
   text-underline-offset:2px;
}

.cookie-banner__actions {
   display:flex;
   align-items:center;
   gap:var(--sp-xs);
   flex-shrink:0;
}

.btn-cookie {
   padding:0.5rem 1rem;
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   border-radius:var(--radius-xs);
   min-height:44px;
   cursor:pointer;
   border:1px solid transparent;
   transition:background-color var(--dur-fast) var(--ease-snap),
                     border-color var(--dur-fast) var(--ease-snap),
                     color var(--dur-fast) var(--ease-snap);
}

.btn-cookie--allow {
   background-color:var(--jewel);
   color:var(--concrete-pure);
   border-color:var(--jewel-accent);
}

.btn-cookie--allow:hover {
   background-color:var(--jewel-accent);
   color:#051308;
}

.btn-cookie--allow:active {
   background-color:#15803D;
   color:var(--concrete-pure);
}

.btn-cookie--allow:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.btn-cookie--deny {
   background-color:var(--ground-elevated);
   color:var(--concrete-light);
   border-color:var(--line-hairline);
}

.btn-cookie--deny:hover {
   background-color:var(--ground-card);
   border-color:var(--concrete);
   color:var(--concrete-pure);
}

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

.btn-cookie--deny:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.chat-launcher {
   position:fixed;
   bottom:clamp(1rem, 0.8rem + 1vw, 2rem);
   right:clamp(1rem, 0.8rem + 1vw, 2rem);
   z-index:800;
   display:inline-flex;
   align-items:center;
   gap:var(--sp-xs);
   padding:0.75rem 1.15rem;
   min-height:44px;
   background-color:var(--ground-elevated);
   border:1px solid var(--line-strong);
   border-radius:var(--radius-xs);
   color:var(--concrete-pure);
   box-shadow:var(--shadow-dock);
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   cursor:pointer;
   transition:transform var(--dur-fast) var(--ease-snap),
                     background-color var(--dur-fast) var(--ease-snap),
                     border-color var(--dur-fast) var(--ease-snap),
                     bottom var(--dur-base) var(--ease-snap);
}

.chat-launcher:hover {
   background-color:var(--ground-card);
   border-color:var(--brass);
   color:var(--concrete-pure);
   transform:translateY(-2px);
}

.chat-launcher:active {
   background-color:var(--jewel);
   border-color:var(--jewel-accent);
   transform:translateY(0);
}

.chat-launcher:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.chat-launcher .icon {
   width:1.15rem;
   height:1.15rem;
   color:var(--brass);
}

.chat-launcher__badge {
   display:inline-block;
   background-color:var(--jewel-accent);
   color:#051308;
   font-size:var(--fs-3xs);
   font-weight:700;
   padding:0.1rem 0.4rem;
   border-radius:999px;
   margin-left:0.2rem;
}

.chat-launcher.has-cookie-offset {
   bottom:calc(clamp(1rem, 0.8rem + 1vw, 2rem) + 4.5rem);
}

.chat-panel {
   position:fixed;
   bottom:clamp(1rem, 0.8rem + 1vw, 2rem);
   right:clamp(1rem, 0.8rem + 1vw, 2rem);
   z-index:950;
   width:clamp(300px, 92vw, 400px);
   max-height:min(620px, 86vh);
   background-color:var(--ground-elevated);
   border:1px solid var(--line-strong);
   border-radius:var(--radius-xs);
   box-shadow:var(--shadow-overlay);
   display:flex;
   flex-direction:column;
   overflow:hidden;
   opacity:0;
   visibility:hidden;
   transform:translateY(16px);
   transition:opacity var(--dur-base) var(--ease-snap),
                     transform var(--dur-base) var(--ease-snap),
                     visibility var(--dur-base) var(--ease-snap);
}

.chat-panel.is-open {
   opacity:1;
   visibility:visible;
   transform:translateY(0);
}

.chat-header {
   padding:var(--sp-md);
   background-color:var(--ground);
   border-bottom:1px solid var(--line-hairline);
   display:flex;
   align-items:center;
   justify-content:space-between;
}

.chat-header__title {
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   font-weight:600;
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   color:var(--brass);
   display:flex;
   align-items:center;
   gap:var(--sp-xs);
}

.chat-header__close {
   min-height:44px;
   min-width:44px;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   color:var(--concrete);
   border-radius:var(--radius-xs);
   transition:color var(--dur-fast) var(--ease-snap),
                     background-color var(--dur-fast) var(--ease-snap);
}

.chat-header__close:hover {
   color:var(--concrete-pure);
   background-color:var(--ground-card);
}

.chat-header__close:active {
   background-color:var(--ground-subtle);
}

.chat-header__close:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:-2px;
}

.chat-messages {
   flex:1 1 auto;
   overflow-y:auto;
   padding:var(--sp-md);
   display:flex;
   flex-direction:column;
   gap:var(--sp-sm);
   background-color:var(--ground-elevated);
}

.chat-msg {
   max-width:85%;
   padding:var(--sp-xs) var(--sp-sm);
   border-radius:var(--radius-xs);
   font-size:var(--fs-sm);
   line-height:var(--lh-meta);
}

.chat-msg--bot {
   align-self:flex-start;
   background-color:var(--ground-card);
   border-left:2px solid var(--brass);
   color:var(--concrete-light);
}

.chat-msg--user {
   align-self:flex-end;
   background-color:var(--jewel);
   color:var(--concrete-pure);
}

.chat-form {
   padding:var(--sp-sm) var(--sp-md);
   background-color:var(--ground);
   border-top:1px solid var(--line-hairline);
   display:flex;
   flex-direction:column;
   gap:var(--sp-xs);
}

.chat-input-row {
   display:flex;
   gap:var(--sp-2xs);
}

.chat-input {
   flex:1 1 auto;
   min-height:44px;
   background-color:var(--ground-elevated);
   border:1px solid var(--line-hairline);
   border-radius:var(--radius-xs);
   padding:var(--sp-xs) var(--sp-sm);
   font-size:var(--fs-sm);
   color:var(--concrete-pure);
}

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

.chat-send-btn {
   min-height:44px;
   padding:0 var(--sp-md);
   background-color:var(--brass);
   color:#0B0E0C;
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   font-weight:600;
   text-transform:uppercase;
   border-radius:var(--radius-xs);
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-snap);
}

.chat-send-btn:hover {
   background-color:#D8B265;
}

.chat-send-btn:active {
   background-color:#A37C2E;
}

.chat-send-btn:focus-visible {
   outline:2px solid var(--concrete-pure);
   outline-offset:2px;
}

.chat-preflight {
   padding:var(--sp-md);
   display:flex;
   flex-direction:column;
   gap:var(--sp-sm);
}

.site-footer {
   background-color:var(--ground-subtle);
   border-top:1px solid var(--line-hairline);
   margin-top:auto;
   position:relative;
   z-index:10;
}

.footer-top {
   padding-top:clamp(3rem, 2rem + 3vw, 5.5rem);
   padding-bottom:clamp(2.5rem, 1.8rem + 2vw, 4rem);
}

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

@media (min-width: 900px) {
   .footer-grid {
      grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
      gap:clamp(2rem, 1.5rem + 2vw, 4.5rem);
   }
}

.footer-brand-col .brand {
   margin-bottom:var(--sp-md);
}

.footer-brand-col .brand img {
   height:2.35rem;
}

.footer-tagline {
   font-size:var(--fs-sm);
   line-height:var(--lh-meta);
   color:var(--concrete);
   max-width:42ch;
   margin-bottom:var(--sp-md);
}

.footer-heading {
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   letter-spacing:var(--tracking-mono);
   text-transform:uppercase;
   color:var(--brass);
   margin-bottom:var(--sp-md);
}

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

.footer-link {
   font-family:var(--naka-e3f);
   font-size:var(--fs-sm);
   color:var(--concrete-light);
   min-height:44px;
   display:inline-flex;
   align-items:center;
   transition:color var(--dur-fast) var(--ease-snap),
                     transform var(--dur-fast) var(--ease-snap);
}

.footer-link:hover {
   color:var(--brass);
   transform:translateX(4px);
}

.footer-link:active {
   color:var(--jewel-accent);
}

.footer-link:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.footer-info-list {
   display:flex;
   flex-direction:column;
   gap:var(--sp-sm);
   font-family:var(--naka-e3f);
   font-size:var(--fs-xs);
   color:var(--concrete);
}

.footer-info-item {
   display:flex;
   flex-direction:column;
   gap:var(--sp-2xs);
}

.footer-info-item .label,
span.label {
   text-transform:uppercase;
   letter-spacing:var(--tracking-mono);
   color:#ADB5AE;
}

.footer-info-item .val {
   color:var(--concrete-light);
}

.footer-info-item a.val {
   min-height:44px;
   display:inline-flex;
   align-items:center;
   transition:color var(--dur-fast) var(--ease-snap);
}

.footer-info-item a.val:hover {
   color:var(--brass);
}

.footer-info-item a.val:active {
   color:var(--jewel-accent);
}

.footer-info-item a.val:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}

.footer-legal-bar {
   border-top:1px solid var(--line-hairline);
   padding:var(--sp-md) 0;
   font-family:var(--naka-e3f);
   font-size:var(--fs-2xs);
   color:#ADB5AE;
}

.footer-copy-text {
   color:#ADB5AE;
}

.footer-legal-inner {
   display:flex;
   flex-direction:column;
   gap:var(--sp-md);
   align-items:flex-start;
}

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

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

.footer-legal-link,
.footer-consent-trigger {
   color:var(--concrete);
   min-height:44px;
   display:inline-flex;
   align-items:center;
   cursor:pointer;
   background:none;
   border:none;
   padding:0;
   font-family:inherit;
   font-size:inherit;
   transition:color var(--dur-fast) var(--ease-snap);
}

.footer-legal-link:hover,
.footer-consent-trigger:hover {
   color:var(--brass);
}

.footer-legal-link:active,
.footer-consent-trigger:active {
   color:var(--jewel-accent);
}

.footer-legal-link:focus-visible,
.footer-consent-trigger:focus-visible {
   outline:2px solid var(--brass);
   outline-offset:2px;
}
