

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

.brand-logo {
  height:2.1rem;
  width:auto;
  display:block;
}

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

.sidebar-meta {
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:0.08em;
  padding-block-start:var(--space-2xs);
  border-block-start:var(--border-fine);
}

.sidebar-nav {
  margin-block:var(--space-l);
  flex:1 1 auto;
}

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

.nav-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--space-xs) var(--space-s);
  min-height:var(--touch-target);
  font-family:var(--belu-629);
  font-weight:600;
  font-size:var(--belu-d3c);
  color:var(--ink);
  text-decoration:none;
  border-radius:var(--radius-sm);
  background-color:transparent;
  border-inline-start:3px solid transparent;
  transition:background-color var(--dur-rapid) var(--ease-mechanical),
              border-color var(--dur-rapid) var(--ease-mechanical),
              color var(--dur-rapid) var(--ease-mechanical),
              transform var(--dur-rapid) var(--ease-mechanical);
}

.nav-link:hover {
  background-color:var(--surface-2);
  color:var(--ink);
  border-inline-start-color:var(--ink-soft);
  transform:translateX(2px);
}

.nav-link:active {
  background-color:var(--line);
  transform:translateX(1px);
}

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

.nav-link[aria-current="page"] {
  background-color:var(--ground);
  color:var(--ink);
  border-inline-start-color:var(--accent);
  font-weight:700;
  box-shadow:inset 0 0 0 1px var(--line);
}

.sidebar-footer {
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
  padding-block-start:var(--space-m);
  border-block-start:var(--border-fine);
  font-size:var(--step--1);
  color:var(--ink-soft);
}

.sidebar-contact-line {
  display:flex;
  flex-direction:column;
  gap:var(--space-3xs);
}

.sidebar-contact-item {
  display:flex;
  align-items:center;
  gap:var(--space-2xs);
  color:var(--ink);
  text-decoration:none;
  min-height:36px;
}

.sidebar-contact-item:hover { color:var(--accent); }

.sidebar-close-btn {
  display:none;
  align-self:flex-end;
  background:none;
  border:var(--border-fine);
  border-radius:var(--radius-sm);
  color:var(--ink);
  padding:var(--space-2xs);
  min-height:40px;
  min-width:40px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}

/* Mobile Bottom Dock (Thumb Navigation within reach) */
.mobile-dock { display:none; }

@media (max-width: 720px) {
  .sidebar-close-btn { display:inline-flex; }

  .mobile-dock {
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    height:64px;
    background-color:var(--surface);
    border-block-start:var(--border-fine);
    z-index:250;
    align-items:center;
    justify-content:space-around;
    padding-inline:var(--space-s);
    padding-block-end:env(safe-area-inset-bottom, 0px);
    box-shadow:0 -2px 10px rgba(39, 41, 43, 0.08);
  }

  .dock-btn {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    background:none;
    border:none;
    color:var(--ink);
    font-family:var(--belu-21c);
    font-size:0.72rem;
    text-transform:uppercase;
    letter-spacing:0.04em;
    min-height:var(--touch-target);
    min-width:58px;
    padding:var(--space-3xs) var(--space-2xs);
    text-decoration:none;
    border-radius:var(--radius-sm);
    cursor:pointer;
    transition:background-color var(--dur-rapid) var(--ease-mechanical),
                color var(--dur-rapid) var(--ease-mechanical);
  }

  .dock-btn:hover {
    background-color:var(--surface-2);
    color:var(--accent);
  }

  .dock-btn:active { background-color:var(--line); }

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

  .dock-btn[aria-current="page"] {
    color:var(--accent);
    font-weight:700;
  }
}


.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-2xs);
  min-height:50px;
  box-sizing:border-box;
  padding:var(--space-2xs) var(--space-m);
  font-family:var(--belu-629);

  font-weight:600;
  font-size:var(--belu-d3c);
  line-height:1.25;
  text-decoration:none;
  cursor:pointer;
  border-radius:var(--radius-sm);
  border:1px solid transparent;
  white-space:normal;
  text-align:center;
  max-width:100%;
  box-shadow:none;
  transition:background-color var(--dur-rapid) var(--ease-mechanical),
              border-color var(--dur-rapid) var(--ease-mechanical),
              color var(--dur-rapid) var(--ease-mechanical),
              box-shadow var(--dur-rapid) var(--ease-mechanical),
              transform var(--dur-rapid) var(--ease-mechanical);
}

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

/* Button consistency across all viewports */
.btn,
a.btn,
button.btn {
  min-height:50px !important;
  border-radius:var(--radius-sm) !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  padding:var(--space-2xs) var(--space-m) !important;
  font-family:var(--belu-629) !important;
  font-size:var(--belu-d3c) !important;
  line-height:1.3 !important;
}

/* Primary Action (Cold Teal Accent) */
.btn-primary {
  background-color:var(--accent);
  color:var(--accent-ink);
  border-color:var(--accent);
}

.btn-primary:hover {
  background-color:#266872;
  border-color:#266872;
  color:var(--accent-ink);
  box-shadow:none;
  transform:translateY(-1px);
}

.btn-primary:active {
  background-color:#1E525A;
  border-color:#1E525A;
  box-shadow:none;
  transform:translateY(0);
}

.btn-secondary {
  background-color:var(--surface);
  color:var(--ink);
  border-color:var(--line);
}

.btn-secondary:hover {
  background-color:var(--surface-2);
  border-color:var(--ink);
  color:var(--ink);
  transform:translateY(-1px);
}

.btn-secondary:active {
  background-color:var(--line);
  transform:translateY(0);
}

.btn-ghost {
  background-color:transparent;
  color:var(--ink);
  border-color:transparent;
  padding-inline:var(--space-xs);
}

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

.btn-ghost:active { background-color:var(--surface-2); }

.btn-block { width:100%; }


.lockup-headline {
  position:relative;

  display:flex;
  flex-direction:column;
  margin-block-end:var(--space-m);
  max-width:900px;
}

.lockup-rule {
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  margin-block:var(--space-2xs);
}

.lockup-rule::before {
  content:"";
  display:block;
  height:2px;
  width:100%;
  background-color:var(--ink);
}

.lockup-lead-word {
  font-family:var(--belu-629);
  font-weight:800;
  font-size:var(--belu-1c9);
  letter-spacing:-0.025em;
  line-height:1.05;
  color:var(--ink);
}

.lockup-sub-word {
  font-family:var(--belu-629);
  font-weight:700;
  font-size:var(--belu-2f1);
  letter-spacing:-0.015em;
  color:var(--ink-soft);

  margin-inline-start:clamp(1.5rem, 5vw, 4rem);
  line-height:1.15;
}

.lockup-tag {
  align-self:flex-start;
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--accent);
  background-color:var(--surface);
  padding:2px 8px;
  border:var(--border-fine);
  border-radius:var(--radius-sm);
  margin-block-end:var(--space-xs);
}


.service-card {
  background-color:var(--surface);
  border:var(--border-fine);
  border-radius:var(--radius-sm);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:border-color var(--dur-base) var(--ease-mechanical),
              box-shadow var(--dur-base) var(--ease-mechanical),
              transform var(--dur-base) var(--ease-mechanical);
}

.service-card:hover {
  border-color:var(--ink);
  box-shadow:var(--shadow-raised);
  transform:translateY(-2px);
}

.service-card-figure {
  width:100%;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background-color:var(--surface-2);
  position:relative;
}

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

.service-card:hover .service-card-figure img { transform:scale(1.03); }

.service-card-body {
  padding:var(--space-m);
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}

.service-price-badge {
  font-family:var(--belu-21c);
  font-weight:700;
  font-size:var(--belu-32a);
  color:var(--ink);
  background-color:var(--ground);
  padding:var(--space-2xs) var(--space-xs);
  border:var(--border-fine);
  border-radius:var(--radius-sm);
  display:inline-flex;
  align-items:center;
  margin-block-end:var(--space-xs);
  align-self:flex-start;
}

.service-card-title {
  font-family:var(--belu-629);
  font-size:var(--belu-c52);
  margin-block-end:var(--space-2xs);
}

.service-card-detail {
  font-size:var(--belu-d3c);
  color:var(--ink-soft);
  margin-block-end:var(--space-m);
  flex:1 1 auto;
}

.service-card-action { margin-block-start:auto; }

/* Flat Info Rows */
.info-row {
  display:flex;
  flex-direction:column;
  gap:var(--space-3xs);
  padding-block:var(--space-s);
  border-block-end:var(--border-fine);
}

.info-row-label {
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:0.05em;
}

.info-row-value {
  font-family:var(--belu-629);
  font-size:var(--belu-32a);
  color:var(--ink);
  font-weight:600;
}


.table-wrapper {
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-block-end:var(--space-m);
  border:1px solid var(--ink);
  border-radius:var(--radius-sm);
  background-color:#FFFFFF;
  box-shadow:0 4px 16px rgba(39, 41, 43, 0.08);
}

.spec-table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:var(--belu-d3c);
}

.spec-table th,
.spec-table td {
  padding:var(--space-s) var(--space-m);
  border-block-end:1px solid var(--surface-2);
  vertical-align:top;
}

.spec-table th {
  background-color:var(--ink);
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  color:#FFFFFF;
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-weight:700;
  border-block-end:none;
}

.spec-table tr:last-child td { border-block-end:none; }

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

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

.spec-table .td-num {
  font-family:var(--belu-21c);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}


.form-group {
  display:flex;
  flex-direction:column;
  gap:var(--space-3xs);
  margin-block-end:var(--space-m);
}

.form-label {
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:var(--ink);
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.form-label-hint {
  font-weight:400;
  color:var(--ink-soft);
  text-transform:none;
  letter-spacing:normal;
}

.form-input,
.form-select,
.form-textarea {
  width:100%;
  min-height:var(--touch-target);
  padding:var(--space-xs) var(--space-s);
  background-color:#FFFFFF;
  border:var(--border-fine);
  border-radius:var(--radius-sm);
  color:var(--ink);
  font-family:var(--belu-726);
  font-size:var(--belu-d3c);
  line-height:1.4;
  transition:border-color var(--dur-rapid) var(--ease-mechanical),
              box-shadow var(--dur-rapid) var(--ease-mechanical);
}

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

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(47, 127, 138, 0.2);
}

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

/* Checkbox and Agreement */
.form-check {
  display:flex;
  align-items:flex-start;
  gap:var(--space-xs);
  margin-block-end:var(--space-m);
}

.form-check input[type="checkbox"] {
  appearance:none;
  -webkit-appearance:none;
  width:22px;
  height:22px;
  border:1.5px solid var(--ink);
  border-radius:var(--radius-sm);
  background-color:#FFFFFF;
  cursor:pointer;
  display:grid;
  place-content:center;
  margin-block-start:2px;
  flex-shrink:0;
  transition:background-color var(--dur-rapid) var(--ease-mechanical),
              border-color var(--dur-rapid) var(--ease-mechanical);
}

.form-check input[type="checkbox"]::before {
  content:"";
  width:12px;
  height:12px;
  transform:scale(0);
  background-color:var(--accent-ink);
  clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transition:transform var(--dur-rapid) var(--ease-mechanical);
}

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

.form-check input[type="checkbox"]:checked::before { transform:scale(1); }

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

.form-check label {
  font-size:var(--step--1);
  color:var(--ink-soft);
  line-height:1.45;
  cursor:pointer;
}

.form-check label a {
  color:var(--ink);
  font-weight:600;
}

.form-group.has-error .form-input,
.form-group.has-error .form-select,
.form-group.has-error .form-textarea {
  border-color:#B53229;
  background-color:#FDF4F3;
}

.form-error {
  display:none;
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  color:#B53229;
  margin-block-start:var(--space-3xs);
}

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

/* Status Notifications */
.form-status {
  display:none;
  padding:var(--space-s);
  border-radius:var(--radius-sm);
  margin-block-end:var(--space-m);
  font-size:var(--belu-d3c);
}

.form-status.is-success {
  display:block;
  background-color:#E6F3EE;
  border:1px solid #2B7A56;
  color:#1A4E36;
}

.form-status.is-error {
  display:block;
  background-color:#FDF4F3;
  border:1px solid #B53229;
  color:#721914;
}


.site-footer {
  background-color:var(--surface);
  border-block-start:var(--border-fine);
  padding-block:var(--space-2xl) var(--space-xl);
  font-size:var(--step--1);
  color:var(--ink-soft);
}

.footer-inner {
  max-width:var(--content-max-w);
  margin-inline:auto;
  padding-inline:var(--space-m);
  display:flex;
  flex-direction:column;
  gap:var(--space-l);
}

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

@media (max-width: 768px) {
  .footer-top { grid-template-columns:1fr; }
}

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

.footer-logo {
  height:2.3rem;
  width:auto;
  display:block;
}

.footer-creds {
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  color:var(--ink);
  line-height:1.5;
}

.footer-col-title {
  font-family:var(--belu-21c);
  font-size:var(--step--1);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--ink);
  margin-block-end:var(--space-xs);
}

.footer-nav-list {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:var(--space-2xs);
}

.footer-nav-link {
  color:var(--ink-soft);
  text-decoration:none;
  display:inline-block;
  padding-block:2px;
  min-height:32px;
  line-height:28px;
}

.footer-nav-link:hover { color:var(--accent); }

.footer-legal-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-s);
  padding-block-start:var(--space-xs);
  font-family:var(--belu-21c);
  font-size:0.78rem;
}

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

.footer-legal-links a {
  color:var(--ink-soft);
  text-decoration:underline;
  text-underline-offset:3px;
  min-height:36px;
  display:inline-flex;
  align-items:center;
}

.footer-legal-links a:hover { color:var(--accent); }

.consent-reopen-btn {
  background:none;
  border:none;
  padding:0;
  color:var(--ink-soft);
  text-decoration:underline;
  font-family:var(--belu-21c);
  font-size:0.78rem;
  cursor:pointer;
  min-height:36px;
  display:inline-flex;
  align-items:center;
}

.consent-reopen-btn:hover { color:var(--accent); }

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


.cookie-dock {
  position:fixed;
  bottom:0;
  left:var(--sidebar-w);
  right:0;
  background-color:var(--surface);
  border-block-start:var(--border-thick);
  box-shadow:0 -4px 20px rgba(39, 41, 43, 0.12);
  z-index:500;
  padding-block:var(--space-s);
  padding-inline:var(--space-m);
  transform:translateY(100%);
  transition:transform var(--dur-deliberate) var(--ease-mechanical);
}

@media (min-width: 48rem) {
  html body #cookie-banner.cookie-dock { margin-inline-start:var(--sidebar-w); }
}

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

.cookie-dock-inner {
  max-width:var(--content-max-w);
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-m);
}

.cookie-text {
  font-size:var(--step--1);
  color:var(--ink);
  line-height:1.45;
  max-width:65ch;
  margin:0;
}

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

@media (max-width: 720px) {
  .cookie-dock { left:0; }

  .cookie-dock-inner {
    flex-direction:column;
    align-items:stretch;
    gap:var(--space-xs);
  }

  .cookie-actions { justify-content:flex-end; }
}


.chat-launcher {
  position:fixed;
  bottom:var(--space-m);
  right:var(--space-m);
  z-index:400;
  background-color:var(--ink);
  color:var(--accent-ink);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:var(--space-xs) var(--space-s);
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:var(--space-2xs);
  font-family:var(--belu-629);
  font-weight:600;
  font-size:var(--step--1);
  cursor:pointer;
  box-shadow:var(--shadow-raised);
  transition:background-color var(--dur-rapid) var(--ease-mechanical),
              transform var(--dur-rapid) var(--ease-mechanical),
              border-color var(--dur-rapid) var(--ease-mechanical),
              bottom var(--dur-base) var(--ease-mechanical);
}

.chat-launcher:hover {
  background-color:var(--accent);
  border-color:var(--accent);
  color:var(--accent-ink);
  transform:translateY(-2px);
}

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

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

.chat-unread-badge {
  display:none;
  background-color:var(--accent);
  color:var(--accent-ink);
  font-family:var(--belu-21c);
  font-size:0.75rem;
  font-weight:700;
  padding:1px 6px;
  border-radius:10px;
}

.chat-unread-badge.has-unread { display:inline-block; }

@media (max-width: 720px) {
  .chat-launcher {
    bottom:76px; /* sits above mobile dock */
    right:var(--space-s);
    padding:var(--space-2xs) var(--space-xs);
    min-height:44px;
    font-size:0.8rem;
  }
}

.cookie-dock.is-visible ~ .chat-launcher,
body:has(#cookie-banner.is-visible) .chat-launcher { bottom:calc(var(--space-m) + 110px); }

@media (max-width: 720px) {
  .cookie-dock.is-visible ~ .chat-launcher,
  body:has(#cookie-banner.is-visible) .chat-launcher,
  .cookie-dock ~ .chat-launcher,
  body:has(#cookie-banner) .chat-launcher { bottom:220px; }
}

.chat-panel {
  display:none;
  position:fixed;
  bottom:calc(var(--space-m) + 54px);
  right:var(--space-m);
  width:360px;
  max-width:calc(100vw - 2 * var(--space-s));
  height:520px;
  max-height:calc(100vh - 120px);
  max-height:calc(100dvh - 120px);
  background-color:var(--surface);
  border:var(--border-thick);
  border-radius:var(--radius-sm);
  box-shadow:0 8px 32px rgba(39, 41, 43, 0.2);
  z-index:450;
  flex-direction:column;
  overflow:hidden;
}

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

.chat-header {
  background-color:var(--ink);
  color:var(--accent-ink);
  padding:var(--space-xs) var(--space-s);
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.chat-header-title {
  font-family:var(--belu-629);
  font-size:var(--belu-d3c);
  font-weight:700;
}

.chat-header-meta {
  font-family:var(--belu-21c);
  font-size:0.72rem;
  color:var(--surface-2);
}

.chat-close-btn {
  background:none;
  border:none;
  color:var(--accent-ink);
  cursor:pointer;
  padding:var(--space-3xs);
  min-height:36px;
  min-width:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-sm);
}

.chat-close-btn:hover { background-color:rgba(255, 255, 255, 0.15); }

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

.chat-messages {
  flex:1 1 auto;
  padding:var(--space-s);
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:var(--space-xs);
  background-color:var(--ground);
}

.chat-msg {
  max-width:82%;
  padding:var(--space-xs) var(--space-s);
  border-radius:var(--radius-sm);
  font-size:var(--step--1);
  line-height:1.4;
  word-break:break-word;
}

.chat-msg-operator {
  align-self:flex-start;
  background-color:var(--surface);
  border:var(--border-fine);
  color:var(--ink);
}

.chat-msg-user {
  align-self:flex-end;
  background-color:var(--accent);
  color:var(--accent-ink);
}

.chat-input-area {
  padding:var(--space-xs) var(--space-s);
  background-color:var(--surface);
  border-block-start:var(--border-fine);
  display:flex;
  gap:var(--space-2xs);
}

.chat-input {
  flex:1 1 auto;
  min-height:40px;
  padding:var(--space-2xs) var(--space-xs);
  background-color:#FFFFFF;
  border:var(--border-fine);
  border-radius:var(--radius-sm);
  font-size:var(--step--1);
}

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

.chat-send-btn {
  background-color:var(--ink);
  color:var(--accent-ink);
  border:none;
  border-radius:var(--radius-sm);
  padding:var(--space-2xs) var(--space-s);
  font-family:var(--belu-629);
  font-weight:600;
  font-size:var(--step--1);
  min-height:40px;
  cursor:pointer;
}

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

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

@media (max-width: 720px) {
  .chat-panel {
    bottom:74px;
    right:var(--space-s);
    left:var(--space-s);
    width:auto;
    max-width:none;
    height:460px;
  }
}
