.hero-section {
  position:relative;
  padding-top:clamp(2.5rem, 6vw, 5.5rem);
  padding-bottom:clamp(3rem, 7vw, 6.5rem);
  border-bottom:1px solid var(--rule);
}

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

@media (min-width: 960px) {
  .hero-grid {
    grid-template-columns:minmax(0, 1.85fr) minmax(0, 1.15fr);
    gap:clamp(2.5rem, 5vw, 5rem);
  }
}

.hero-content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

.hero-verb-lead {
  display:block;
  font-family:var(--vube-a6a);
  font-size:clamp(3.2rem, 2.5rem + 4.5vw, 6.2rem);
  font-weight:700;
  line-height:0.98;
  letter-spacing:var(--tracking-tighter);
  color:var(--ink);
  margin-bottom:var(--space-s);
  text-wrap:balance;
  overflow-wrap:break-word;
}

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

.hero-headline {
  font-family:var(--vube-a6a);
  font-size:var(--vube-595);
  font-weight:600;
  line-height:var(--leading-tight);
  letter-spacing:var(--tracking-tight);
  color:var(--ink);
  margin-bottom:var(--space-m);
  max-width:28ch;
  text-wrap:balance;
  overflow-wrap:break-word;
}

.hero-headline[data-split] {
  visibility:visible;
  opacity:1;
}

.hero-standfirst {
  font-family:var(--vube-24d);
  font-size:var(--vube-71e);
  line-height:var(--leading-snug);
  color:var(--ink);
  max-width:var(--measure-prose);
  margin-bottom:var(--space-l);
}

.hero-meta-bar {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-xs) var(--space-m);
  align-items:center;
  padding:var(--space-xs) var(--space-s);
  background-color:var(--surface);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  margin-bottom:var(--space-xl);
  width:100%;
}

.hero-meta-item {
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  letter-spacing:var(--tracking-mono);
  color:var(--ink-muted);
}

.hero-meta-item strong {
  color:var(--ink);
  font-weight:500;
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-s);
  align-items:center;
  margin-bottom:var(--space-m);
}

.hero-aside {
  display:flex;
  flex-direction:column;
  gap:var(--space-m);
  min-width:0;
}

.hero-aside-card {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:var(--space-l);
  box-shadow:var(--shadow-editorial);
}

.hero-aside-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-93f);
  font-weight:600;
  color:var(--ink);
  margin-bottom:var(--space-xs);
}

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

.hero-aside-prose {
  font-size:var(--vube-9dd);
  line-height:var(--leading-normal);
  color:var(--ink);
  margin-bottom:var(--space-m);
}

.hero-aside-specs {
  display:flex;
  flex-direction:column;
  gap:0.6rem;
  border-top:1px solid var(--rule);
  padding-top:var(--space-m);
}

.hero-spec-row {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:var(--step--1);
}

.hero-spec-key {
  font-family:var(--vube-8e1);
  color:var(--ink-muted);
  letter-spacing:var(--tracking-mono);
}

.hero-spec-val {
  font-family:var(--vube-8e1);
  font-weight:500;
  color:var(--ink);
  text-align:right;
}

.layout-split-2-1 {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--space-xl);
  align-items:start;
}

@media (min-width: 900px) {
  .layout-split-2-1 {

    grid-template-columns:minmax(0, 1.8fr) minmax(0, 1.2fr);
    gap:clamp(2rem, 4.5vw, 4.5rem);
  }
}

.layout-split-1-2 {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--space-xl);
  align-items:start;
}

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

.offcenter-primary {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.offcenter-secondary {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:var(--space-m);
}

.editorial-callout {
  background-color:var(--ground);
  border-left:3px solid var(--accent);
  padding:var(--space-m) var(--space-l);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  border-right:1px solid var(--rule);
  border-radius:var(--radius-none);
  margin-top:var(--space-m);
  margin-bottom:var(--space-m);
}

.editorial-callout-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-71e);
  font-weight:600;
  color:var(--ink);
  margin-bottom:0.35rem;
}

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

.page-intro-band {
  padding-top:clamp(2.5rem, 5vw, 4.5rem);
  padding-bottom:clamp(2rem, 4vw, 3.5rem);
  border-bottom:1px solid var(--rule);
}

.page-intro-verb {
  font-family:var(--vube-a6a);
  font-size:var(--step-verb);
  font-weight:700;
  line-height:1;
  letter-spacing:var(--tracking-tighter);
  color:var(--ink);
  margin-bottom:var(--space-xs);
  text-wrap:balance;
  overflow-wrap:break-word;
}

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

.page-intro-lead {
  font-family:var(--vube-24d);
  font-size:var(--vube-71e);
  line-height:var(--leading-snug);
  color:var(--ink);
  max-width:var(--measure-prose);
  margin-top:var(--space-s);
}

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

.rate-summary-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--space-m);
  margin-top:var(--space-l);
  margin-bottom:var(--space-xl);
  width:100%;
}

@media (min-width: 680px) {
  .rate-summary-grid {

    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1080px) {
  .rate-summary-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

.rate-summary-card {
  background-color:var(--surface);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:border-color var(--duration-fast) var(--ease-editorial),
              background-color var(--duration-fast) var(--ease-editorial),
              transform var(--duration-fast) var(--ease-editorial);
}

.rate-summary-card:hover {
  background-color:var(--surface-card);
  border-color:var(--accent-border);
  transform:translateY(-2px);
}

.rate-summary-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-71e);
  font-weight:600;
  color:var(--ink);
  margin-bottom:0.25rem;
}

.rate-summary-time {
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  color:var(--ink-muted);
  letter-spacing:var(--tracking-mono);
  margin-bottom:var(--space-s);
}

.rate-summary-price {
  font-family:var(--vube-8e1);
  font-size:var(--vube-5b2);

  font-weight:500;
  color:var(--ink);
  line-height:1;
  margin-top:auto;
}

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

.signature-duotone-wrapper {
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  background-color:#121a22;
  overflow:hidden;
  margin-top:var(--space-3xl);
  margin-bottom:var(--space-3xl);
  border-top:1px solid #23313e;
  border-bottom:1px solid #23313e;
}

.signature-duotone-img {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(100%) contrast(125%) brightness(0.65);
  mix-blend-mode:luminosity;
  opacity:0.36;
}

@media (max-width: 600px) {
  .signature-duotone-wrapper {
    display:flex;
    flex-direction:column;
  }

  .signature-duotone-wrapper picture {
    display:block;
    width:100%;
    aspect-ratio:3 / 2;
    position:relative;
    overflow:hidden;
  }

  .signature-duotone-wrapper .signature-duotone-img {
    position:relative;
    width:100%;
    height:100%;
    aspect-ratio:3 / 2;
    object-fit:cover;
  }

  .signature-duotone-wrapper .signature-duotone-tint {
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:calc(100vw * 2 / 3);
  }

  .signature-duotone-wrapper .signature-duotone-inner {
    padding-top:var(--space-l);
    padding-bottom:var(--space-l);
  }
}

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

.signature-duotone-inner {
  position:relative;
  z-index:2;
  padding-top:clamp(4rem, 9vw, 7rem);
  padding-bottom:clamp(4rem, 9vw, 7rem);
  color:#edf3f7;
  max-width:var(--max-width);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}

.signature-duotone-tag {
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--accent-ice);
  display:block;
  margin-bottom:var(--space-xs);
}

.signature-duotone-wrapper {
  background-color:#121a22 !important;
  color:#edf3f7;
}

.signature-duotone-title {
  color:#fff;
  text-shadow:0 2px 8px rgba(18, 26, 34, 0.8);
  font-family:var(--vube-a6a);
  font-size:clamp(2.2rem, 1.8rem + 2vw, 3.8rem);
  font-weight:700;
  line-height:var(--leading-tight);
  letter-spacing:var(--tracking-tighter);
  margin-bottom:var(--space-m);
  max-width:24ch;
  text-wrap:balance;
  overflow-wrap:break-word;
}

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

.signature-duotone-facts {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-m) var(--space-xl);
  border-top:1px solid rgba(202, 213, 223, 0.2);
  padding-top:var(--space-m);
}

.signature-fact-item {
  display:flex;
  flex-direction:column;
  gap:0.2rem;
}

.signature-fact-num {
  font-family:var(--vube-8e1);
  font-size:var(--vube-93f);
  font-weight:500;
  color:#fff;
}

.signature-fact-label {
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--accent-ice);
}

.treatment-detail-list {
  display:flex;
  flex-direction:column;
  gap:var(--space-l);
  width:100%;
}

.treatment-card {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:clamp(1.25rem, 3vw, 2.25rem);
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--space-m);
  box-shadow:var(--shadow-editorial);
}

@media (min-width: 860px) {
  .treatment-card {
    grid-template-columns:minmax(0, 1.7fr) minmax(0, 1fr);
    align-items:start;
    gap:var(--space-xl);
  }
}

.treatment-info {
  display:flex;
  flex-direction:column;
  gap:var(--space-2xs);
}

.treatment-name {
  font-family:var(--vube-a6a);
  font-size:var(--vube-5b2);
  font-weight:600;
  color:var(--ink);
  line-height:var(--leading-tight);
}

.treatment-meta-line {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2xs) var(--space-m);
  align-items:center;
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  color:var(--ink-muted);
  letter-spacing:var(--tracking-mono);
  margin-top:0.2rem;
  margin-bottom:var(--space-xs);
}

.treatment-tag {
  color:var(--accent);
  font-weight:500;
}

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

.treatment-steps {
  display:flex;
  flex-direction:column;
  gap:0.35rem;
  font-size:var(--step--1);
  color:var(--ink-muted);
}

.treatment-step-item {
  display:flex;
  align-items:baseline;
  gap:0.5rem;
}

.treatment-step-dot {
  width:5px;
  height:5px;
  background-color:var(--accent);
  border-radius:999px;
  flex-shrink:0;
  transform:translateY(-2px);
}

.treatment-pricing-side {
  background-color:var(--ground);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:var(--space-m);
}

.treatment-rate-box {
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.treatment-rate-val {
  font-family:var(--vube-8e1);
  font-size:var(--vube-595);
  font-weight:500;
  color:var(--ink);
  line-height:1;
}

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

.treatment-included-box {
  border-top:1px solid var(--rule-subtle);
  padding-top:var(--space-xs);
  font-size:var(--step--1);
  line-height:var(--leading-snug);
  color:var(--ink);
}

.factors-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--space-m);
  margin-top:var(--space-l);
  margin-bottom:var(--space-l);
}

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

@media (min-width: 1024px) {
  .factors-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.factor-card {
  background-color:var(--surface);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
}

.factor-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-71e);
  font-weight:600;
  color:var(--ink);
  margin-bottom:0.35rem;
}

.factor-detail {
  font-size:var(--step--1);
  line-height:var(--leading-normal);
  color:var(--ink-muted);
}

.hygiene-ledger {
  display:flex;
  flex-direction:column;
  gap:var(--space-s);
  width:100%;
  margin-top:var(--space-m);
  margin-bottom:var(--space-l);
}

.hygiene-row {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:0.5rem;
  padding:var(--space-m);
  background-color:var(--surface);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
}

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

.hygiene-standard {
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  font-weight:500;
  color:var(--accent);
  letter-spacing:var(--tracking-mono);
}

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

.bio-frame {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--space-xl);
  margin-top:var(--space-l);
  margin-bottom:var(--space-xl);
}

@media (min-width: 900px) {
  .bio-frame {
    grid-template-columns:minmax(0, 1.8fr) minmax(0, 1.2fr);
    align-items:start;
  }
}

.bio-card {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:var(--space-l);
  box-shadow:var(--shadow-editorial);
}

.bio-badge-row {
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin-bottom:var(--space-m);
}

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

.bio-spec-list {
  display:flex;
  flex-direction:column;
  gap:0.65rem;
  border-top:1px solid var(--rule);
  padding-top:var(--space-m);
}

.bio-spec-item {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:var(--step--1);
  gap:0.5rem;
  flex-wrap:wrap;
}

.bio-spec-label {
  font-family:var(--vube-8e1);
  color:var(--ink-muted);
  flex-shrink:0;
}

.bio-spec-val {
  font-family:var(--vube-8e1);
  font-weight:500;
  color:var(--ink);
  min-width:0;
  overflow-wrap:break-word;
  word-break:break-all;
}

.glance-container {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:clamp(1.25rem, 3vw, 2rem);
  margin-top:var(--space-l);
  margin-bottom:var(--space-2xl);
  box-shadow:var(--shadow-editorial);
  width:100%;
}

.glance-table {
  width:100%;
  border-collapse:collapse;
  background-color:var(--surface);
}

.glance-caption {
  text-align:left;
  padding-bottom:var(--space-m);
  caption-side:top;
}

.glance-caption-tag {
  display:inline-block;
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--accent);
  background-color:var(--ground);
  padding:0.2rem 0.5rem;
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  margin-bottom:0.35rem;
}

.glance-caption {
  text-align:left;
  padding-bottom:var(--space-m);
  caption-side:top;
  display:block;
  width:100%;
  min-width:0;
}

.glance-heading {
  display:block;
  width:100%;
  max-width:100%;
  font-family:var(--vube-a6a);
  font-size:var(--vube-93f);
  font-weight:600;
  color:var(--ink);
  margin-bottom:0.25rem;
  line-height:var(--leading-tight);
}

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

.glance-table thead th {
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--ink);
  background-color:var(--surface-card);
  padding:var(--space-s) var(--space-m);
  border-top:1px solid var(--rule-strong);
  border-bottom:1px solid var(--rule-strong);
  text-align:left;
}

.glance-th-key {
  width:28%;
}

.glance-th-val {
  width:72%;
}

.glance-table tbody tr {
  border-bottom:1px solid var(--rule);
  transition:background-color var(--duration-fast) var(--ease-editorial);
}

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

.glance-table tbody tr:hover {
  background-color:rgba(20, 28, 36, 0.02);
}

.glance-key-cell {
  padding:var(--space-m);
  vertical-align:top;
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  font-weight:600;
  color:var(--ink);
  letter-spacing:var(--tracking-mono);
  text-align:left;
  background-color:var(--surface-card);
  border-right:1px solid var(--rule);
}

.glance-val-cell {
  padding:var(--space-m);
  vertical-align:top;
  font-size:var(--vube-9dd);
  line-height:var(--leading-normal);
  color:var(--ink);
}

.glance-val-cell small,
.glance-val-note {
  display:block;
  font-size:var(--step--1);
  color:var(--ink-muted);
  margin-top:0.35rem;
  line-height:var(--leading-normal);
}

.glance-clause-link {
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--accent);
  margin-top:0.5rem;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color var(--duration-fast) var(--ease-editorial);
}

.glance-clause-link:hover {
  color:var(--ink);
}

@media (max-width: 760px) {
  .glance-container {
    padding:var(--space-s);
  }

  .glance-table,
  .glance-table thead,
  .glance-table tbody,
  .glance-table tr,
  .glance-table th,
  .glance-table td {
    display:block;
    width:100%;
  }

  .glance-table thead {
    display:none;
  }

  .glance-table tbody tr {
    border-bottom:2px solid var(--rule-strong);
    padding:var(--space-s) 0;
  }

  .glance-key-cell {
    border-right:none;
    border-bottom:1px solid var(--rule);
    padding:var(--space-xs) var(--space-s);
    background-color:transparent;
    color:var(--accent);
  }

  .glance-val-cell {
    padding:var(--space-xs) var(--space-s) var(--space-s);
  }
}

.legal-prose-stream {
  max-width:var(--measure-prose);
  margin-top:var(--space-xl);
}

.legal-prose-stream section {
  scroll-margin-top:calc(var(--header-height) + 2rem);
}

.legal-prose-stream h2 {
  font-size:var(--vube-5b2);
  margin-top:var(--space-2xl);
  margin-bottom:var(--space-s);
  border-bottom:1px solid var(--rule);
  padding-bottom:var(--space-2xs);
}

.legal-prose-stream h3 {
  font-size:var(--vube-71e);
  margin-top:var(--space-l);
  margin-bottom:var(--space-xs);
}

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

.legal-prose-stream ul,
.legal-prose-stream ol {
  margin-top:var(--space-2xs);
  margin-bottom:var(--space-m);
  padding-left:var(--space-l);
}

.legal-prose-stream li {
  font-size:var(--vube-9dd);
  line-height:var(--leading-normal);
  color:var(--ink);
  margin-bottom:0.4rem;
  position:relative;
}

.legal-prose-stream ul li::before {
  content:'—';
  position:absolute;
  left:calc(-1 * var(--space-m));
  color:var(--accent);
}

.cookie-framework-layout {
  display:block;
  margin-top:var(--space-l);
}

@media (min-width: 960px) {
  .cookie-framework-layout {
    display:grid;
    grid-template-columns:260px minmax(0, 1fr);
    gap:clamp(2rem, 4vw, 4rem);
    align-items:start;
  }
}

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

.cookie-index-title {
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--ink-muted);
  margin-bottom:var(--space-s);
  display:block;
}

.cookie-index-nav {
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}

.cookie-index-item {
  display:flex;
  align-items:baseline;
  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);
}

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

.cookie-index-item.is-current {
  color:var(--accent);
  border-left-color:var(--accent);
  background-color:var(--ground);
  font-weight:500;
}

.cookie-index-item .item-num {
  font-size:var(--step--2);
  opacity:0.75;
}

.cookie-mobile-select-wrap {
  display:none;
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:var(--space-s);
  margin-bottom:var(--space-l);
}

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

  .cookie-mobile-select-wrap {
    display:block;
  }
}

.cookie-mobile-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;
}

.cookie-reading-body {
  min-width:0;
  max-width:100%;
}

.cookie-section-block {
  padding-bottom:var(--space-2xl);
  border-bottom:1px solid var(--rule);
  margin-bottom:var(--space-2xl);
  scroll-margin-top:calc(var(--header-height) + 2rem);
}

.cookie-section-block:last-child {
  border-bottom:none;
  margin-bottom:0;
}

.cookie-section-badge {
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  color:var(--accent);
  letter-spacing:var(--tracking-mono);
  display:block;
  margin-bottom:var(--space-2xs);
}

.cookie-section-heading {
  font-family:var(--vube-a6a);
  font-size:var(--vube-5b2);
  font-weight:600;
  color:var(--ink);
  line-height:var(--leading-tight);
  margin-bottom:var(--space-s);
}

.data-audit-table {
  width:100%;
  min-width:620px;
  border-collapse:collapse;
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  margin-top:var(--space-m);
  margin-bottom:var(--space-l);
}

.data-audit-table th {
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--ink);
  background-color:var(--surface-card);
  padding:var(--space-s) var(--space-m);
  border-bottom:1px solid var(--rule-strong);
  text-align:left;
  white-space:nowrap;
}

.data-audit-table th:nth-child(1) { width: 18%; }
.data-audit-table th:nth-child(2) { width: 24%; }
.data-audit-table th:nth-child(3) { width: 18%; }
.data-audit-table th:nth-child(4) { width: 28%; }
.data-audit-table th:nth-child(5) { width: 12%; }

.data-audit-table td {
  padding:var(--space-s) var(--space-m);
  border-bottom:1px solid var(--rule);
  font-size:var(--step--1);
  line-height:var(--leading-normal);
  vertical-align:top;
}

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

.data-audit-table code {
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  color:var(--ink);
  background-color:var(--ground);
  padding:0.15rem 0.4rem;
  border:1px solid var(--rule);
}

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

  .data-audit-table thead {
    display:none;
  }

  .data-audit-table tr {
    border-bottom:1px solid var(--rule-strong);
    padding:var(--space-s);
  }

  .data-audit-table td {
    padding:0.35rem 0;
    border:none;
  }

  .data-audit-table td::before {
    content:attr(data-col);
    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.15rem;
  }
}

.ledger-wrapper {
  margin-top:var(--space-l);
  margin-bottom:var(--space-2xl);
  width:100%;
}

.terms-clause-table {
  width:100%;
  border-collapse:collapse;
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  box-shadow:var(--shadow-editorial);
}

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

.terms-clause-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);
  color:var(--ink);
}

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

.terms-clause-cell-id {
  width:22%;
}

.terms-clause-cell-id strong {
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  color:var(--accent);
  display:block;
  margin-bottom:0.2rem;
}

.terms-clause-cell-id span {
  font-family:var(--vube-a6a);
  font-size:var(--vube-71e);
  font-weight:600;
  color:var(--ink);
  line-height:1.2;
  display:block;
}

.terms-clause-cell-plain {
  width:42%;
}

.terms-clause-cell-why {
  width:36%;
  font-size:var(--step--1);
  color:var(--ink-muted);
}

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

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

  .terms-clause-table tr {
    border-bottom:2px solid var(--rule-strong);
    padding:var(--space-m);
    background-color:var(--surface);
    margin-bottom:var(--space-s);
  }

  .terms-clause-table td {
    padding:0.5rem 0;
    border:none;
    width:100%;
  }

  .terms-clause-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;
  }

  .terms-clause-cell-id {
    border-bottom:1px solid var(--rule) !important;
    padding-bottom:0.75rem !important;
    margin-bottom:0.5rem !important;
  }

  .terms-clause-cell-id::before {
    display:none !important;
  }
}

.contact-layout-grid {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:var(--space-xl);
  margin-top:var(--space-l);
  margin-bottom:var(--space-2xl);
  align-items:start;
}

@media (min-width: 920px) {
  .contact-layout-grid {
    grid-template-columns:minmax(0, 1.3fr) minmax(0, 1.7fr);
    gap:clamp(2rem, 4.5vw, 4.5rem);
  }
}

.contact-facts-card {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:var(--space-l);
  box-shadow:var(--shadow-editorial);
  display:flex;
  flex-direction:column;
  gap:var(--space-m);
}

.contact-facts-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-93f);
  font-weight:600;
  color:var(--ink);
  margin-bottom:0.2rem;
}

.contact-detail-row {
  display:flex;
  align-items:flex-start;
  gap:0.75rem;
  font-size:var(--vube-9dd);
  line-height:var(--leading-snug);
  color:var(--ink);
}

.contact-detail-row .icon {
  color:var(--accent);
  margin-top:0.2rem;
}

.contact-detail-row a {
  text-decoration:underline;
  text-decoration-color:var(--rule-strong);
  text-underline-offset:3px;
  transition:color var(--duration-fast) var(--ease-editorial),
              text-decoration-color var(--duration-fast) var(--ease-editorial);
}

.contact-detail-row a:hover {
  color:var(--accent);
  text-decoration-color:var(--accent);
}

.contact-hours-block {
  border-top:1px solid var(--rule);
  padding-top:var(--space-m);
  margin-top:var(--space-xs);
}

.contact-hours-heading {
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--ink-muted);
  margin-bottom:var(--space-xs);
}

.contact-hours-table {
  width:100%;
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  letter-spacing:var(--tracking-mono);
}

.contact-hours-table td {
  padding:0.3rem 0;
}

.contact-hours-table td:last-child {
  text-align:right;
  font-weight:500;
  color:var(--ink);
}

.text-route-guide {
  background-color:var(--ground);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  padding:var(--space-m);
  margin-top:var(--space-xs);
  font-size:var(--step--1);
  line-height:var(--leading-normal);
  color:var(--ink);
}

.text-route-guide strong {
  color:var(--ink);
  display:block;
  margin-bottom:0.25rem;
  font-family:var(--vube-24d);
  font-size:var(--vube-9dd);
}

.error-scene {
  padding-top:clamp(3rem, 8vw, 7rem);
  padding-bottom:clamp(3rem, 8vw, 7rem);
  border-bottom:1px solid var(--rule);
}

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

@media (min-width: 900px) {
  .error-grid {
    grid-template-columns:minmax(0, 1.8fr) minmax(0, 1.2fr);
    align-items:center;
  }
}

.error-code-lead {
  font-family:var(--vube-8e1);
  font-size:clamp(4rem, 3rem + 6vw, 9rem);
  font-weight:500;
  color:var(--accent);
  line-height:0.9;
  letter-spacing:var(--tracking-tighter);
  display:block;
  margin-bottom:var(--space-xs);
}

.error-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-5b2);
  font-weight:600;
  color:var(--ink);
  line-height:var(--leading-tight);
  margin-bottom:var(--space-s);
}

.error-prose {
  font-size:var(--vube-71e);
  line-height:var(--leading-normal);
  color:var(--ink);
  max-width:var(--measure-prose);
  margin-bottom:var(--space-l);
}

.error-links-card {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:var(--space-l);
  box-shadow:var(--shadow-editorial);
  display:flex;
  flex-direction:column;
  gap:var(--space-s);
}

.error-links-title {
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--ink-muted);
  margin-bottom:var(--space-xs);
}

.error-nav-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0.6rem 0.8rem;
  background-color:var(--ground);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  font-size:var(--vube-9dd);
  font-weight:500;
  color:var(--ink);
  transition:border-color var(--duration-fast) var(--ease-editorial),
              background-color var(--duration-fast) var(--ease-editorial),
              color var(--duration-fast) var(--ease-editorial);
}

.error-nav-item:hover {
  border-color:var(--accent);
  color:var(--accent);
  background-color:#fff;
}

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

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

.calc-formula-strip {
  background-color:var(--surface-subtle);
  border:1px solid var(--rule);
  border-radius:var(--radius-xs);
  padding:var(--space-s) var(--space-m);
  margin-bottom:var(--space-m);
}

.calc-formula-title {
  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.2rem;
}

.calc-formula-code {
  font-family:var(--vube-8e1);
  font-size:var(--step--1);
  color:var(--accent);
  display:block;
  letter-spacing:var(--tracking-mono);
  overflow-x:auto;
  white-space:nowrap;
}

.calc-breakdown-row {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:var(--step--1);
  color:var(--ink);
  padding:0.35rem 0;
  border-bottom:1px dashed var(--rule);
}

.calc-breakdown-row:last-child {
  border-bottom:none;
}

.calc-breakdown-key {
  font-family:var(--vube-24d);
  color:var(--ink-muted);
}

.calc-breakdown-val {
  font-family:var(--vube-8e1);
  font-weight:500;
  color:var(--ink);
}

.calc-status-badge {
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  font-family:var(--vube-8e1);
  font-size:var(--step--2);
  text-transform:uppercase;
  letter-spacing:var(--tracking-wider);
  color:var(--success);
  background-color:var(--success-bg);
  border:1px solid var(--success-border);
  padding:0.25rem 0.6rem;
  border-radius:var(--radius-xs);
  margin-top:var(--space-xs);
}

.calc-status-badge::before {
  content:"";
  width:6px;
  height:6px;
  background-color:var(--success);
  border-radius:999px;
  display:inline-block;
}

.warranty-callout {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-left:4px solid var(--accent);
  border-radius:var(--radius-xs);
  padding:var(--space-l);
  margin-top:var(--space-xl);
  margin-bottom:var(--space-xl);
  box-shadow:var(--shadow-editorial);
}

.warranty-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-93f);
  font-weight:600;
  color:var(--ink);
  margin-bottom:0.35rem;
}

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

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

.dsar-form-wrapper {
  background-color:var(--surface);
  border:1px solid var(--rule-strong);
  border-radius:var(--radius-xs);
  padding:clamp(1.25rem, 3.5vw, 2.5rem);
  margin-top:var(--space-l);
  margin-bottom:var(--space-2xl);
  box-shadow:var(--shadow-editorial);
}

.dsar-title {
  font-family:var(--vube-a6a);
  font-size:var(--vube-93f);
  font-weight:600;
  color:var(--ink);
  margin-bottom:var(--space-xs);
}

.dsar-prose {
  font-size:var(--vube-9dd);
  line-height:var(--leading-normal);
  color:var(--ink);
  margin-bottom:var(--space-m);
}

.dsar-prose a {
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:3px;
}

.dsar-prose a:hover {
  color:var(--accent-hover);
}

.dsar-prose a:active {
  color:var(--accent-active);
}

.dsar-prose a:focus-visible {
  outline:var(--focus-outline);
  outline-offset:2px;
}

@media (max-width: 480px) {
  .hero-meta-bar {
    flex-direction:column;
    align-items:flex-start;
    gap:0.4rem;
  }

  .rate-summary-grid {
    grid-template-columns:minmax(0, 1fr);
  }

  .treatment-card {
    padding:var(--space-m);
  }

  .treatment-pricing-side {
    padding:var(--space-s);
  }

  .glance-container {
    padding:var(--space-xs);
  }

  .signature-duotone-facts {
    flex-direction:column;
    gap:var(--space-s);
  }
}
