.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:var(--z-skip);
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 18px;
  background:var(--burnt);
  color:var(--on-burnt);
  font-family:var(--kife-745);
  font-size:var(--step--1);
  letter-spacing:.04em;
  text-decoration:none;
  border-radius:var(--radius);
  transform:translateY(-160%);
  transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.skip-link:focus-visible,
.skip-link:focus {
  transform:translateY(0);
  outline:2px solid var(--sand);
  outline-offset:2px;
}

.skip-link:hover {
  background:var(--burnt-hover);
}

.skip-link:active {
  background:var(--burnt-press);
}

.page {
  position:relative;
  min-width:0;
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
}

.main {
  flex:1 0 auto;
  min-width:0;
}

.main:focus {
  outline:none;
}

@media (min-width: 1024px) {
  .page {
    margin-left:var(--sidebar-w);
  }
}

.topbar {
  position:fixed;
  inset:0 0 auto 0;
  z-index:var(--z-topbar);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-s);
  height:var(--topbar-h);
  padding:4px var(--gutter);
  background:rgba(26, 24, 20, .94);
  border-bottom:1px solid var(--hairline);
  transition:box-shadow var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);
}

.topbar .brand img {
  height:1.75rem;
  width:auto;
}

html.is-scrolled .topbar,
.site-header.is-scrolled .topbar,
.topbar.is-scrolled {
  background:var(--ground-deep);
  box-shadow:var(--shadow-near);
}

@media (min-width: 1024px) {
  .topbar {
    display:none;
  }
}

@media (max-width: 1023.98px) {
  .page {
    padding-top:var(--topbar-h);
  }
}

.brand {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-decoration:none;
  border-radius:var(--radius);
  transition:opacity var(--dur-fast) var(--ease-out);
}

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

.brand:hover {
  opacity:.82;
}

.brand:active {
  opacity:.65;
}

.brand:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:4px;
}

.nav-toggle,
.nav-close {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:44px;
  min-width:44px;
  padding:8px 14px;
  border:1px solid var(--hairline-strong);
  border-radius:var(--radius);
  background:var(--panel);
  color:var(--sand);
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-press);
}

.nav-toggle .icon,
.nav-close .icon {
  width:20px;
  height:20px;
}

.nav-toggle:hover,
.nav-close:hover {
  background:var(--panel-hover);
  border-color:var(--ochre);
  color:var(--ochre);
}

.nav-toggle:active,
.nav-close:active {
  transform:translateY(1px);
  background:var(--ground-deep);
}

.nav-toggle:focus-visible,
.nav-close:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
  border-color:var(--burnt);
}

.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  z-index:var(--z-sidebar);
  width:var(--sidebar-w);
  display:flex;
  flex-direction:column;
  background:var(--panel);
  border-right:1px solid var(--hairline);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--hairline-strong) transparent;
}

.sidebar__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-s);
  padding:28px 26px 18px;
}

.sidebar__head .brand img {
  height:34px;
}

.sidebar__status {
  margin:0 26px;
  padding:10px 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}

.sidebar__nav {
  flex:1 0 auto;
  padding:18px 14px 24px;
}

.sidebar__foot {
  position:relative;
  padding:20px 26px 26px;
  border-top:1px solid var(--hairline);
  background:var(--ground);
}

.sidebar__foot::before {
  content:"";
  position:absolute;
  left:26px;
  top:-1px;
  width:36px;
  height:1px;
  background:var(--ochre);
}

.nav-close {
  display:none;
}

@media (max-width: 1023.98px) {
  .sidebar {
    width:min(86vw, 340px);
    border-right:2px solid var(--clay);
    box-shadow:var(--shadow);
    transform:translate3d(-104%, 0, 0);
    visibility:hidden;
    transition:transform var(--dur-slow) var(--ease-out), visibility 0s linear var(--dur-slow);
  }
  .sidebar.is-open,
  .sidebar[data-open="true"] {
    transform:translate3d(0, 0, 0);

    visibility:visible;
    transition:transform var(--dur-slow) var(--ease-out), visibility 0s linear 0s;
  }

  .nav-close {
    display:inline-flex;
  }
  html:not(.js) .sidebar {
    position:static;
    width:100%;
    transform:none;
    visibility:visible;
    border-right:0;
    border-bottom:2px solid var(--clay);
    box-shadow:none;
  }
  html:not(.js) .nav-toggle,
  html:not(.js) .nav-close {
    display:none;
  }
  html:not(.js) .topbar {
    position:static;
  }
  html:not(.js) .page {
    padding-top:0;
  }
}

html.nav-open,
html.nav-open body {
  overflow:hidden;
}

.nav-scrim {
  position:fixed;
  inset:0;
  z-index:var(--z-scrim);
  background:var(--scrim);
  opacity:0;
  transition:opacity var(--dur-slow) var(--ease-out);
}

html.nav-open .nav-scrim {
  opacity:1;

}

@media (min-width: 1024px) {
  .nav-scrim {
    display:none;
  }
}

.nav {
  display:flex;
  flex-direction:column;
  gap:2px;
  list-style:none;
  margin:0;
  padding:0;
}

.nav__link,
.nav__summary {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:46px;
  padding:10px 12px;
  border-radius:var(--radius);
  color:var(--sand);
  font-family:var(--kife-9dc);
  font-size:1.14rem;
  font-variation-settings:"opsz" 24;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.005em;
  text-decoration:none;
  transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.nav__num {
  flex:none;
  width:2.1em;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:.06em;
  color:var(--dust-dim);
  transition:color var(--dur-fast) var(--ease-out);
}

.nav__text {
  flex:1 1 auto;
  min-width:0;
  overflow-wrap:anywhere;
}

.nav__link::before,
.nav__summary::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:2px;
  height:0;
  background:var(--burnt);
  transform:translateY(-50%);
  transition:height var(--dur-base) var(--ease-out);
}

.nav__link:hover,
.nav__summary:hover {
  background:var(--panel-hover);
  color:var(--sand);
  box-shadow:inset 0 0 0 1px var(--hairline);
}

.nav__link:hover .nav__num,
.nav__summary:hover .nav__num {
  color:var(--ochre);
}

.nav__link:active,
.nav__summary:active {
  background:var(--ground);
}

.nav__link:focus-visible,
.nav__summary:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:-2px;
}

.nav__link[aria-current="page"],
.nav__link.is-active {
  color:var(--sand);
  background:var(--ground);
}

.nav__link[aria-current="page"]::before,
.nav__link.is-active::before {
  height:22px;
}

.nav__link[aria-current="page"] .nav__num {
  color:var(--burnt);
}

.nav__group {
  margin:0;
}

.nav__summary {
  list-style:none;
  cursor:pointer;
  user-select:none;
}

.nav__summary::-webkit-details-marker {
  display:none;
}

.nav__chev {
  width:18px;
  height:18px;
  color:var(--dust);
  transition:transform var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.nav__group[open] > .nav__summary .nav__chev {
  transform:rotate(180deg);
  color:var(--ochre);
}

.nav__sub {
  list-style:none;
  margin:4px 0 10px 12px;
  padding:4px 0 4px 14px;
  border-left:1px solid var(--hairline);
}

.nav__sublink {
  position:relative;
  display:flex;
  align-items:center;
  min-height:44px;
  padding:8px 10px;
  border-radius:var(--radius);
  color:var(--dust);
  font-size:.95rem;
  line-height:1.3;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.nav__sublink::before {
  content:"";
  position:absolute;
  left:-15px;
  top:50%;
  width:8px;
  height:1px;
  background:var(--hairline-strong);
  transition:background-color var(--dur-fast) var(--ease-out), width var(--dur-fast) var(--ease-out);
}

.nav__sublink:hover {
  color:var(--sand);
  background:var(--panel-hover);
}

.nav__sublink:hover::before {
  background:var(--ochre);
  width:12px;
}

.nav__sublink:active {
  background:var(--ground);
}

.nav__sublink:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:-2px;
  color:var(--sand);
}

.nav__sublink[aria-current="page"] {
  color:var(--sand);
}

.nav__sublink[aria-current="page"]::before {
  background:var(--burnt);
  width:12px;
}

.nav__sublink--all {
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--ochre);
}

.contact-line {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
}

.contact-line__item {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:6px 0;
  color:var(--sand-soft);
  font-size:.9rem;
  line-height:1.35;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color var(--dur-fast) var(--ease-out);
}

.contact-line__item .icon {
  width:16px;
  height:16px;
  color:var(--ochre);
}

a.contact-line__item:hover {
  color:var(--burnt);
}

a.contact-line__item:active {
  color:var(--burnt-press);
}

a.contact-line__item:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
  border-radius:var(--radius);
}

.contact-line__item--address {
  color:var(--dust);
  font-size:.82rem;
}

.status {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 10px;
  min-width:0;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--dust);
  line-height:1.45;
}

.status__dot {
  flex:none;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--olive-bright);
  animation:status-pulse var(--dur-pulse) var(--ease-in-out) infinite;
}

.status__label {
  min-width:0;
  overflow-wrap:anywhere;
}

.status__meta {
  margin-left:auto;
  color:var(--dust-dim);
}

.status--line {
  padding:10px 14px;
  border-top:1px solid var(--hairline);
  background:var(--ground-deep);
}

.frame {
  position:relative;
  isolation:isolate;
  --c:var(--frame-color);
  --l:var(--frame-len);
  --w:var(--frame-w);
}

.frame::before {
  content:"";
  position:absolute;
  inset:var(--frame-offset);
  z-index:var(--z-frame);
  pointer-events:none;
  background:
    linear-gradient(var(--c), var(--c)) top left / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) top left / var(--w) var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) top right / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) top right / var(--w) var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom left / var(--w) var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom right / var(--w) var(--l) no-repeat;
}

.frame--tight {
  --frame-offset:-5px;
  --l:10px;
}

.frame--inset::before {
  inset:10px;
}

.frame__body {
  position:relative;
  overflow:hidden;
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  background:var(--panel);
  box-shadow:var(--shadow);
}

.frame__media {
  position:relative;
  overflow:hidden;
}

.frame__media img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.frame__media::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(120% 95% at 45% 40%, transparent 55%, rgba(26, 24, 20, .55) 100%);
}

.frame__ticks {
  display:block;
  height:10px;
  margin-top:10px;
  background:
    repeating-linear-gradient(90deg, var(--ochre-line) 0 1px, transparent 1px 10px) bottom left / 100% 5px no-repeat,
    repeating-linear-gradient(90deg, var(--ochre) 0 1px, transparent 1px 50px) bottom left / 100% 10px no-repeat;
  opacity:.8;
}

.frame__ticks--vertical {
  position:absolute;
  top:0;
  bottom:0;
  left:-22px;
  width:10px;
  height:auto;
  margin:0;
  background:
    repeating-linear-gradient(180deg, var(--ochre-line) 0 1px, transparent 1px 10px) top right / 5px 100% no-repeat,
    repeating-linear-gradient(180deg, var(--ochre) 0 1px, transparent 1px 50px) top right / 10px 100% no-repeat;
}

@media (max-width: 640px) {
  .frame__ticks--vertical {
    display:none;
  }
}

.frame__label {
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  max-width:calc(100% - 24px);
  padding:5px 9px;
  background:rgba(20, 18, 16, .82);
  color:var(--sand);
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  overflow-wrap:anywhere;
}

.opener {
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 12px;
  max-width:100%;
  padding:7px 12px;
  position:relative;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--dust);
  --c:var(--ochre);
  --l:8px;
  --w:1px;
}

.opener::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(var(--c), var(--c)) top left / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) top left / var(--w) var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) bottom right / var(--w) var(--l) no-repeat;
}

.opener__num {
  color:var(--clay);
}

.btn--primary,
.btn--primary span,
.prose a.btn--primary,
.prose a.btn--primary:hover {
  color:var(--on-burnt);
}

.frame__label {
  color:var(--sand) !important;
  background:rgba(20, 18, 16, .9) !important;
}

.nanec5b .spec-table td:not(.mono) {
  min-width:14rem !important;
}

.opener__label {
  min-width:0;
  overflow-wrap:anywhere;
}

.edge-in {
  will-change:auto;
}

.stats {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap:1px;
  background:var(--hairline);
  border:1px solid var(--hairline);
  border-radius:var(--radius);
}

.stats > * {
  min-width:0;
}

.stat {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:22px 22px 20px;
  background:var(--panel);
}

.stat__value {
  font-family:var(--kife-9dc);
  font-size:var(--kife-5dd);
  font-variation-settings:"opsz" 144;
  font-weight:400;
  line-height:1;
  letter-spacing:var(--tracking-tight);
  color:var(--sand);
}

.stat__label {
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--dust);
  line-height:1.5;
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  max-width:100%;
  padding:14px 22px;
  border:1px solid transparent;
  border-radius:var(--radius);
  font-family:var(--kife-654);
  font-size:.98rem;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.005em;
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:anywhere;
  cursor:pointer;
  transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-press);
}

.btn .icon {
  width:18px;
  height:18px;
  transition:transform var(--dur-base) var(--ease-out);
}

.btn:hover .icon--move {
  transform:translateX(3px);
}

.btn--primary {
  background:var(--burnt);
  color:var(--on-burnt);
  box-shadow:0 1px 0 rgba(255, 255, 255, .18) inset, 0 12px 24px -16px rgba(224, 122, 60, .7);
}

.btn--primary:hover {
  background:var(--burnt-hover);
  transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(255, 255, 255, .22) inset, 0 16px 28px -14px rgba(224, 122, 60, .75);
}

.btn--primary:active {
  background:var(--burnt-press);
  transform:translateY(1px);
  box-shadow:0 1px 0 rgba(0, 0, 0, .2) inset;
}

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

.btn--ghost {
  background:transparent;
  color:var(--sand);
  border-color:var(--hairline-strong);
}

.btn--ghost:hover {
  background:var(--ochre-wash);
  border-color:var(--ochre);
  color:var(--sand);
  transform:translateY(-1px);
}

.btn--ghost:active {
  background:var(--ground-deep);
  transform:translateY(1px);
}

.btn--ghost:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:3px;
  border-color:var(--burnt);
}

.btn--quiet {
  background:var(--panel-raised);
  color:var(--sand);
  border-color:var(--hairline);
}

.btn--quiet:hover {
  background:var(--panel-hover);
  border-color:var(--ochre);
  transform:translateY(-1px);
}

.btn--quiet:active {
  background:var(--ground);
  transform:translateY(1px);
}

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

.btn--small {
  min-height:44px;
  padding:10px 16px;
  font-size:.9rem;
}

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

.btn[disabled],
.btn[aria-disabled="true"] {
  opacity:.5;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

.btn-row {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.btn-row > * {
  min-width:0;
}

.link-arrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:6px 0;
  color:var(--sand);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:var(--hairline-strong);
  text-decoration-thickness:1px;
  text-underline-offset:.35em;
  transition:color var(--dur-fast) var(--ease-out), text-decoration-color var(--dur-fast) var(--ease-out);
}

.link-arrow .icon {
  width:16px;
  height:16px;
  color:var(--burnt);
  transition:transform var(--dur-base) var(--ease-out);
}

.link-arrow:hover {
  color:var(--burnt);
  text-decoration-color:var(--burnt);
}

.link-arrow:hover .icon {
  transform:translateX(3px);
}

.link-arrow:active {
  color:var(--burnt-press);
}

.link-arrow:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:3px;
  border-radius:var(--radius);
}

.chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  max-width:100%;
  padding:4px 10px;
  border:1px solid var(--hairline-strong);
  border-radius:var(--radius);
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1.3;
  color:var(--sand-soft);
  overflow-wrap:anywhere;
}

.chip--stock {
  border-color:rgba(125, 123, 82, .6);
  background:var(--olive-wash);
  color:var(--olive-bright);
}

.chip--stock::before {
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
  flex:none;
}

.chip--warn {
  border-color:rgba(181, 104, 76, .6);
  background:var(--clay-wash);
  color:#DB9A80;
}

.chip--accent {
  border-color:var(--ochre-line);
  color:var(--ochre);
}

button.chip,
a.chip,
label.chip {
  min-height:44px;
  padding:8px 14px;
  cursor:pointer;
  text-decoration:none;
  transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

button.chip:hover,
a.chip:hover,
label.chip:hover {
  border-color:var(--ochre);
  background:var(--ochre-wash);
  color:var(--sand);
}

button.chip:active,
a.chip:active,
label.chip:active {
  background:var(--ground-deep);
}

button.chip:focus-visible,
a.chip:focus-visible,
label.chip:focus-within {
  outline:2px solid var(--burnt);
  outline-offset:2px;
}

button.chip[aria-pressed="true"],
label.chip:has(input:checked) {
  border-color:var(--burnt);
  background:var(--burnt-wash);
  color:var(--sand);
}

.index-list {
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid var(--hairline);
  counter-reset:idx;
}

.index-row {
  position:relative;
  display:grid;
  grid-template-columns:3.2rem minmax(0, 1fr) auto;
  grid-template-areas:"num name arrow" "num spec arrow";
  column-gap:clamp(12px, 2vw, 28px);
  row-gap:2px;
  align-items:center;
  min-height:72px;
  padding:18px 12px 18px 4px;
  border-bottom:1px solid var(--hairline);
  color:var(--sand);
  text-decoration:none;
  transition:background-color var(--dur-base) var(--ease-out), padding-left var(--dur-base) var(--ease-out);
}

.index-row::before {
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:0;
  height:1px;
  background:var(--burnt);
  transition:width var(--dur-slow) var(--ease-out);
}

.index-row__num {
  grid-area:num;
  font-family:var(--kife-745);
  font-size:var(--step--1);
  color:var(--clay);
  letter-spacing:.04em;
  align-self:start;
  padding-top:.35em;
}

.index-row__name {
  grid-area:name;
  min-width:0;
  font-family:var(--kife-9dc);
  font-size:var(--kife-6df);
  font-variation-settings:"opsz" 72;
  line-height:1.15;
  letter-spacing:var(--tracking-display);
  overflow-wrap:break-word;
}

.index-row__spec {
  grid-area:spec;
  min-width:0;
  color:var(--dust);
  font-size:.92rem;
  line-height:1.45;
}

.index-row__arrow {
  grid-area:arrow;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  color:var(--dust);
  transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);
}

.index-row__arrow .icon {
  width:18px;
  height:18px;
}

a.index-row:hover {
  background:var(--panel);
}

a.index-row:hover::before {
  width:100%;
}

a.index-row:hover .index-row__arrow {
  color:var(--on-burnt);
  background:var(--burnt);
  border-color:var(--burnt);
  transform:translateX(2px);
}

a.index-row:active {
  background:var(--ground-deep);
}

a.index-row:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:-2px;
}

@media (max-width: 480px) {
  .index-row {
    grid-template-columns:2.2rem minmax(0, 1fr);
    grid-template-areas:"num name" "num spec";
    padding-right:0;
  }
  .index-row__arrow {
    display:none;
  }
}

.parts {
  display:grid;
  gap:clamp(28px, 4vw, 48px) clamp(20px, 3vw, 40px);
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}

.parts > * {
  min-width:0;
}

.part {
  position:relative;
  display:flex;
  flex-direction:column;
  background:var(--panel);
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  box-shadow:var(--shadow-inset);
  transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}

.part:hover {
  border-color:var(--hairline-strong);
  box-shadow:var(--shadow);
}

.part:focus-within {
  border-color:var(--ochre-line);
}

.part__media {
  position:relative;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-bottom:1px solid var(--hairline);
  background:var(--ground-deep);
}

.part__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--dur-scene) var(--ease-out);
}

.part:hover .part__media img {
  transform:scale(1.03);
}

.part__body {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:22px 22px 24px;
}

.part__code {
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--clay);
}

.part__name {
  font-family:var(--kife-9dc);
  font-size:var(--kife-6df);
  font-weight:500;
  line-height:1.15;
  font-variation-settings:"opsz" 48;
}

.part__detail {
  color:var(--sand-soft);
  font-size:.96rem;
  line-height:1.55;
}

.part__range {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 10px;
  padding-top:12px;
  border-top:1px dashed var(--hairline-strong);
  font-family:var(--kife-745);
  font-size:.92rem;
  color:var(--sand);
}

.part__range small {
  font-size:var(--step--2);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--dust);
}

.part__actions {
  margin-top:auto;
  padding-top:6px;
}

.spec-table {
  width:100%;
  font-size:.94rem;
  border-top:1px solid var(--hairline-strong);
}

.spec-table caption {
  caption-side:top;
  text-align:left;
  padding-bottom:12px;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--ochre);
}

.spec-table th,
.spec-table td {
  padding:13px 14px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--hairline);
}

.spec-table thead th {
  font-family:var(--kife-745);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--dust);
  background:var(--ground-deep);
  white-space:nowrap;
}

.spec-table tbody th {
  font-weight:500;
  color:var(--sand);
}

.spec-table td {
  color:var(--sand-soft);
}

.spec-table .num,
.spec-table td.mono {
  font-family:var(--kife-745);
  font-size:.86rem;
  white-space:nowrap;
}

.spec-table tbody tr {
  transition:background-color var(--dur-fast) var(--ease-out);
}

.spec-table tbody tr:hover {
  background:var(--panel);
}

.nanec5b {
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  background:var(--ground);
}

.nanec5b .spec-table {
  min-width:560px;
  border-top:0;
}

.nanec5b:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
}

.callout {
  position:relative;
  padding:20px 22px 20px 24px;
  background:var(--panel);
  border:1px solid var(--hairline);
  border-left:2px solid var(--ochre);
  border-radius:var(--radius);
  color:var(--sand-soft);
}

.callout__title {
  display:block;
  margin-bottom:6px;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--ochre);
}

.callout--warn {
  border-left-color:var(--clay);
}

.callout--warn .callout__title {
  color:#DB9A80;
}

.steps {
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:step;
  display:grid;
  gap:0;
}

.step {
  position:relative;
  display:grid;
  grid-template-columns:3rem minmax(0, 1fr);
  gap:4px 18px;
  padding:22px 0;
  border-top:1px solid var(--hairline);
  counter-increment:step;
}

.step::before {
  content:counter(step, decimal-leading-zero);
  grid-row:span 2;
  font-family:var(--kife-745);
  font-size:var(--step--1);
  color:var(--clay);
  padding-top:.3em;
}

.step__title {
  font-family:var(--kife-9dc);
  font-size:var(--kife-6df);
  font-weight:500;
  line-height:1.2;
}

.step__text {
  color:var(--sand-soft);
}

.step__note {
  grid-column:2;
  margin-top:6px;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ochre);
}

.crumbs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 8px;
  list-style:none;
  margin:0;
  padding:0;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--dust);
}

.crumbs li {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.crumbs li + li::before {
  content:"/";
  color:var(--dust-dim);
}

.crumbs a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--dust);
  text-decoration:none;
  transition:color var(--dur-fast) var(--ease-out);
}

.crumbs a:hover {
  color:var(--ochre);
}

.crumbs a:active {
  color:var(--burnt);
}

.crumbs a:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
}

.crumbs [aria-current="page"] {
  color:var(--sand);
}

.tabs {
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  border-bottom:1px solid var(--hairline);
}

.tab {
  position:relative;
  min-height:46px;
  padding:10px 16px;
  color:var(--dust);
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  border-radius:var(--radius) var(--radius) 0 0;
  transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.tab::after {
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:2px;
  background:transparent;
  transition:background-color var(--dur-fast) var(--ease-out);
}

.tab:hover {
  color:var(--sand);
  background:var(--panel);
}

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

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

.tab[aria-selected="true"] {
  color:var(--sand);
}

.tab[aria-selected="true"]::after {
  background:var(--burnt);
}

.tab-panel {
  padding-top:var(--space-l);
}

.form {
  display:grid;
  gap:20px;
  grid-template-columns:minmax(0, 1fr);
}

.form > * {
  min-width:0;
}

@media (min-width: 640px) {
  .form--two {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .form--two .field--full,
  .form--two .form__foot,
  .form--two .form__status {
    grid-column:1 / -1;
  }
}

.field {
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}

.field__label {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:4px 12px;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--sand-soft);
}

.field__opt {
  color:var(--dust-dim);
  letter-spacing:.04em;
}

.field__input,
.field__select,
.field__textarea {
  width:100%;
  min-height:50px;
  padding:12px 14px;
  background:var(--panel);
  color:var(--sand);
  border:1px solid var(--hairline-strong);
  border-radius:var(--radius-input);
  font-size:1rem;
  line-height:1.4;
  box-shadow:var(--shadow-inset);
  transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
  appearance:none;
  -webkit-appearance:none;
}

.field__textarea {
  min-height:132px;
  resize:vertical;
}

.field__select {
  padding-right:42px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--ochre) 50%),
    linear-gradient(135deg, var(--ochre) 50%, transparent 50%);
  background-position:calc(100% - 20px) 52%, calc(100% - 15px) 52%;
  background-size:5px 5px, 5px 5px;
  background-repeat:no-repeat;
}

.field__input::placeholder,
.field__textarea::placeholder {
  color:var(--dust-dim);
}

.field__input:hover,
.field__select:hover,
.field__textarea:hover {
  border-color:var(--dust);
  background-color:var(--panel-raised);
}

.field__input:focus-visible,
.field__select:focus-visible,
.field__textarea:focus-visible,
.field__input:focus,
.field__select:focus,
.field__textarea:focus {
  outline:none;
  border-color:var(--burnt);
  background-color:var(--panel-raised);
  box-shadow:0 0 0 3px var(--burnt-wash);
}

.field__hint {
  color:var(--dust);
  font-size:.85rem;
  line-height:1.45;
}

.field__error {
  display:none;
  align-items:flex-start;
  gap:8px;
  color:#E9A27C;
  font-size:.88rem;
  line-height:1.4;
}

.field__error:not(:empty) {
  display:flex;
}

.field__error:not(:empty)::before {
  content:"";
  flex:none;
  width:6px;
  height:6px;
  margin-top:.5em;
  background:var(--burnt);
  transform:rotate(45deg);
}

.field--invalid .field__input,
.field--invalid .field__select,
.field--invalid .field__textarea,
.field__input[aria-invalid="true"],
.field__select[aria-invalid="true"],
.field__textarea[aria-invalid="true"] {
  border-color:var(--burnt);
  background-color:rgba(224, 122, 60, .06);
}

.field--invalid .field__label {
  color:#E9A27C;
}

.field--check {
  flex-direction:row;
  align-items:flex-start;
  gap:12px;
}

.check {
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:44px;
  cursor:pointer;
  color:var(--sand-soft);
  font-size:.94rem;
  line-height:1.5;
}

.check input {
  flex:none;
  appearance:none;
  -webkit-appearance:none;
  width:22px;
  height:22px;
  margin:1px 0 0;
  border:1px solid var(--hairline-strong);
  border-radius:var(--radius);
  background:var(--panel);
  cursor:pointer;
  display:grid;
  place-content:center;
  transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}

.check input::after {
  content:"";
  width:11px;
  height:6px;
  border-left:2px solid var(--on-burnt);
  border-bottom:2px solid var(--on-burnt);
  transform:rotate(-45deg) translate(1px, -1px);
  opacity:0;
}

.check input:checked {
  background:var(--burnt);
  border-color:var(--burnt);
}

.check input:checked::after {
  opacity:1;
}

.check:hover input {
  border-color:var(--ochre);
}

.check input:active {
  background:var(--ground-deep);
}

.check input:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
}

.check a {
  color:var(--sand);
  text-decoration-color:var(--burnt);
}

.check a:hover {
  color:var(--burnt);
}

.field--invalid .check input {
  border-color:var(--burnt);
}

.hp-field {
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
}

.form__foot {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 20px;
}

.form__note {
  flex:1 1 240px;
  min-width:0;
  color:var(--dust);
  font-size:.86rem;
  line-height:1.5;
}

.form__status {
  display:none;
  padding:14px 16px;
  border:1px solid var(--hairline-strong);
  border-left:2px solid var(--ochre);
  border-radius:var(--radius);
  background:var(--panel);
  color:var(--sand);
  font-size:.94rem;
}

.form__status:not(:empty) {
  display:block;
}

.form__status--error {
  border-left-color:var(--burnt);
  color:#F0C2A6;
}

.form__status--ok {
  border-left-color:var(--olive-bright);
}

.form.is-busy .btn[type="submit"] {
  opacity:.7;
  cursor:progress;
}

.site-footer {
  position:relative;
  margin-top:auto;
  background:var(--ground-deep);
  border-top:1px solid var(--hairline);
  padding:clamp(56px, 7vw, 96px) 0 clamp(96px, 10vw, 112px);
}

.site-footer::before {
  content:"";
  position:absolute;
  left:var(--gutter);
  right:var(--gutter);
  top:0;
  height:10px;
  background:repeating-linear-gradient(90deg, var(--ochre-line) 0 1px, transparent 1px 12px) top left / 100% 6px no-repeat;
  opacity:.5;
}

.site-footer__top {
  display:grid;
  gap:clamp(36px, 5vw, 64px);
  grid-template-columns:minmax(0, 1fr);
}

@media (min-width: 900px) {
  .site-footer__top {
    grid-template-columns:minmax(0, 1.3fr) repeat(3, minmax(0, 1fr));
  }
}

.site-footer__top > * {
  min-width:0;
}

.site-footer__brand img {
  height:2.5rem;
  width:auto;
}

.site-footer__line {
  margin-top:20px;
  max-width:34ch;
  font-family:var(--kife-9dc);
  font-size:var(--kife-6df);
  font-variation-settings:"opsz" 72;
  line-height:1.25;
  color:var(--sand);
}

.site-footer__line em {
  font-style:italic;
  color:var(--ochre);
}

.site-footer__title {
  margin-bottom:12px;
  font-family:var(--kife-745);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--clay);
}

.site-footer__list {
  list-style:none;
  margin:0;
  padding:0;
}

.site-footer__link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:4px 0;
  color:var(--sand-soft);
  font-size:.95rem;
  line-height:1.35;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color var(--dur-fast) var(--ease-out);
}

.site-footer__link:hover {
  color:var(--ochre);
}

.site-footer__link:active {
  color:var(--burnt);
}

.site-footer__link:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
  border-radius:var(--radius);
}

.site-footer__address {
  font-style:normal;
}

.site-footer__notice {
  margin-top:clamp(36px, 5vw, 56px);
  padding:16px 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  color:var(--dust);
  font-size:.88rem;
  line-height:1.55;
}

.legal-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 28px;
  padding-top:20px;
}

.legal-row__links {
  display:flex;
  flex-wrap:wrap;
  gap:0 20px;
  list-style:none;
  margin:0;
  padding:0;
}

.legal-row__link,
.legal-row__button {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:4px 0;
  color:var(--dust);
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  text-decoration:none;
  text-align:left;
  transition:color var(--dur-fast) var(--ease-out);
}

.legal-row__link:hover,
.legal-row__button:hover {
  color:var(--sand);
}

.legal-row__link:active,
.legal-row__button:active {
  color:var(--burnt);
}

.legal-row__link:focus-visible,
.legal-row__button:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
  border-radius:var(--radius);
}

.legal-row__copy {
  font-family:var(--kife-745);
  font-size:var(--step--2);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--dust-dim);
}

.marquee {
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  background:var(--ground-deep);
  padding:18px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.marquee__track {
  display:flex;
  width:max-content;
  animation:marquee-run var(--dur-marquee) linear infinite;
}

.marquee--reverse .marquee__track {
  animation-name:marquee-run-reverse;
  animation-duration:var(--dur-marquee-slow);
}

.marquee:hover .marquee__track,
.marquee:focus-within .marquee__track,
.marquee.is-paused .marquee__track {
  animation-play-state:paused;
}

.marquee__track {
  width:auto !important;
  animation:none !important;
  justify-content:center;
}

.marquee__group + .marquee__group {
  display:none;
}

.marquee__item {
  white-space:normal !important;
}

.marquee__group {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  row-gap:10px;
  padding-inline:var(--gutter) !important;
  flex:1 1 auto;
  align-items:center;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

.marquee__item {
  display:inline-flex;
  align-items:center;
  gap:28px;
  padding-right:28px;
  white-space:nowrap;
  font-family:var(--kife-9dc);
  font-size:clamp(1.3rem, 2.4vw + .6rem, 2.3rem);
  font-weight:400;
  font-variation-settings:"opsz" 96;
  letter-spacing:var(--tracking-display);
  color:var(--sand);
}

.marquee__item::after {
  content:"";
  width:7px;
  height:7px;
  border:1px solid var(--ochre);
  transform:rotate(45deg);
  flex:none;
}

.marquee__item--mono {
  font-family:var(--kife-745);
  font-size:clamp(.9rem, 1vw + .6rem, 1.1rem);
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  color:var(--dust);
}

.marquee__item em {
  font-style:italic;
  color:var(--ochre);
}

.consent {
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:var(--z-consent);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 20px;
  max-height:20vh;
  max-height:20svh;
  overflow-y:auto;
  padding:12px 14px 12px 18px;
  background:var(--panel-raised);
  border:1px solid var(--hairline-strong);
  border-top:1px solid var(--ochre-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

@media (min-width: 1024px) {
  .consent {
    left:calc(var(--sidebar-w) + 20px);
    right:20px;
    bottom:20px;
    max-width:980px;
  }
}

.consent__text {
  flex:1 1 280px;
  min-width:0;
  margin:0;
  color:var(--sand-soft);
  font-size:.9rem;
  line-height:1.45;
}

.consent__text a {
  color:var(--sand);
  text-decoration-color:var(--burnt);
  transition:color var(--dur-fast) var(--ease-out);
}

.consent__text a:hover {
  color:var(--burnt);
}

.consent__text a:active {
  color:var(--burnt-press);
}

.consent__text a:focus-visible {
  outline:2px solid var(--burnt);
  outline-offset:2px;
}

.consent__actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.consent__actions .btn {
  min-height:44px;
  padding:10px 18px;
  font-size:.9rem;
}

@media (max-width: 420px) {
  .consent {
    padding:10px 12px;
    gap:8px;
  }
  .consent__text {
    font-size:.84rem;
  }
  .consent__actions {
    width:100%;
  }
  .consent__actions .btn {
    flex:1 1 0;
  }
}

.chat-launcher {
  position:fixed;
  right:16px;
  bottom:calc(16px + env(safe-area-inset-bottom, 0px));
  z-index:var(--z-chat);
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  min-width:52px;
  padding:12px 18px 12px 16px;
  background:var(--panel-raised);
  color:var(--sand);
  border:1px solid var(--ochre-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  font-family:var(--kife-745);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:var(--tracking-mono);
  text-transform:uppercase;
  transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-press), bottom var(--dur-slow) var(--ease-out);
}

.chat-launcher .icon {
  width:20px;
  height:20px;
  color:var(--burnt);
  transition:color var(--dur-fast) var(--ease-out);
}

.chat-launcher:hover {
  background:var(--panel-hover);
  border-color:var(--ochre);
  transform:translateY(-2px);
  box-shadow:0 34px 60px -26px rgba(0, 0, 0, .75), 0 0 0 1px var(--ochre-wash);
}

.chat-launcher:active {
  background:var(--ground);
  transform:translateY(1px);
  box-shadow:var(--shadow-near);
}

.chat-launcher:active .icon {
  color:var(--burnt-press);
}

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

.chat-launcher[aria-expanded="true"] {
  border-color:var(--burnt);
}

.chat-launcher__badge {
  position:absolute;
  top:-8px;
  right:-8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  min-height:22px;
  padding:2px 6px;
  background:var(--burnt);
  color:var(--on-burnt);
  border-radius:11px;
  font-family:var(--kife-745);
  font-size:.7rem;
  letter-spacing:0;
  line-height:1;
}

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

html.consent-open .chat-launcher {
  bottom:calc(var(--consent-h, 96px) + 24px);
}

@media (max-width: 560px) {
  .chat-launcher__text {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
  .chat-launcher {
    padding:12px;
    justify-content:center;
  }
}

.chat-panel {
  position:fixed;
  right:16px;
  bottom:calc(80px + env(safe-area-inset-bottom, 0px));
  z-index:var(--z-chat);
  display:flex;
  flex-direction:column;
  width:min(400px, calc(100vw - 32px));
  height:min(560px, calc(100svh - 120px));
  background:var(--panel);
  border:1px solid var(--hairline-strong);
  border-radius:var(--radius);
  box-shadow:var(--shadow), 0 0 0 1px rgba(0, 0, 0, .3);
  overflow:hidden;
}

html.consent-open .chat-panel {
  bottom:calc(var(--consent-h, 96px) + 88px);
  height:min(520px, calc(100svh - var(--consent-h, 96px) - 140px));
}

.chat-panel__head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 12px 12px 18px;
  border-bottom:1px solid var(--hairline);
  background:var(--panel-raised);
}

.chat-panel__title {
  font-family:var(--kife-9dc);
  font-size:1.2rem;
  font-weight:500;
  line-height:1.2;
}

.chat-panel__sub {
  margin-top:2px;
}

.chat-panel__close {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:none;
  border:1px solid var(--hairline);
  border-radius:var(--radius);
  color:var(--sand);
  transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.chat-panel__close .icon {
  width:18px;
  height:18px;
}

.chat-panel__close:hover {
  background:var(--panel-hover);
  border-color:var(--ochre);
  color:var(--ochre);
}

.chat-panel__close:active {
  background:var(--ground);
}

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

.chat-log {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:0;
  padding:16px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:var(--ground);
}

.chat-msg {
  max-width:86%;
  padding:10px 13px;
  border-radius:var(--radius);
  font-size:.94rem;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.chat-msg--agent,
.chat-msg--system {
  align-self:flex-start;
  background:var(--panel-raised);
  border:1px solid var(--hairline);
  color:var(--sand);
}

.chat-msg--system {
  border-left:2px solid var(--ochre);
}

.chat-msg--me {
  align-self:flex-end;
  background:var(--burnt-wash);
  border:1px solid rgba(224, 122, 60, .4);
  color:var(--sand);
}

.chat-msg--pending {
  opacity:.62;
}

.chat-msg--failed {
  border-color:var(--burnt);
}

.chat-msg__meta {
  display:block;
  margin-top:4px;
  font-family:var(--kife-745);
  font-size:.66rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--dust);
}

.chat-msg__retry {
  min-height:44px;
  margin-top:4px;
  padding:4px 0;
  color:var(--burnt);
  font-family:var(--kife-745);
  font-size:.7rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:underline;
  transition:color var(--dur-fast) var(--ease-out);
}

.chat-msg__retry:hover {
  color:var(--burnt-hover);
}

.chat-msg__retry:active {
  color:var(--burnt-press);
}

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

.chat-intro {
  display:grid;
  gap:12px;
  padding:16px;
  border-top:1px solid var(--hairline);
  background:var(--panel);
  overflow-y:auto;
}

.chat-intro .field__input,
.chat-compose .field__textarea {
  min-height:46px;
}

.chat-compose {
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:12px;
  border-top:1px solid var(--hairline);
  background:var(--panel);
}

.chat-compose .field__textarea {
  flex:1 1 auto;
  min-width:0;
  min-height:46px;
  max-height:140px;
  resize:none;
  padding:11px 12px;
}

.chat-compose__send {
  flex:none;
  min-width:48px;
  min-height:46px;
  padding:10px 14px;
}

.chat-error {
  padding:8px 16px;
  color:#F0C2A6;
  font-size:.85rem;
  background:rgba(224, 122, 60, .08);
  border-top:1px solid rgba(224, 122, 60, .3);
}

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

@media (max-width: 480px) {
  .chat-panel {
    right:8px;
    left:8px;
    width:auto;
    bottom:calc(76px + env(safe-area-inset-bottom, 0px));
    height:min(560px, calc(100svh - 96px));
  }
}
