.site-header {
   width:100%;
   background-color:var(--ground);
   border-bottom:var(--border-rule);
   position:relative;
   z-index:80;
   transition:padding var(--dur-base) var(--ease-settle);
}


.masthead-dateline {
   border-bottom:var(--border-rule);
   background-color:var(--surface);
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   color:var(--ink-soft);
   text-transform:uppercase;
   letter-spacing:var(--tracking-caps);
   padding:0.35rem 0;
}


.masthead-dateline-inner {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-sm);
   overflow-x:auto;
   white-space:nowrap;
}


.masthead-dateline-item {
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   flex-shrink:0;
}


.masthead-dateline-item .icon {
   width:0.85rem;
   height:0.85rem;
   color:var(--ink-soft);
}


.masthead-main {
   padding:var(--space-sm) 0;
}


.masthead-main-inner {
   display:flex;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-md);
   min-height:48px;
}


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


.brand img {
   height:3.1rem;
   width:auto;
   max-width:40vw;

   display:block;
}


@media (min-width: 1024px) {
   .brand img {
      height:3.4rem;
   }
}


.nav-desktop {
   display:none;
}


.header-action {
   display:none;
}


@media (min-width: 1024px) {
   .nav-desktop {
      display:flex;
      align-items:center;
      gap:0;
      margin-left:auto;
   }


   .nav-desktop-list {
      display:flex;
      align-items:center;
      border-left:var(--border-rule);
   }


   .nav-desktop-link {
      display:inline-flex;
      align-items:center;
      padding:0.65rem 1.1rem;
      font-family:var(--depi-354);
      font-size:1.12rem;
      font-weight:700;
      letter-spacing:var(--tracking-wide);
      text-transform:uppercase;
      color:var(--ink);
      border-right:var(--border-rule);
      position:relative;
      transition:background-color var(--dur-fast) var(--ease-ledger), color var(--dur-fast) var(--ease-ledger);
   }


   .nav-desktop-link:hover {
      background-color:var(--surface);
      color:var(--ink);
   }


   .nav-desktop-link:active {
      background-color:var(--surface-2);
   }


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


   .nav-desktop-link[aria-current="page"] {
      background-color:var(--surface);
      color:var(--accent);
      box-shadow:inset 0 -3px 0 var(--accent);
   }


   .header-action {
      display:inline-flex;

      align-items:center;
      margin-left:var(--space-md);
      flex-shrink:0;
   }
}


.site-header.is-condensed .masthead-main {
   padding:0.35rem 0;
}


.site-header.is-condensed .brand img {
   height:2.5rem;
}


.scroll-spine {
   display:none;
}


@media (min-width: 1200px) {
   .scroll-spine {
      display:flex;

      flex-direction:column;
      position:fixed;
      right:1.25rem;
      top:50%;
      transform:translateY(-50%);
      width:24px;
      align-items:center;
      gap:1.25rem;
      z-index:70;
      pointer-events:auto;
   }


   .scroll-spine-track {
      position:absolute;
      top:0;
      bottom:0;
      width:2px;
      background-color:var(--line);
      z-index:1;
   }


   .scroll-spine-bar {
      position:absolute;
      top:0;
      left:0;
      width:100%;
      height:0%;
      background-color:var(--accent);
      transition:height var(--dur-base) linear;
   }


   .scroll-spine-mark {
      position:relative;
      z-index:2;
      width:10px;
      height:10px;
      background-color:var(--ground);
      border:2px solid var(--line);
      border-radius:50%;
      padding:0;
      transition:border-color var(--dur-fast) var(--ease-ledger), background-color var(--dur-fast) var(--ease-ledger), transform var(--dur-fast) var(--ease-ledger);
   }


   .scroll-spine-mark:hover {
      border-color:var(--accent);
      transform:scale(1.3);
   }


   .scroll-spine-mark:active {
      transform:scale(1.1);
   }


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


   .scroll-spine-mark.is-active {
      background-color:var(--accent);
      border-color:var(--accent);
      transform:scale(1.3);
   }
}


.mobile-dock {
   position:fixed;
   inset:auto 0 0 0;
   width:100%;
   height:var(--dock-height);
   background-color:var(--surface);
   border-top:var(--border-rule);
   padding-bottom:env(safe-area-inset-bottom);
   z-index:95;
   display:flex;
   align-items:stretch;
}


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


.mobile-dock-list {
   display:flex;
   width:100%;
   height:100%;
   align-items:stretch;
}


.mobile-dock-item {
   flex:1 1 0;
   display:flex;
}


.mobile-dock-link,
.mobile-dock-button {
   appearance:none;
   background:none;
   border:0;
   font:inherit;
   color:var(--ink-soft);
   width:100%;
   height:100%;
   display:flex;
   flex-direction:column;
   align-items:center;
   justify-content:center;
   gap:2px;
   padding:0.25rem 0.15rem;
   text-decoration:none;
   cursor:pointer;
   min-height:44px;
   transition:background-color var(--dur-fast) var(--ease-ledger), color var(--dur-fast) var(--ease-ledger);
}


.mobile-dock-link .icon,
.mobile-dock-button .icon {
   width:1.35rem;
   height:1.35rem;
}


.mobile-dock-label {
   font-family:var(--depi-354);
   font-size:0.76rem;
   font-weight:700;
   letter-spacing:var(--tracking-wide);
   text-transform:uppercase;
   white-space:nowrap;
   line-height:1;
}


.mobile-dock-link:hover,
.mobile-dock-button:hover {
   background-color:var(--surface-2);
   color:var(--ink);
}


.mobile-dock-link:active,
.mobile-dock-button:active {
   background-color:var(--line);
   color:var(--ink);
}


.mobile-dock-link:focus-visible,
.mobile-dock-button:focus-visible {
   outline:2px solid var(--accent);
   outline-offset:-2px;
}


.mobile-dock-link[aria-current="page"] {
   color:var(--accent);
}


.mobile-dock-link[aria-current="page"] .mobile-dock-label {
   font-weight:800;
}


.drawer-panel {
   position:fixed;
   inset:0;
   background-color:rgba(39, 42, 39, 0.65);
   backdrop-filter:blur(4px);
   -webkit-backdrop-filter:blur(4px);
   z-index:100;
   display:flex;
   flex-direction:column;
   justify-content:flex-end;
   opacity:0;
   pointer-events:none;
   transition:opacity var(--dur-base) var(--ease-settle);
}


.drawer-panel.is-open {
   opacity:1;
   pointer-events:auto;
}


.drawer-content {
   background-color:var(--ground);
   border-top:var(--border-rule);
   max-height:85vh;
   overflow-y:auto;
   padding:var(--space-md) var(--gutter) calc(var(--space-md) + env(safe-area-inset-bottom));
   display:flex;
   flex-direction:column;
   gap:var(--space-md);
   transform:translateY(100%);
   transition:transform var(--dur-slow) var(--ease-settle);
}


.drawer-panel.is-open .drawer-content {
   transform:translateY(0);
}


.drawer-header {
   display:flex;
   align-items:center;
   justify-content:space-between;
   border-bottom:var(--border-rule);
   padding-bottom:var(--space-sm);
}


.drawer-title {
   font-family:var(--depi-354);
   font-size:var(--fs-lg);
   font-weight:700;
   letter-spacing:var(--tracking-wide);
   text-transform:uppercase;
}


.drawer-close {
   appearance:none;
   background:var(--surface);
   border:var(--border-rule);
   color:var(--ink);
   width:44px;
   height:44px;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   border-radius:var(--radius);
   transition:background-color var(--dur-fast) var(--ease-ledger), border-color var(--dur-fast) var(--ease-ledger);
}


.drawer-close:hover {
   background-color:var(--surface-2);
   border-color:var(--ink);
}


.drawer-close:active {
   background-color:var(--line);
}


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


.drawer-list {
   display:flex;
   flex-direction:column;
   gap:0;
   border:var(--border-rule);
   background-color:var(--line);
}


.drawer-link {
   display:flex;
   align-items:center;
   justify-content:space-between;
   padding:0.95rem 1.25rem;
   background-color:var(--ground);
   font-family:var(--depi-354);
   font-size:1.35rem;
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:var(--tracking-wide);
   color:var(--ink);
   min-height:44px;
   transition:background-color var(--dur-fast) var(--ease-ledger), color var(--dur-fast) var(--ease-ledger);
}


.drawer-link:hover {
   background-color:var(--surface);
   color:var(--ink);
}


.drawer-link:active {
   background-color:var(--surface-2);
}


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


.drawer-link[aria-current="page"] {
   background-color:var(--surface);
   color:var(--accent);
}


.drawer-meta {
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   color:var(--ink-soft);
   display:flex;
   flex-direction:column;
   gap:var(--space-2xs);
   padding:var(--space-sm) 0;
   border-top:var(--border-rule);
}


.btn {
   display:inline-flex;
   align-items:center;
   justify-content:center;
   gap:0.5rem;
   font-family:var(--depi-354);
   font-weight:700;
   font-size:1.1rem;
   letter-spacing:var(--tracking-wide);
   text-transform:uppercase;
   padding:0.75rem 1.65rem;
   min-height:44px;
   border-radius:var(--radius);
   text-decoration:none;
   cursor:pointer;
   border:1px solid transparent;
   line-height:1;
   transition:background-color var(--dur-fast) var(--ease-ledger), border-color var(--dur-fast) var(--ease-ledger), color var(--dur-fast) var(--ease-ledger), box-shadow var(--dur-fast) var(--ease-ledger);
}


.btn-primary {
   background-color:var(--accent);
   color:var(--accent-ink);
   border-color:var(--accent);
}


.btn-primary:hover {
   background-color:#8c520e;
   border-color:#8c520e;
   color:var(--accent-ink);
}


.btn-primary:active {
   background-color:#724209;
   border-color:#724209;
}


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


.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);
}


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


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


.btn-outline {
   background-color:transparent;
   color:var(--ink);
   border-color:var(--ink);
}


.btn-outline:hover {
   background-color:var(--ink);
   color:var(--ground);
}


.btn-outline:active {
   background-color:#171817;
}


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


.btn-sm {
   padding:0.45rem 1rem;
   font-size:0.95rem;
   min-height:38px;
}


.btn .icon {
   width:1.15rem;
   height:1.15rem;
}


.spec-table-wrap {
   width:100%;
   overflow-x:auto;
   border:var(--border-rule);
   background-color:var(--ground);
}


.spec-table {
   width:100%;
   border-collapse:collapse;
   text-align:left;
}


.spec-table th,
.spec-table td {
   padding:0.85rem 1.15rem;
   border-bottom:var(--border-rule);
   border-right:var(--border-rule);
   min-width:140px;
}


.spec-table th:last-child,
.spec-table td:last-child {
   border-right:0;
}


.spec-table tr:last-child td {
   border-bottom:0;
}


.spec-table th {
   background-color:var(--surface);
   font-family:var(--depi-354);
   font-size:1rem;
   font-weight:700;
   letter-spacing:var(--tracking-wide);
   text-transform:uppercase;
   color:var(--ink);
}


.spec-table td {
   font-size:var(--fs-base);
   color:var(--ink);
   background-color:var(--ground);
}


.spec-table tr:hover td {
   background-color:var(--surface);
}


.spec-table .rate-cell {
   font-family:var(--depi-678);
   font-size:var(--fs-md);
   font-weight:600;
   font-variant-numeric:tabular-nums;
   color:var(--ink);
}


.spec-table .rate-highlight {
   color:var(--accent);
   font-weight:700;
}


.form-group {
   display:flex;
   flex-direction:column;
   gap:0.35rem;
   width:100%;
}


.form-label {
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   font-weight:600;
   letter-spacing:var(--tracking-wide);
   text-transform:uppercase;
   color:var(--ink);
   display:flex;
   align-items:center;
   justify-content:space-between;
}


.form-label-optional {
   color:var(--ink-soft);
   font-weight:400;
}


.form-input,
.form-select,
.form-textarea {
   width:100%;
   background-color:var(--surface);
   border:var(--border-rule);
   border-radius:var(--radius);
   padding:0.75rem 0.95rem;
   color:var(--ink);
   font-size:var(--fs-base);
   min-height:44px;
   line-height:var(--lh-snug);
   transition:border-color var(--dur-fast) var(--ease-ledger), background-color var(--dur-fast) var(--ease-ledger), box-shadow var(--dur-fast) var(--ease-ledger);
}


@media (max-width: 48rem) {
   input, select, textarea,
   .form-input, .form-select, .form-textarea {
      font-size:max(16px, 1rem) !important;
   }
}


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


.form-input:active,
.form-select:active,
.form-textarea:active {
   background-color:var(--surface-2);
}


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


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


.form-checkbox-label {
   display:grid;
   grid-template-columns:1.25rem 1fr;
   gap:0.65rem;
   align-items:start;
   font-size:var(--fs-sm);
   color:var(--ink-soft);
   cursor:pointer;
   line-height:var(--lh-snug);
}


.form-checkbox {
   appearance:none;
   width:1.25rem;
   height:1.25rem;
   margin-top:0.1rem;
   border:var(--border-rule);
   border-radius:var(--radius);
   background-color:var(--surface);
   display:inline-grid;
   place-content:center;
   cursor:pointer;
   transition:background-color var(--dur-fast) var(--ease-ledger), border-color var(--dur-fast) var(--ease-ledger);
}


.form-checkbox:hover {
   background-color:var(--surface-2);
   border-color:var(--ink);
}


.form-checkbox:active {
   background-color:var(--line);
}


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


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


.form-checkbox:checked::before {
   content:"";
   width:0.55rem;
   height:0.55rem;
   background-color:var(--accent-ink);
   clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}


.form-error {
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   color:#8c261e;
   display:none;
   margin-top:0.25rem;
}


.form-group.has-error .form-input,
.form-group.has-error .form-select,
.form-group.has-error .form-textarea,
.form-group.has-error .form-checkbox {
   border-color:#8c261e;
   background-color:#f7ebea;
}


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


.form-status {
   padding:0.95rem 1.25rem;
   border:var(--border-rule);
   border-radius:var(--radius);
   font-family:var(--depi-678);
   font-size:var(--fs-sm);
   display:none;
}


.form-status.is-success {
   display:block;
   background-color:#e2ede0;
   border-color:#4a7545;
   color:#1e3b1b;
}


.form-status.is-error {
   display:block;
   background-color:#f7ebea;
   border-color:#8c261e;
   color:#63140e;
}


.cookie-dock {
   position:fixed;
   inset:auto 0 0 0;
   width:100%;
   background-color:var(--surface);
   border-top:var(--border-rule);
   padding:0.75rem var(--gutter);
   padding-bottom:calc(0.75rem + env(safe-area-inset-bottom));
   z-index:90;
   box-shadow:0 -4px 18px rgba(39, 42, 39, 0.08);
   display:none;
}


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


@media (max-width: 1023px) {
   .cookie-dock {
      bottom:var(--dock-height);
      padding-bottom:0.75rem;
   }
}


.cookie-dock-inner {
   max-width:var(--grid-max);
   margin-left:auto;
   margin-right:auto;
   display:flex;
   flex-wrap:wrap;
   align-items:center;
   justify-content:space-between;
   gap:var(--space-sm);
}


.cookie-dock-copy {
   font-size:var(--fs-xs);
   line-height:var(--lh-snug);
   color:var(--ink);
   max-width:62ch;
   margin:0;
}


.cookie-dock-copy a {
   text-decoration:underline;
   text-underline-offset:2px;
   color:var(--ink);
   font-weight:600;
}


.cookie-dock-copy a:hover {
   color:var(--accent);
}


.cookie-dock-actions {
   display:flex;
   align-items:center;
   gap:0.5rem;
   flex-shrink:0;
}


.chat-launcher {
   position:fixed;
   right:var(--gutter);
   bottom:calc(var(--dock-height) + 1rem);
   width:52px;
   height:52px;
   border-radius:var(--radius);
   background-color:var(--ink);
   color:var(--ground);
   border:var(--border-rule);
   display:inline-flex;
   align-items:center;
   justify-content:center;
   z-index:85;
   box-shadow:0 4px 12px rgba(39, 42, 39, 0.2);
   transition:background-color var(--dur-fast) var(--ease-ledger), transform var(--dur-fast) var(--ease-ledger), border-color var(--dur-fast) var(--ease-ledger);
}


@media (min-width: 1024px) {
   .chat-launcher {
      bottom:2rem;
   }
}


.cookie-dock.is-visible ~ .chat-launcher,
body:has(.cookie-dock.is-visible) .chat-launcher {
   bottom:calc(var(--dock-height) + 5.5rem);
}
@media (min-width: 1024px) {
   .cookie-dock.is-visible ~ .chat-launcher,
   body:has(.cookie-dock.is-visible) .chat-launcher {
      bottom:6rem;
   }
}


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


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


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


.chat-launcher .icon {
   width:1.45rem;
   height:1.45rem;
}


.chat-launcher-badge {
   position:absolute;
   top:-4px;
   right:-4px;
   width:18px;
   height:18px;
   background-color:var(--accent);
   color:var(--accent-ink);
   border-radius:50%;
   font-family:var(--depi-678);
   font-size:0.65rem;
   font-weight:700;
   display:none;
   place-content:center;
}


.chat-launcher-badge.is-unread {
   display:grid;
}


.chat-panel {
   position:fixed;
   right:var(--gutter);
   bottom:calc(var(--dock-height) + 4.75rem);
   width:min(380px, calc(100vw - (var(--gutter) * 2)));
   height:480px;
   max-height:calc(100vh - 120px);
   background-color:var(--ground);
   border:var(--border-rule);
   border-radius:var(--radius);
   z-index:86;
   box-shadow:0 12px 32px rgba(39, 42, 39, 0.25);
   display:flex;
   flex-direction:column;
   opacity:0;
   pointer-events:none;
   transform:translateY(12px);
   transition:opacity var(--dur-base) var(--ease-settle), transform var(--dur-base) var(--ease-settle);
}


@media (min-width: 1024px) {
   .chat-panel {
      bottom:5.75rem;
   }
}


.chat-panel.is-open {
   opacity:1;
   pointer-events:auto;
   transform:translateY(0);
}


.chat-header {
   padding:0.75rem 1rem;
   background-color:var(--surface);
   border-bottom:var(--border-rule);
   display:flex;
   align-items:center;
   justify-content:space-between;
}


.chat-title-group {
   display:flex;
   flex-direction:column;
}


.chat-title {
   font-family:var(--depi-354);
   font-size:1.15rem;
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:var(--tracking-wide);
   color:var(--ink);
   line-height:1;
}


.chat-status-indicator {
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   color:var(--ink-soft);
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   margin-top:0.2rem;
}


.chat-status-dot {
   width:6px;
   height:6px;
   border-radius:50%;
   background-color:#3b7b37;
}


.chat-close-btn {
   appearance:none;
   background:transparent;
   border:0;
   color:var(--ink-soft);
   width:36px;
   height:36px;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   border-radius:var(--radius);
   transition:background-color var(--dur-fast) var(--ease-ledger), color var(--dur-fast) var(--ease-ledger);
}


.chat-close-btn:hover {
   background-color:var(--surface-2);
   color:var(--ink);
}


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


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


.chat-body {
   flex:1 1 auto;
   overflow-y:auto;
   padding:0.95rem;
   display:flex;
   flex-direction:column;
   gap:0.65rem;
   background-color:var(--ground);
}


.chat-msg {
   max-width:82%;
   padding:0.6rem 0.85rem;
   font-size:var(--fs-sm);
   line-height:var(--lh-snug);
   border-radius:var(--radius);
   border:var(--border-rule);
}


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


.chat-msg-user {
   align-self:flex-end;
   background-color:var(--surface-2);
   color:var(--ink);
   border-color:var(--ink-soft);
}


.chat-first-form {
   display:flex;
   flex-direction:column;
   gap:0.5rem;
   padding:0.5rem;
   background-color:var(--surface);
   border:var(--border-rule);
   border-radius:var(--radius);
}


.chat-footer {
   padding:0.65rem 0.85rem;
   border-top:var(--border-rule);
   background-color:var(--surface);
   display:flex;
   gap:0.45rem;
}


.chat-input {
   flex:1 1 auto;
   background-color:var(--ground);
   border:var(--border-rule);
   border-radius:var(--radius);
   padding:0.55rem 0.75rem;
   font-size:16px;
   color:var(--ink);
}


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


.chat-send-btn {
   padding:0.55rem 0.85rem;
   background-color:var(--accent);
   color:var(--accent-ink);
   border-radius:var(--radius);
   border:0;
   display:inline-flex;
   align-items:center;
   justify-content:center;
   transition:background-color var(--dur-fast) var(--ease-ledger);
}


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


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


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


.site-footer {
   background-color:var(--surface);
   border-top:var(--border-rule);
   padding-top:var(--space-xl);
   padding-bottom:var(--space-xl);
   position:relative;
   z-index:10;
}


.footer-top-grid {
   display:grid;
   grid-template-columns:1fr;
   gap:var(--space-lg);
   padding-bottom:var(--space-lg);
   border-bottom:var(--border-rule);
}


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


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


.footer-brand-col img {
   height:3.5rem;
   width:auto;
   max-width:240px;
}


.footer-col-title {
   font-family:var(--depi-354);
   font-size:1.1rem;
   font-weight:700;
   text-transform:uppercase;
   letter-spacing:var(--tracking-wide);
   color:var(--ink);
   margin-bottom:var(--space-sm);
}


.footer-links-list {
   display:flex;
   flex-direction:column;
   gap:0.45rem;
}


.footer-link {
   font-size:var(--fs-sm);
   color:var(--ink-soft);
   text-decoration:none;
   transition:color var(--dur-fast) var(--ease-ledger);
   display:inline-flex;
   align-items:center;
   gap:0.35rem;
   min-height:44px;
}


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


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


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


.footer-link[aria-current="page"] {
   color:var(--ink);
   font-weight:600;
}


.footer-meta-block {
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   color:var(--ink-soft);
   display:flex;
   flex-direction:column;
   gap:0.35rem;
}


.footer-legal-bar {
   padding-top:var(--space-md);
   display:flex;
   flex-direction:column;
   gap:var(--space-sm);
}


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


.footer-legal-links {
   display:flex;
   flex-wrap:wrap;
   gap:var(--space-sm);
}


.footer-legal-link {
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   color:var(--ink-soft);
   text-decoration:none;
   transition:color var(--dur-fast) var(--ease-ledger);
   display:inline-flex;
   align-items:center;
   min-height:44px;
   padding:0.25rem 0.5rem;
}


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


.footer-legal-link:active {
   color:var(--ink);
}


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


.footer-consent-reopen {
   appearance:none;
   background:transparent;
   border:0;
   font-family:var(--depi-678);
   font-size:var(--fs-xs);
   color:var(--ink-soft);
   text-decoration:underline;
   cursor:pointer;
   padding:0.25rem 0.5rem;
   min-height:44px;
   display:inline-flex;
   align-items:center;
   transition:color var(--dur-fast) var(--ease-ledger);
}


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


.footer-consent-reopen:active {
   color:var(--ink);
}


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