

.site-header {
   position: sticky;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 1000;
   background-color: rgba(233, 237, 241, 0.94);
   backdrop-filter: blur(12px);
   -webkit-backdrop-filter: blur(12px);
   border-bottom: 1px solid var(--rule);
   transition: background-color var(--duration-base) var(--ease-editorial),
                     border-color var(--duration-base) var(--ease-editorial),
                     box-shadow var(--duration-base) var(--ease-editorial);
}


.site-header--scrolled {
   background-color: rgba(233, 237, 241, 0.98);
   box-shadow: 0 4px 18px rgba(20, 28, 36, 0.06);
   border-bottom-color: var(--rule-strong);
}


.site-header-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: var(--header-height);
   padding-top: var(--space-2xs);
   padding-bottom: var(--space-2xs);
   position: relative;
}


.brand {
   display: inline-flex;
   align-items: center;
   flex-shrink: 0;

   outline: none;
   transition: opacity var(--duration-fast) var(--ease-editorial);
}


.brand:hover {
   opacity: 0.85;
}


.brand:active {
   opacity: 0.72;
}


.brand:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
}


.brand img {
   height: 3.2rem;
   width: auto;
   max-width: none;
   object-fit: contain;
}


/* Right Nav Rail Pattern */
.nav-rail {
   display: flex;
   align-items: center;
   gap: var(--space-m);
}


.nav-links {
   display: flex;
   align-items: center;
   gap: var(--space-xs);
   margin: 0;
   padding: 0;
}


.nav-link {
   display: inline-flex;
   align-items: center;
   padding: 0.55rem 0.85rem;
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   font-weight: 500;
   color: var(--ink);
   line-height: 1.2;
   border: 1px solid transparent;
   border-radius: var(--radius-xs);
   position: relative;
   transition: color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial),
                     border-color var(--duration-fast) var(--ease-editorial);
}


.nav-link:hover {
   color: var(--accent);
   background-color: var(--surface-card);
   border-color: var(--rule-subtle);
}


.nav-link:active {
   color: var(--accent-active);
   background-color: var(--surface-tint);
   border-color: var(--rule);
}


.nav-link:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
}


.nav-link.is-active,
.nav-link[aria-current='page'] {
   color: var(--accent);
   font-weight: 600;
   border-bottom: 2px solid var(--accent);
   border-radius: 0;
}


.header-action {
   display: inline-flex;
   align-items: center;
   gap: 0.45rem;
   padding: 0.55rem 0.95rem;
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   letter-spacing: var(--tracking-mono);
   color: var(--ink);
   background-color: var(--surface);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   transition: color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial),
                     border-color var(--duration-fast) var(--ease-editorial),
                     box-shadow var(--duration-fast) var(--ease-editorial);
   white-space: nowrap;
}


.header-action:hover {
   color: var(--accent);
   background-color: var(--ground);
   border-color: var(--accent);
   box-shadow: 0 2px 6px rgba(27, 107, 120, 0.12);
}


.header-action:active {
   color: var(--accent-active);
   background-color: var(--surface-tint);
   border-color: var(--accent-active);
   box-shadow: none;
}


.header-action:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
}


.nav-toggle {
   display: none;
   align-items: center;
   justify-content: center;
   width: 44px;
   height: 44px;
   min-width: 44px;
   min-height: 44px;
   background-color: var(--surface);
   border: 1px solid var(--rule);
   border-radius: var(--radius-xs);
   color: var(--ink);
   cursor: pointer;
   transition: background-color var(--duration-fast) var(--ease-editorial),
                     border-color var(--duration-fast) var(--ease-editorial),
                     color var(--duration-fast) var(--ease-editorial);
}


.nav-toggle:hover {
   background-color: var(--surface-card);
   border-color: var(--rule-strong);
   color: var(--accent);
}


.nav-toggle:active {
   background-color: var(--surface-tint);
   border-color: var(--accent);
   color: var(--accent-active);
}


.nav-toggle:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
}


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


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


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


@media (max-width: 980px) {
   .nav-toggle {
      display: inline-flex;
   }


   .nav-rail {
      position: fixed;
      top: var(--header-height);
      right: 0;
      bottom: 0;
      width: min(85vw, 340px);
      background-color: var(--ground);
      border-left: 1px solid var(--rule);
      box-shadow: -10px 0 25px rgba(20, 28, 36, 0.08);
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      padding: var(--space-l);
      gap: var(--space-l);
      transform: translateX(105%);
      transition: transform var(--duration-base) var(--ease-editorial);
      overflow-y: auto;
      z-index: 999;
   }


   .nav-rail[data-open='true'],
   .nav-rail.is-open {
      transform: translateX(0);
   }


   .nav-links {
      flex-direction: column;
      align-items: stretch;
      gap: var(--space-2xs);
      width: 100%;
   }


   .nav-link {
      padding: 0.85rem var(--space-s);
      font-size: var(--vube-71e);
      border-bottom: 1px solid var(--rule-subtle);
   }


   .header-action {
      width: 100%;
      justify-content: center;
      padding: 0.85rem var(--space-s);
   }
}


.verb-section {
   position: relative;
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-3xl);
   border-bottom: 1px solid var(--rule);
}


.verb-section:last-of-type {
   border-bottom: none;
}


.verb-opener-block {
   margin-bottom: var(--space-l);
}


.verb-title {

   display: block;
   font-family: var(--vube-a6a);
   font-size: var(--step-verb);
   font-weight: 700;
   line-height: var(--leading-tight);
   letter-spacing: var(--tracking-tighter);
   color: var(--ink);
   margin-bottom: var(--space-xs);
   text-wrap: balance;
}


.verb-title .full-stop {
   color: var(--accent);
}


.verb-rule {
   display: block;
   width: 100%;
   height: 1px;
   background-color: var(--rule);
   margin-top: var(--space-xs);
   margin-bottom: var(--space-m);
}


.verb-reading-col {
   max-width: var(--measure-prose);
}


.verb-reading-col p {
   font-size: var(--vube-9dd);
   line-height: var(--leading-normal);
   color: var(--ink);
   margin-bottom: var(--space-s);
}


.verb-reading-col p.lead {
   font-size: var(--vube-71e);
   line-height: var(--leading-snug);
   color: var(--ink);
   font-style: italic;
   margin-bottom: var(--space-m);
}


.verb-meta {
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   color: var(--ink-muted);
   letter-spacing: var(--tracking-mono);
   margin-bottom: var(--space-xs);
   display: block;
}


.duotone-break {
   position: relative;
   width: 100vw;

   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
   background-color: #121A22;
   overflow: hidden;
   margin-top: var(--space-2xl);
   margin-bottom: var(--space-2xl);
   border-top: 1px solid #23313E;
   border-bottom: 1px solid #23313E;
}


.duotone-break__image {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   filter: grayscale(100%) contrast(125%) brightness(0.7);
   mix-blend-mode: luminosity;
   opacity: 0.35;
   transition: transform var(--duration-slow) var(--ease-editorial);
}


.duotone-break:hover .duotone-break__image {
   transform: scale(1.02);
}


.duotone-break__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(135deg, rgba(18, 26, 34, 0.94) 0%, rgba(27, 107, 120, 0.78) 100%);
   mix-blend-mode: multiply;
   pointer-events: none;
}


.duotone-break__content {
   position: relative;
   z-index: 2;
   padding-top: clamp(3.5rem, 8vw, 6rem);
   padding-bottom: clamp(3.5rem, 8vw, 6rem);
   color: #EDF3F7;
   max-width: var(--max-width);
   margin-left: auto;
   margin-right: auto;
   padding-left: var(--gutter);
   padding-right: var(--gutter);
}


.duotone-break__content h2,
.duotone-break__content .duotone-headline {
   color: #FFF;
   font-family: var(--vube-a6a);
   font-size: var(--vube-595);
   line-height: var(--leading-tight);
   letter-spacing: var(--tracking-tighter);
   margin-bottom: var(--space-m);
   max-width: 24ch;
}


.duotone-break__content p {
   color: #CAD5DF;
   font-size: var(--vube-71e);
   line-height: var(--leading-normal);
   max-width: var(--measure-prose);
   margin-bottom: var(--space-l);
}


.btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.5rem;
   padding: 0.75rem 1.4rem;
   min-height: 44px;
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   font-weight: 600;
   line-height: 1.2;
   text-align: center;
   border-radius: var(--radius-xs);
   cursor: pointer;
   white-space: normal;
   word-break: normal;
   border: 1px solid transparent;
   text-decoration: none;
   transition: background-color var(--duration-fast) var(--ease-editorial),
                     border-color var(--duration-fast) var(--ease-editorial),
                     color var(--duration-fast) var(--ease-editorial),
                     box-shadow var(--duration-fast) var(--ease-editorial),
                     transform var(--duration-fast) var(--ease-editorial);
}


.btn:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
}


/* Primary Button */
.btn-primary {
   background-color: var(--accent);
   color: #FFF;
   border-color: var(--accent);
   box-shadow: 0 2px 6px rgba(27, 107, 120, 0.2);
}


.btn-primary:hover {
   background-color: var(--accent-hover);
   border-color: var(--accent-hover);
   color: #FFF;
   transform: translateY(-1px);
   box-shadow: 0 4px 12px rgba(27, 107, 120, 0.28);
}


.btn-primary:active {
   background-color: var(--accent-active);
   border-color: var(--accent-active);
   color: #FFF;
   transform: translateY(0);
   box-shadow: 0 1px 3px rgba(27, 107, 120, 0.2);
}


.btn-secondary {
   background-color: var(--ink);
   color: #FFF;
   border-color: var(--ink);
   box-shadow: 0 2px 6px rgba(20, 28, 36, 0.15);
}


.btn-secondary:hover {
   background-color: #273442;
   border-color: #273442;
   color: #FFF;
   transform: translateY(-1px);
   box-shadow: 0 4px 12px rgba(20, 28, 36, 0.25);
}


.btn-secondary:active {
   background-color: #0E141A;
   border-color: #0E141A;
   color: #FFF;
   transform: translateY(0);
   box-shadow: 0 1px 3px rgba(20, 28, 36, 0.15);
}


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


.btn-outline:hover {
   background-color: var(--surface-card);
   border-color: var(--accent);
   color: var(--accent);
   transform: translateY(-1px);
}


.btn-outline:active {
   background-color: var(--surface-tint);
   border-color: var(--accent-active);
   color: var(--accent-active);
   transform: translateY(0);
}


/* Cookie banner specific button adjustments */
.cookie-banner .btn-outline {
   color: #EDF2F7;
   border-color: #4A5C6D;
   background-color: rgba(255, 255, 255, 0.05);
}


.cookie-banner .btn-outline:hover {
   background-color: rgba(255, 255, 255, 0.12);
   border-color: var(--accent-ice);
   color: #FFF;
}


.cookie-banner .btn-outline:active {
   background-color: rgba(255, 255, 255, 0.2);
   border-color: #FFF;
   color: #FFF;
}


/* Ghost / Text Button */
.btn-text {
   background-color: transparent;
   color: var(--accent);
   border-color: transparent;
   padding-left: 0.25rem;
   padding-right: 0.25rem;
   font-weight: 600;
}


.btn-text:hover {
   color: var(--accent-hover);
   background-color: var(--accent-tint);
   border-color: transparent;
}


.btn-text:active {
   color: var(--accent-active);
   background-color: var(--accent-tint-strong);
   border-color: transparent;
}


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


.btn-lg {
   min-height: 52px;
   padding: 0.95rem 1.85rem;
   font-size: var(--vube-71e);
}


.services-ledger {
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
   width: 100%;
}


.service-row {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--space-s);
   padding: var(--space-m) var(--space-l);
   background-color: var(--surface);
   border: 1px solid var(--rule);
   border-radius: var(--radius-xs);
   transition: border-color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial),
                     box-shadow var(--duration-fast) var(--ease-editorial);
}


@media (min-width: 768px) {
   .service-row {
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
      align-items: center;
      gap: var(--space-l);
   }
}


.service-row:hover {
   background-color: var(--surface-card);
   border-color: var(--accent-border);
   box-shadow: 0 4px 16px rgba(20, 28, 36, 0.05);
}


.service-row:focus-within {
   border-color: var(--accent);
}


.service-heading {
   margin: 0;
}


.service-name {
   font-family: var(--vube-a6a);
   font-size: var(--vube-93f);
   font-weight: 600;
   color: var(--ink);
   line-height: var(--leading-tight);
   margin-bottom: 0.25rem;
}


.service-basis {
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   color: var(--ink-muted);
   letter-spacing: var(--tracking-mono);
}


.service-desc {
   font-size: var(--vube-9dd);
   color: var(--ink);
   line-height: var(--leading-normal);
   margin: 0;
}


.service-pricing-box {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 0.25rem;
}


@media (min-width: 768px) {
   .service-pricing-box {
      align-items: flex-end;
      text-align: right;
   }
}


.price-figure {
   font-family: var(--vube-8e1);
   font-size: var(--vube-93f);
   font-weight: 500;
   color: var(--ink);
   line-height: 1;
}


.price-currency {
   font-size: var(--step--1);
   color: var(--ink-muted);
   font-weight: 400;
}


.service-duration-badge {
   display: inline-flex;
   align-items: center;
   gap: 0.35rem;
   font-family: var(--vube-8e1);
   font-size: var(--step--2);
   color: var(--ink-muted);
   background-color: var(--ground);
   padding: 0.2rem 0.5rem;
   border: 1px solid var(--rule);
   border-radius: var(--radius-xs);
}


/* Hover-Follow Image Preview (Fine Pointers Only) */
.hover-preview-link {
   position: relative;
   cursor: pointer;
   text-decoration: underline;
   text-decoration-thickness: 1px;
   text-underline-offset: 3px;
   text-decoration-color: var(--rule-strong);
   transition: text-decoration-color var(--duration-fast) var(--ease-editorial),
                     color var(--duration-fast) var(--ease-editorial);
}


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


.hover-preview-container {
   position: fixed;
   pointer-events: none;
   z-index: 9999;
   width: 240px;
   height: 160px;
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   overflow: hidden;
   box-shadow: 0 12px 32px rgba(20, 28, 36, 0.2);
   opacity: 0;
   transform: translate(-50%, -120%) scale(0.95);
   transition: opacity 160ms var(--ease-editorial),
                     transform 160ms var(--ease-editorial);
   background-color: var(--ink);
}


.hover-preview-container.is-visible {
   opacity: 1;
   transform: translate(-50%, -120%) scale(1);
}


.hover-preview-container img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}


@media (pointer: coarse), (hover: none) {
   .hover-preview-container {
      display: none !important;
   }
}


.calculator-panel {
   background-color: var(--surface);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   padding: clamp(1.5rem, 3.5vw, 2.75rem);
   box-shadow: var(--shadow-editorial);
   margin-top: var(--space-l);
   margin-bottom: var(--space-l);
}


.calculator-grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--space-xl);
}


@media (min-width: 900px) {
   .calculator-grid {
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
      align-items: start;
   }
}


.calc-field-group {
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
}


.calc-field {
   display: flex;
   flex-direction: column;
   gap: 0.4rem;
}


.calc-label {
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   font-weight: 600;
   color: var(--ink);
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-items: baseline;
   gap: 0.25rem 0.5rem;
}


.calc-label-title {
   flex: 1 1 auto;
}


.calc-label-meta {
   font-family: var(--vube-8e1);
   font-size: var(--step--2);
   color: var(--ink-muted);
   flex-shrink: 0;
}


.calc-select,
.calc-input {
   width: 100%;
   min-height: 44px;
   padding: 0.65rem 0.85rem;
   background-color: var(--ground);
   color: var(--ink);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   transition: border-color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial),
                     box-shadow var(--duration-fast) var(--ease-editorial);
}


.calc-select:hover,
.calc-input:hover {
   border-color: var(--accent);
   background-color: #FFF;
}


.calc-select:focus-visible,
.calc-input:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
   border-color: var(--accent);
   background-color: #FFF;
}


.calc-summary-card {
   background-color: var(--ground);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   padding: var(--space-l);
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
}


.calc-output-block {
   border-bottom: 1px solid var(--rule);
   padding-bottom: var(--space-m);
}


.calc-output-label {
   font-family: var(--vube-8e1);
   font-size: var(--step--2);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: var(--ink-muted);
   display: block;
   margin-bottom: 0.35rem;
}


.calc-output-metric {
   font-family: var(--vube-8e1);
   font-size: var(--vube-595);
   font-weight: 500;
   color: var(--ink);
   line-height: 1.1;
   letter-spacing: var(--tracking-mono);
}


.calc-output-note {
   font-size: var(--vube-9dd);
   color: var(--ink);
   margin-top: 0.35rem;
   line-height: var(--leading-snug);
}


.calc-disclaimer {
   font-size: var(--step--1);
   color: var(--ink-muted);
   line-height: var(--leading-normal);
   border-top: 1px solid var(--rule-subtle);
   padding-top: var(--space-s);
}


.inquiry-form {
   background-color: var(--surface);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   padding: clamp(1.5rem, 4vw, 3rem);
   box-shadow: var(--shadow-editorial);
   width: 100%;
}


.form-grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--space-m);
}


@media (min-width: 680px) {
   .form-grid--split {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}


.form-group {
   display: flex;
   flex-direction: column;
   gap: 0.35rem;
   position: relative;
}


.form-label {
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   font-weight: 600;
   color: var(--ink);
}


.form-label-optional {
   font-family: var(--vube-8e1);
   font-size: var(--step--2);
   color: var(--ink-muted);
   font-weight: 400;
   margin-left: 0.35rem;
}


.form-input,
.form-select,
.form-textarea {
   width: 100%;
   min-height: 46px;
   padding: 0.75rem 0.95rem;
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   line-height: 1.4;
   color: var(--ink);
   background-color: var(--ground);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   transition: border-color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial),
                     box-shadow var(--duration-fast) var(--ease-editorial);
}


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


.form-input:hover,
.form-select:hover,
.form-textarea:hover {
   border-color: var(--accent);
   background-color: #FFF;
}


.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
   border-color: var(--accent);
   background-color: #FFF;
}


.form-group.has-error .form-input,
.form-group.has-error .form-select,
.form-group.has-error .form-textarea,
.form-input.is-invalid {
   border-color: var(--error);
   background-color: var(--error-bg);
}


.form-error-msg {
   font-family: var(--vube-8e1);
   font-size: var(--step--2);
   color: var(--error);
   margin-top: 0.2rem;
   display: none;
}


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


.consent-checkbox-wrap {
   display: flex;
   align-items: flex-start;
   gap: 0.75rem;
   margin-top: var(--space-xs);
}


.consent-checkbox-wrap input[type='checkbox'] {
   width: 20px;
   height: 20px;
   min-width: 20px;
   min-height: 20px;
   margin-top: 0.2rem;
   accent-color: var(--accent);
   cursor: pointer;
}


.consent-checkbox-wrap input[type='checkbox']:focus-visible {
   outline: var(--focus-outline);
   outline-offset: 2px;
}


.consent-label {
   font-size: var(--step--1);
   color: var(--ink);
   line-height: var(--leading-snug);
   cursor: pointer;
}


.form-status-box {
   padding: var(--space-m);
   border-radius: var(--radius-xs);
   margin-top: var(--space-m);
   font-size: var(--vube-9dd);
   display: none;
}


.form-status-box.is-success {
   display: block;
   background-color: var(--success-bg);
   border: 1px solid var(--success-border);
   color: var(--success);
}


.form-status-box.is-error {
   display: block;
   background-color: var(--error-bg);
   border: 1px solid var(--error-border);
   color: var(--error);
}


/* Privacy: At-a-Glance Panel */
.glance-panel {
   background-color: var(--surface);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   padding: var(--space-l);
   margin-bottom: var(--space-2xl);
   box-shadow: var(--shadow-editorial);
}


.glance-table {
   width: 100%;
   border-collapse: collapse;
}


.glance-table tr {
   border-bottom: 1px solid var(--rule);
}


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


.glance-table th {
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   letter-spacing: var(--tracking-mono);
   color: var(--ink);
   text-align: left;
   padding: var(--space-s) var(--space-s) var(--space-s) 0;
   vertical-align: top;
   width: 32%;
}


.glance-table td {
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   color: var(--ink);
   padding: var(--space-s) 0;
   vertical-align: top;
}


@media (max-width: 640px) {
   .glance-table,
   .glance-table tbody,
   .glance-table tr,
   .glance-table th,
   .glance-table td {
      display: block;
      width: 100%;
   }


   .glance-table tr {
      padding: var(--space-s) 0;
   }


   .glance-table th {
      padding-bottom: 0.2rem;
   }


   .glance-table td {
      padding-top: 0;
   }
}


/* Cookies: Sticky Section Index */
.cookie-layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--space-xl);
}


@media (min-width: 960px) {
   .cookie-layout {
      grid-template-columns: 240px minmax(0, 1fr);
      align-items: start;
   }
}


.sticky-index-wrap {
   position: sticky;
   top: calc(var(--header-height) + 1.5rem);
   background-color: var(--surface);
   border: 1px solid var(--rule);
   border-radius: var(--radius-xs);
   padding: var(--space-m);
}


.sticky-index-list {
   display: flex;
   flex-direction: column;
   gap: 0.35rem;
}


.sticky-index-link {
   display: flex;
   align-items: center;
   gap: 0.5rem;
   padding: 0.45rem 0.65rem;
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   color: var(--ink-muted);
   border-left: 2px solid transparent;
   transition: color var(--duration-fast) var(--ease-editorial),
                     border-color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial);
}


.sticky-index-link:hover {
   color: var(--ink);
   background-color: var(--surface-card);
   border-left-color: var(--rule-strong);
}


.sticky-index-link.is-current {
   color: var(--accent);
   border-left-color: var(--accent);
   font-weight: 600;
   background-color: var(--ground);
}


.sticky-index-link:focus-visible {
   outline: var(--focus-outline);
   outline-offset: 2px;
}


.jump-nav-mobile {
   display: none;
   width: 100%;
   margin-bottom: var(--space-l);
}


@media (max-width: 959px) {
   .sticky-index-wrap {
      display: none;
   }


   .jump-nav-mobile {
      display: block;
   }
}


.clause-ledger-table {
   width: 100%;
   border-collapse: collapse;
   background-color: var(--surface);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   margin-top: var(--space-l);
   margin-bottom: var(--space-xl);
}


.clause-ledger-table th {
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   letter-spacing: var(--tracking-mono);
   color: var(--ink);
   background-color: var(--surface-card);
   padding: var(--space-m);
   border-bottom: 1px solid var(--rule-strong);
   text-align: left;
}


.clause-ledger-table td {
   padding: var(--space-m);
   border-bottom: 1px solid var(--rule);
   vertical-align: top;
   font-size: var(--vube-9dd);
   line-height: var(--leading-normal);
}


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


.clause-num {
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   color: var(--accent);
   font-weight: 600;
   white-space: nowrap;
}


@media (max-width: 768px) {
   .clause-ledger-table,
   .clause-ledger-table thead,
   .clause-ledger-table tbody,
   .clause-ledger-table th,
   .clause-ledger-table td,
   .clause-ledger-table tr {
      display: block;
      width: 100%;
   }


   .clause-ledger-table thead {
      display: none;
   }


   .clause-ledger-table tr {
      border-bottom: 1px solid var(--rule-strong);
      padding: var(--space-m);
   }


   .clause-ledger-table td {
      padding: 0.4rem 0;
      border: none;
   }


   .clause-ledger-table td::before {
      content: attr(data-label);
      display: block;
      font-family: var(--vube-8e1);
      font-size: var(--step--2);
      text-transform: uppercase;
      letter-spacing: var(--tracking-wider);
      color: var(--ink-muted);
      margin-bottom: 0.2rem;
   }
}


.site-footer {
   background-color: #141C24;
   color: #CAD5DF;
   border-top: 1px solid #23313E;
   padding-top: var(--space-3xl);
   padding-bottom: var(--space-2xl);
   margin-top: var(--space-4xl);
}


.footer-top {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: var(--space-xl);
   padding-bottom: var(--space-2xl);
   border-bottom: 1px solid #23313E;
}


@media (min-width: 900px) {
   .footer-top {
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
      align-items: start;
   }
}


.footer-brand img {
   height: 3.6rem;
   width: auto;
   max-width: none;
   object-fit: contain;
   margin-bottom: var(--space-m);
}


.footer-desc {
   font-size: var(--vube-9dd);
   line-height: var(--leading-normal);
   color: #A3B3C2;
   max-width: 36ch;
}


.footer-heading {
   font-family: var(--vube-8e1);
   font-size: var(--step--1);
   text-transform: uppercase;
   letter-spacing: var(--tracking-wider);
   color: #EDF2F7;
   margin-bottom: var(--space-m);
}


.footer-contact-list {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   font-size: var(--vube-9dd);
}


.footer-contact-item {
   display: flex;
   align-items: flex-start;
   gap: 0.5rem;
   color: #CAD5DF;
}


.footer-contact-item a {
   color: #EDF2F7;
   text-decoration: underline;
   text-decoration-color: #4A5C6D;
   text-underline-offset: 3px;
   transition: color var(--duration-fast) var(--ease-editorial),
                     text-decoration-color var(--duration-fast) var(--ease-editorial);
}


.footer-contact-item a:hover {
   color: var(--accent-ice);
   text-decoration-color: var(--accent-ice);
}


.footer-contact-item a:active {
   color: #FFF;
}


.footer-contact-item a:focus-visible {
   outline: var(--focus-outline);
   outline-offset: 2px;
}


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


.footer-nav-link {
   color: #CAD5DF;
   padding: 0.2rem 0;
   display: inline-block;
   transition: color var(--duration-fast) var(--ease-editorial);
}


.footer-nav-link:hover {
   color: #FFF;
}


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


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


.footer-legal-row {
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
   padding-top: var(--space-xl);
   font-size: var(--step--1);
   color: #7D8F9F;
}


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


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


.footer-legal-link {
   color: #98AAB8;
   transition: color var(--duration-fast) var(--ease-editorial);
}


.footer-legal-link:hover {
   color: #EDF2F7;
}


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


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


.consent-reopen-btn {
   background: transparent;
   border: 1px solid #374756;
   color: #CAD5DF;
   font-family: var(--vube-8e1);
   font-size: var(--step--2);
   padding: 0.35rem 0.65rem;
   border-radius: var(--radius-xs);
   cursor: pointer;
   transition: color var(--duration-fast) var(--ease-editorial),
                     border-color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial);
}


.consent-reopen-btn:hover {
   color: #FFF;
   border-color: #86B3BD;
   background-color: rgba(134, 179, 189, 0.15);
}


.consent-reopen-btn:active {
   color: var(--accent-ice);
   border-color: var(--accent-ice);
   background-color: rgba(134, 179, 189, 0.25);
}


.cookie-section-block .consent-reopen-btn,
.verb-section .consent-reopen-btn {
   background-color: var(--surface);
   color: var(--ink);
   border-color: var(--rule-strong);
   display: inline-block;
   vertical-align: baseline;
}


.cookie-section-block .consent-reopen-btn:hover,
.verb-section .consent-reopen-btn:hover {
   background-color: var(--surface-card);
   color: var(--accent);
   border-color: var(--accent);
}


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


/* Compact Cookie Banner Docked to Bottom */
.cookie-banner {
   position: fixed;
   bottom: 0;
   left: 0;
   width: 100%;
   z-index: 9000;
   background-color: #141C24;
   color: #EDF2F7;
   border-top: 1px solid #23313E;
   box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
   padding: 0.75rem var(--gutter);
}


.cookie-banner-inner {
   max-width: var(--max-width);
   margin-left: auto;
   margin-right: auto;
   display: flex;
   flex-direction: column;
   gap: 0.65rem;
   align-items: stretch;
}


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


.cookie-banner-text {
   font-size: var(--step--1);
   line-height: 1.4;
   color: #CAD5DF;
   margin: 0;
}


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


.cookie-banner-text a:hover {
   color: #FFF;
}


.cookie-banner-text a:focus-visible {
   outline: var(--focus-outline);
   outline-offset: 2px;
}


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


.cookie-banner[hidden] {
   display: none !important;
}


.chat-widget {
   position: fixed;
   bottom: var(--space-l);
   right: var(--space-l);
   z-index: 8500;
}


/* Step up when cookie banner is open */
body.cookie-banner-open .chat-widget {
   bottom: calc(var(--space-l) + 5rem);
}


@media (max-width: 600px) {
   .chat-widget {
      bottom: var(--space-s);
      right: var(--space-s);
   }


   body.cookie-banner-open .chat-widget {
      bottom: calc(var(--space-s) + 5.5rem);
   }
}


.chat-launcher {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.5rem;
   padding: 0.75rem 1.15rem;
   min-height: 48px;
   background-color: var(--accent);
   color: #FFF;
   border: 1px solid var(--accent);
   border-radius: var(--radius-xs);
   cursor: pointer;
   box-shadow: 0 4px 16px rgba(20, 28, 36, 0.22);
   font-family: var(--vube-24d);
   font-size: var(--vube-9dd);
   font-weight: 600;
   transition: background-color var(--duration-fast) var(--ease-editorial),
                     border-color var(--duration-fast) var(--ease-editorial),
                     color var(--duration-fast) var(--ease-editorial),
                     box-shadow var(--duration-fast) var(--ease-editorial),
                     transform var(--duration-fast) var(--ease-editorial);
}


.chat-launcher:hover {
   background-color: var(--accent-hover);
   border-color: var(--accent-hover);
   transform: translateY(-2px);
   box-shadow: 0 8px 24px rgba(20, 28, 36, 0.28);
}


.chat-launcher:active {
   background-color: var(--accent-active);
   border-color: var(--accent-active);
   transform: translateY(0);
   box-shadow: 0 2px 8px rgba(20, 28, 36, 0.2);
}


.chat-launcher:focus-visible {
   outline: var(--focus-outline);
   outline-offset: var(--focus-offset);
}


.chat-badge {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 18px;
   height: 18px;
   padding: 0 4px;
   background-color: var(--error);
   color: #FFF;
   font-family: var(--vube-8e1);
   font-size: 0.7rem;
   font-weight: 700;
   border-radius: 999px;
   line-height: 1;
}


.chat-panel {
   position: fixed;
   bottom: calc(var(--space-l) + 56px);
   right: var(--space-l);
   width: min(92vw, 380px);
   max-height: min(80vh, 560px);
   background-color: var(--ground);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   box-shadow: var(--shadow-overlay);
   display: flex;
   flex-direction: column;
   z-index: 9100;
   overflow: hidden;
   transition: opacity var(--duration-fast) var(--ease-editorial),
                     transform var(--duration-fast) var(--ease-editorial);
}


@media (max-width: 600px) {
   .chat-panel {
      right: 4vw;
      left: 4vw;
      width: 92vw;
      bottom: calc(var(--space-s) + 56px);
   }
}


.chat-panel[hidden] {
   display: none !important;
}


.chat-panel-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: var(--space-s) var(--space-m);
   background-color: #141C24;
   color: #FFF;
   border-bottom: 1px solid #23313E;
}


.chat-panel-title {
   font-family: var(--vube-a6a);
   font-size: var(--vube-71e);
   font-weight: 600;
   margin: 0;
   color: #FFF;
}


.chat-close-btn {
   background: transparent;
   border: none;
   color: #CAD5DF;
   width: 36px;
   height: 36px;
   min-width: 36px;
   min-height: 36px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   border-radius: var(--radius-xs);
   transition: color var(--duration-fast) var(--ease-editorial),
                     background-color var(--duration-fast) var(--ease-editorial);
}


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


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


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


.chat-messages {
   flex: 1;
   overflow-y: auto;
   padding: var(--space-m);
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   background-color: var(--surface-subtle);
   min-height: 220px;
}


.chat-bubble {
   max-width: 82%;
   padding: 0.65rem 0.85rem;
   border-radius: var(--radius-xs);
   font-size: var(--step--1);
   line-height: 1.4;
}


.chat-bubble--studio {
   align-self: flex-start;
   background-color: var(--surface-card);
   border: 1px solid var(--rule);
   color: var(--ink);
}


.chat-bubble--visitor {
   align-self: flex-end;
   background-color: var(--accent);
   color: #FFF;
}


.chat-bubble-time {
   display: block;
   font-family: var(--vube-8e1);
   font-size: 0.7rem;
   margin-top: 0.25rem;
   opacity: 0.75;
}


.chat-input-bar {
   display: flex;
   gap: 0.5rem;
   padding: var(--space-s);
   background-color: var(--surface);
   border-top: 1px solid var(--rule);
}


.chat-input-field {
   flex: 1;
   min-height: 40px;
   padding: 0.5rem 0.75rem;
   font-size: var(--step--1);
   background-color: var(--ground);
   border: 1px solid var(--rule-strong);
   border-radius: var(--radius-xs);
   color: var(--ink);
}


.chat-input-field:focus-visible {
   outline: var(--focus-outline);
   outline-offset: 2px;
   background-color: #FFF;
}


.chat-send-btn {
   min-height: 40px;
   padding: 0.5rem 0.9rem;
   font-size: var(--step--1);
}


.chat-intake {
   padding: var(--space-m);
   background-color: var(--surface);
   border-top: 1px solid var(--rule);
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}


.accordion {
   border-top: 1px solid var(--rule);
   margin-top: var(--space-l);
   margin-bottom: var(--space-l);
}


.accordion-item {
   border-bottom: 1px solid var(--rule);
}


.accordion-trigger {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: var(--space-m) 0;
   background: transparent;
   border: none;
   font-family: var(--vube-a6a);
   font-size: var(--vube-93f);
   font-weight: 600;
   color: var(--ink);
   text-align: left;
   cursor: pointer;
   transition: color var(--duration-fast) var(--ease-editorial);
}


.accordion-trigger:hover {
   color: var(--accent);
}


.accordion-trigger:active {
   color: var(--accent-active);
}


.accordion-trigger:focus-visible {
   outline: var(--focus-outline);
   outline-offset: 4px;
}


.accordion-trigger .icon {
   transition: transform var(--duration-fast) var(--ease-editorial);
}


.accordion-trigger[aria-expanded='true'] .icon {
   transform: rotate(180deg);
}


.accordion-panel {
   padding-bottom: var(--space-m);
   font-size: var(--vube-9dd);
   line-height: var(--leading-normal);
   color: var(--ink);
}


.accordion-panel[hidden] {
   display: none;
}
