.page-hero {
  position:relative;
  padding:clamp(3rem, 7vw, 6.5rem) 0 clamp(2.5rem, 5vw, 4.5rem);
  border-bottom:1px solid var(--rule);
  background-color:var(--ground);
  overflow:hidden;
}


.page-hero-mesh {
  position:relative;
  background-color:var(--ground);
  background-image:
    radial-gradient(circle at var(--mesh-x1) var(--mesh-y1), rgba(255, 77, 0, 0.12) 0%, transparent 52%),
    radial-gradient(circle at var(--mesh-x2) var(--mesh-y2), rgba(40, 40, 40, 0.95) 0%, transparent 64%),
    conic-gradient(from var(--mesh-angle) at 50% 50%, rgba(20, 20, 20, 1) 0deg, rgba(28, 28, 28, 1) 180deg, rgba(20, 20, 20, 1) 360deg);
  animation:meshDrift 34s linear infinite alternate;
}


.hero-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(2rem, 4vw, 3.5rem);
  position:relative;
  z-index:2;
}


@media (min-width: 1024px) {
  .hero-grid {
    grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);

    align-items:end;
  }
}


.hero-statement {
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}


.hero-title {
  font-family:var(--zilu-87e);
  font-size:clamp(2.1rem, 1.6rem + 2.5vw, 3.6rem);
  font-weight:700;
  line-height:1.1;
  letter-spacing:0.015em;
  color:#fff;
  text-wrap:balance;
}


.hero-lead {
  font-size:clamp(1.05rem, 0.95rem + 0.35vw, 1.25rem);
  line-height:1.6;
  color:var(--text-muted);
  max-width:54ch;
}


.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:0.5rem;
}


.hero-meta-panel {
  background-color:rgba(28, 28, 28, 0.92);
  border:1px solid var(--rule);
  padding:1.75rem;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  box-shadow:0 12px 32px rgba(0, 0, 0, 0.45);
}


.hero-meta-row {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1rem;
  padding-bottom:0.85rem;
  border-bottom:1px solid var(--rule);
  font-size:0.9rem;
}


.hero-meta-row:last-child {
  border-bottom:none;
  padding-bottom:0;
}


.hero-meta-label {
  font-family:var(--zilu-604);
  font-size:0.78rem;
  color:var(--text-dim);
  text-transform:uppercase;
  letter-spacing:0.06em;
}


.hero-meta-value {
  font-family:var(--zilu-604);
  font-weight:500;
  color:var(--text);
  text-align:right;
}


.hero-meta-value.is-signal {
  color:var(--signal);
}


.held-section {
  padding:clamp(3.5rem, 6vw, 6rem) 0;
  border-bottom:1px solid var(--rule);
  position:relative;
}


.held-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(2rem, 4vw, 4.5rem);
  align-items:start;
}


@media (min-width: 1024px) {
  .held-grid {
    grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);
  }


  .held-aside {
    position:sticky;
    top:3.5rem;
    padding-right:1.5rem;
  }
}


.held-header {
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}


.held-title {
  font-family:var(--zilu-87e);
  font-size:clamp(1.75rem, 1.45rem + 1.2vw, 2.5rem);
  font-weight:700;
  line-height:1.15;
  color:#fff;
  letter-spacing:0.02em;
}


.held-standfirst {
  font-size:clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  line-height:1.65;
  color:var(--text-muted);
  max-width:48ch;
}


.held-meta {

  margin-top:1rem;
  padding-top:1.25rem;
  border-top:1px solid var(--rule);
  display:flex;
  flex-direction:column;
  gap:0.65rem;
}


.held-meta-item {
  display:flex;
  align-items:baseline;
  gap:0.75rem;
  font-family:var(--zilu-604);
  font-size:0.8rem;
  color:var(--text-dim);
}


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


.held-content {
  display:flex;
  flex-direction:column;
  gap:2.25rem;
  min-width:0;
}


.services-stack {
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}


.service-entry {
  background-color:var(--surface);
  border:1px solid var(--rule);
  padding:2rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  transition:border-color var(--dur-fast) var(--ease-out),
              box-shadow var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out);
}


.service-entry:hover {
  border-color:var(--rule-light);
  box-shadow:0 8px 24px rgba(0, 0, 0, 0.35);
  transform:translateY(-2px);
}


.service-entry-head {
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--rule);
}


@media (min-width: 640px) {
  .service-entry-head {
    flex-direction:row;
    justify-content:space-between;
    align-items:baseline;
  }
}


.service-entry-title {
  font-family:var(--zilu-87e);
  font-size:1.35rem;
  color:#fff;
}


.service-entry-rate {

  font-family:var(--zilu-604);
  font-size:1.15rem;
  font-weight:500;
  color:var(--signal);
  white-space:nowrap;
}


.service-entry-body {
  font-size:0.95rem;
  color:var(--text-muted);
  line-height:1.6;
}


.service-entry-specs {
  display:grid;
  grid-template-columns:1fr;
  gap:0.75rem;
  padding:1rem;
  background-color:var(--surface-raised);
  border:1px solid var(--rule);
  font-size:0.85rem;
}


@media (min-width: 640px) {
  .service-entry-specs {
    grid-template-columns:repeat(2, 1fr);
  }
}


.spec-line {
  display:flex;
  flex-direction:column;
  gap:0.2rem;
}


.spec-line-label {
  font-family:var(--zilu-604);
  font-size:0.72rem;
  color:var(--text-dim);
  text-transform:uppercase;
  letter-spacing:0.06em;
}


.spec-line-val {
  font-family:var(--zilu-604);
  color:var(--text);
  font-size:0.85rem;
}


.rail-section {
  padding:clamp(3.5rem, 6vw, 6rem) 0;
  border-bottom:1px solid var(--rule);
  background-color:var(--surface);
  position:relative;
  overflow:hidden;
}


.rail-intro {
  margin-bottom:2.5rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}


@media (min-width: 1024px) {
  .rail-intro {
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-end;
  }
}


.rail-title-group {
  max-width:58ch;
}


.rail-title {
  font-family:var(--zilu-87e);
  font-size:clamp(1.75rem, 1.45rem + 1.2vw, 2.5rem);
  font-weight:700;
  line-height:1.15;
  color:#fff;
}


.rail-standfirst {
  margin-top:0.75rem;
  font-size:1rem;
  color:var(--text-muted);
}


.rail-controls {
  display:flex;
  align-items:center;
  gap:0.75rem;
}


.rail-nav-btn {
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background-color:var(--surface-raised);
  border:1px solid var(--rule);
  color:var(--text);
  transition:background-color var(--dur-fast) var(--ease-out),
              border-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out);
}


.rail-nav-btn:hover {
  background-color:var(--ground);
  border-color:var(--signal);
  color:var(--signal);
  transform:translateY(-1px);
}


.rail-nav-btn:active {
  background-color:var(--surface);
  transform:translateY(1px);
}


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


.rail-viewport {
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding-bottom:1.5rem;
  scrollbar-width:thin;
  scrollbar-color:var(--signal) var(--surface-raised);
}


.rail-viewport::-webkit-scrollbar {
  height:6px;
}


.rail-viewport::-webkit-scrollbar-track {
  background:var(--surface-raised);
}


.rail-viewport::-webkit-scrollbar-thumb {
  background:var(--signal);
}


.rail-track {
  display:flex;
  gap:1.5rem;
  width:max-content;
}


.rail-card {
  width:clamp(280px, 60vw, 380px);
  scroll-snap-align:start;
  background-color:var(--ground);
  border:1px solid var(--rule);
  padding:2rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:1.5rem;
  position:relative;
  transition:border-color var(--dur-fast) var(--ease-out),
              transform var(--dur-fast) var(--ease-out);
}


.rail-card:hover {
  border-color:var(--rule-light);
  transform:translateY(-2px);
}


.rail-card-stage {
  font-family:var(--zilu-604);
  font-size:0.8rem;
  color:var(--signal);
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:500;
}


.rail-card-title {
  font-family:var(--zilu-87e);
  font-size:1.3rem;
  color:#fff;
  margin-top:0.5rem;
}


.rail-card-desc {
  font-size:0.92rem;
  color:var(--text-muted);
  line-height:1.55;
  margin-top:0.75rem;
}


.rail-card-checkpoint {
  padding-top:1rem;
  border-top:1px dashed var(--rule);
  font-family:var(--zilu-604);
  font-size:0.78rem;
  color:var(--text-dim);
  display:flex;
  align-items:center;
  gap:0.5rem;
}


.rail-card-checkpoint .icon {
  color:var(--signal);
}


.rail-progress-track {
  width:100%;
  height:3px;
  background-color:var(--rule);
  margin-top:1.5rem;
  position:relative;
}


.rail-progress-fill {
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:25%;
  background-color:var(--signal);
  transition:width var(--dur-med) var(--ease-out);
}


@media (prefers-reduced-motion: reduce) {
  .rail-viewport {
    overflow-x:visible;
    scroll-snap-type:none;
  }


  .rail-track {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    gap:1.5rem;
  }


  .rail-card {
    width:100%;
  }


  .rail-controls,
  .rail-progress-track {
    display:none;
  }
}


.annotated-plate {
  position:relative;
  border:1px solid var(--rule);
  background-color:var(--surface);
  padding:1.5rem;
  overflow:hidden;
}


.plate-canvas-frame {
  position:relative;
  border:1px solid var(--rule);
  background-color:#0d0d0d;
}


.plate-image {
  width:100%;
  height:auto;
  display:block;
  filter:contrast(1.05) brightness(0.95);
}


.plate-overlay {
  position:absolute;
  inset:0;
  pointer-events:none;
}


.plate-callout {
  position:absolute;
  pointer-events:auto;
  cursor:pointer;
}


.plate-callout-1 {
  top:22%;
  left:26%;
}


.plate-callout-2 {
  top:48%;
  left:64%;
}


.plate-callout-3 {
  bottom:24%;
  left:38%;
}


.callout-pin {
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background-color:var(--signal);
  color:#fff;
  font-family:var(--zilu-604);
  font-size:0.75rem;
  font-weight:600;
  border:2px solid #fff;
  box-shadow:0 0 12px rgba(255, 77, 0, 0.6);
  transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}


.callout-pin:hover {
  transform:scale(1.15);
  background-color:var(--signal-hover);
}


.callout-card {
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  background-color:rgba(28, 28, 28, 0.96);
  border:1px solid var(--rule-light);
  padding:0.65rem 0.85rem;
  width:220px;
  font-size:0.78rem;
  color:var(--text);
  line-height:1.4;
  box-shadow:0 6px 18px rgba(0, 0, 0, 0.5);
  opacity:0;
  pointer-events:none;
  transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}


.plate-callout:hover .callout-card,
.plate-callout:focus-within .callout-card {
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(-2px);
}


.callout-card-title {
  font-family:var(--zilu-604);
  font-size:0.72rem;
  color:var(--signal);
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:0.25rem;
}


.plate-legend {
  margin-top:1.25rem;
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  padding:1.25rem;
  background-color:var(--ground);
  border:1px solid var(--rule);
}


@media (min-width: 640px) {
  .plate-legend {
    grid-template-columns:repeat(3, 1fr);
  }
}


.legend-item {
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}


.legend-head {
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-family:var(--zilu-604);
  font-size:0.75rem;
  font-weight:600;
  color:var(--text);
  text-transform:uppercase;
}


.legend-marker {
  width:14px;
  height:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background-color:var(--signal);
  color:#fff;
  font-size:0.65rem;
  font-weight:700;
}


.legend-desc {
  font-size:0.82rem;
  color:var(--text-muted);
  line-height:1.45;
}


.estimator-container {
  background-color:var(--surface);
  border:1px solid var(--rule);
  padding:clamp(1.5rem, 4vw, 2.5rem);
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
}


@media (min-width: 1024px) {
  .estimator-container {
    grid-template-columns:minmax(0, 1.25fr) minmax(0, 0.95fr);
    align-items:start;
  }
}


.estimator-inputs {
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}


.estimator-field {
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}


.estimator-field-label {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-family:var(--zilu-c2d);
  font-size:0.9rem;
  font-weight:500;
  color:var(--text);
}


.estimator-field-rate {
  font-family:var(--zilu-604);
  font-size:0.78rem;
  color:var(--signal);
}


.estimator-select,
.estimator-number {
  width:100%;
  padding:0.85rem 1rem;
  min-height:44px;
  background-color:var(--ground);
  border:1px solid var(--rule);
  color:var(--text);
  font-family:var(--zilu-c2d);
  font-size:0.95rem;
  transition:border-color var(--dur-fast) var(--ease-out),
              background-color var(--dur-fast) var(--ease-out);
}


.estimator-select:hover,
.estimator-number:hover {
  border-color:var(--rule-light);
}


.estimator-select:focus,
.estimator-number:focus {
  outline:none;
  border-color:var(--signal);
  background-color:var(--surface-raised);
}


.estimator-range-wrap {
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}


.estimator-range-row {
  display:flex;
  align-items:center;
  gap:1rem;
}


.estimator-range {
  flex:1 1 auto;
  appearance:none;
  height:6px;
  background-color:var(--ground);
  border:1px solid var(--rule);
  outline:none;
  cursor:pointer;
}


.estimator-range::-webkit-slider-thumb {
  appearance:none;
  width:18px;
  height:18px;
  background-color:var(--signal);
  cursor:pointer;
  border:1px solid #fff;
  transition:transform var(--dur-fast) var(--ease-out);
}


.estimator-range::-webkit-slider-thumb:hover {
  transform:scale(1.15);
}


.estimator-range-val {
  min-width:2.5rem;
  text-align:right;
  font-family:var(--zilu-604);
  font-size:0.95rem;
  font-weight:600;
  color:var(--text);
}


.estimator-output-panel {
  background-color:var(--ground);
  border:1px solid var(--rule);
  padding:1.75rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}


.estimator-output-head {
  padding-bottom:1rem;
  border-bottom:1px solid var(--rule);
}


.estimator-output-label {
  font-family:var(--zilu-604);
  font-size:0.78rem;
  color:var(--text-dim);
  text-transform:uppercase;
  letter-spacing:0.08em;
}


.estimator-output-figure {
  font-family:var(--zilu-604);
  font-size:clamp(2rem, 1.8rem + 1vw, 2.75rem);
  font-weight:700;
  color:#fff;
  margin-top:0.35rem;
  line-height:1;
}


.estimator-output-figure .currency {
  font-size:0.6em;
  color:var(--signal);
  margin-right:0.15em;
}


.estimator-breakdown {
  display:flex;
  flex-direction:column;
  gap:0.65rem;
  font-size:0.85rem;
  font-family:var(--zilu-604);
}


.breakdown-row {
  display:flex;
  justify-content:space-between;
  color:var(--text-muted);
}


.breakdown-row.is-total {
  padding-top:0.65rem;
  border-top:1px dashed var(--rule);
  color:var(--text);
  font-weight:600;
}


.estimator-disclaimer {
  padding:1rem;
  background-color:var(--surface);
  border-left:2px solid var(--signal);
  font-size:0.8rem;
  color:var(--text-dim);
  line-height:1.45;
}


.modifiers-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
}


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


.modifier-card {
  background-color:var(--surface);
  border:1px solid var(--rule);
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}


.modifier-card-title {
  font-family:var(--zilu-87e);
  font-size:1.15rem;
  color:#fff;
}


.modifier-card-desc {
  font-size:0.88rem;
  color:var(--text-muted);
  line-height:1.55;
}


.comparison-table-wrap {
  width:100%;
  overflow-x:auto;
  border:1px solid var(--rule);
  background-color:var(--surface);
}


.comparison-table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  min-width:640px;
}


.comparison-table th,
.comparison-table td {
  padding:1.1rem 1.25rem;
  border-bottom:1px solid var(--rule);
  font-size:0.88rem;
}


.comparison-table th {
  background-color:var(--surface-raised);
  font-family:var(--zilu-604);
  font-size:0.78rem;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:0.06em;
}


.comparison-table tr:hover td {
  background-color:rgba(255, 255, 255, 0.02);
}


.agency-coverage-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}


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


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


.agency-card {
  background-color:var(--surface);
  border:1px solid var(--rule);
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
}


.agency-acronym {
  font-family:var(--zilu-604);
  font-size:1rem;
  font-weight:600;
  color:var(--signal);
}


.agency-name {
  font-family:var(--zilu-87e);
  font-size:1.05rem;
  color:#fff;
}


.agency-scope {
  font-size:0.85rem;
  color:var(--text-muted);
  line-height:1.5;
}


.intake-layout {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(2rem, 4vw, 4.5rem);
  align-items:start;
}


@media (min-width: 1024px) {
  .intake-layout {
    grid-template-columns:minmax(0, 4.5fr) minmax(0, 7.5fr);
  }


  .intake-aside {
    position:sticky;
    top:3.5rem;
  }
}


.intake-card {
  background-color:var(--surface);
  border:1px solid var(--rule);
  padding:clamp(1.5rem, 3vw, 2.5rem);
  box-shadow:0 12px 32px rgba(0, 0, 0, 0.4);
}


.contact-meta-group {
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}


.contact-meta-block {
  background-color:var(--surface);
  border:1px solid var(--rule);
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}


.contact-meta-label {
  font-family:var(--zilu-604);
  font-size:0.75rem;
  color:var(--text-dim);
  text-transform:uppercase;
  letter-spacing:0.08em;
}


.contact-meta-val {
  font-size:0.95rem;
  color:var(--text);
  line-height:1.5;
}


.contact-meta-val a {
  color:var(--text);
  text-decoration:underline;
  text-decoration-color:var(--signal);
  text-underline-offset:3px;
  transition:color var(--dur-fast) var(--ease-out);
}


.contact-meta-val a:hover {
  color:var(--signal);
}


.doc-card-wrapper {
  padding:clamp(2rem, 5vw, 4.5rem) 0;
  display:flex;
  justify-content:center;
}


.doc-card {
  width:100%;
  max-width:52rem;
  background-color:var(--surface);
  border:1px solid var(--rule-light);
  box-shadow:0 20px 48px rgba(0, 0, 0, 0.6);
  padding:clamp(1.75rem, 4vw, 3.5rem);
  display:flex;
  flex-direction:column;
  gap:2.5rem;
  position:relative;
}


.doc-card::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background-color:var(--signal);
}


.doc-masthead {
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding-bottom:2rem;
  border-bottom:1px solid var(--rule);
}


.doc-jurisdiction-stamp {
  font-family:var(--zilu-604);
  font-size:0.78rem;
  color:var(--signal);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:500;
}


.doc-title {
  font-family:var(--zilu-87e);
  font-size:clamp(1.8rem, 1.5rem + 1.2vw, 2.5rem);
  color:#fff;
}


.doc-meta-strip {
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  font-family:var(--zilu-604);
  font-size:0.8rem;
  color:var(--text-dim);
}


.doc-meta-strip span strong {
  color:var(--text);
}


.doc-body {
  display:flex;
  flex-direction:column;
  gap:2rem;
}


.doc-clause {
  display:flex;
  flex-direction:column;
  gap:0.85rem;
}


.doc-clause-title {
  font-family:var(--zilu-87e);
  font-size:1.25rem;
  color:#fff;
}


.doc-clause-text {
  font-size:0.95rem;
  color:var(--text-muted);
  line-height:1.7;
}


.clauses-layout {
  padding:clamp(3rem, 6vw, 5.5rem) 0;
  max-width:58rem;
  margin:0 auto;
}


.clauses-masthead {
  margin-bottom:3.5rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}


.clauses-title {
  font-family:var(--zilu-87e);
  font-size:clamp(2rem, 1.6rem + 1.5vw, 2.85rem);
  color:#fff;
}


.clauses-standfirst {
  font-size:1.1rem;
  color:var(--text-muted);
  line-height:1.6;
}


.clause-row {
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  padding:2.25rem 0;
  border-bottom:1px solid var(--rule);
}


@media (min-width: 768px) {
  .clause-row {
    grid-template-columns:4.5rem 1fr;
    gap:2.5rem;
    align-items:baseline;
  }
}


.clause-num {
  font-family:var(--zilu-604);
  font-size:0.85rem;
  color:var(--signal);
  letter-spacing:0.06em;
  font-weight:500;
}


.fumecdc {
  display:flex;
  flex-direction:column;
  gap:0.85rem;
}


.clause-title {
  font-family:var(--zilu-87e);
  font-size:1.35rem;
  color:#fff;
}


.clause-text {
  font-size:0.95rem;
  color:var(--text-muted);
  line-height:1.7;
  max-width:62ch;
}


.marginalia-layout {
  padding:clamp(3rem, 6vw, 5.5rem) 0;
}


.marginalia-masthead {
  margin-bottom:3.5rem;
  padding-bottom:2rem;
  border-bottom:1px solid var(--rule);
}


.marginalia-title {
  font-family:var(--zilu-87e);
  font-size:clamp(2rem, 1.6rem + 1.5vw, 2.85rem);
  color:#fff;
}


.marginalia-lead {
  margin-top:1rem;
  font-size:1.05rem;
  color:var(--text-muted);
  max-width:58ch;
}


.marginalia-block {
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  padding:2rem 0;
  border-bottom:1px solid var(--rule);
}


@media (min-width: 1024px) {
  .marginalia-block {
    grid-template-columns:minmax(0, 1fr) 18rem;
    gap:3.5rem;
    align-items:start;
  }
}


.reading-col {
  display:flex;
  flex-direction:column;
  gap:1rem;
  min-width:0;
}


.reading-heading {
  font-family:var(--zilu-87e);
  font-size:1.4rem;
  color:#fff;
}


.reading-p {
  font-size:0.95rem;
  color:var(--text-muted);
  line-height:1.7;
}


.margin-col {
  background-color:var(--surface);
  border:1px solid var(--rule);
  border-left:2px solid var(--signal);
  padding:1.25rem;
  display:flex;
  flex-direction:column;
  gap:0.65rem;
  font-size:0.85rem;
}


@media (max-width: 1023px) {
  .marginalia-block {
    grid-template-columns:1fr;
    gap:1.25rem;
  }


  .margin-col {
    margin-top:0.5rem;
    background-color:var(--surface-raised);
  }
}


.margin-note-label {
  font-family:var(--zilu-604);
  font-size:0.72rem;
  color:var(--signal);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:500;
}


.margin-note-content {
  font-family:var(--zilu-604);
  font-size:0.8rem;
  color:var(--text);
  line-height:1.5;
}


.faq-accordion {
  display:flex;
  flex-direction:column;
  border:1px solid var(--rule);
}


.faq-item {
  border-bottom:1px solid var(--rule);
  background-color:var(--surface);
}


.faq-item:last-child {
  border-bottom:none;
}


.faq-trigger {
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1.25rem 1.5rem;
  min-height:54px;
  background-color:transparent;
  color:var(--text);
  font-family:var(--zilu-87e);
  font-size:1.05rem;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  transition:background-color var(--dur-fast) var(--ease-out),
              color var(--dur-fast) var(--ease-out);
}


.faq-trigger:hover {
  background-color:var(--surface-raised);
  color:#fff;
}


.faq-trigger:focus-visible {
  outline:2px solid var(--signal);
  outline-offset:-2px;
}


.faq-trigger .faq-icon {
  color:var(--signal);
  transition:transform var(--dur-fast) var(--ease-out);
}


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


.faq-panel {
  display:none;
  padding:0 1.5rem 1.5rem 1.5rem;
  font-size:0.92rem;
  line-height:1.65;
  color:var(--text-muted);
}


.faq-panel.is-open {
  display:block;
}


.error-scene {
  min-height:65vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:4rem 0;
  gap:1.5rem;
}


.error-code {
  font-family:var(--zilu-604);
  font-size:clamp(3rem, 2.5rem + 3vw, 5.5rem);
  font-weight:700;
  color:var(--signal);
  line-height:1;
}


.error-title {
  font-family:var(--zilu-87e);
  font-size:clamp(1.8rem, 1.4rem + 1.2vw, 2.5rem);
  color:#fff;
}


.error-lead {
  font-size:1.05rem;
  color:var(--text-muted);
  max-width:48ch;
  line-height:1.6;
}


.statutory-fee-callout {
  background-color:var(--surface-raised);
  border:1px solid var(--rule-light);
  border-left:3px solid var(--signal);
  padding:1.5rem;
  margin:1.5rem 0;
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}


.statutory-fee-title {
  font-family:var(--zilu-604);
  font-size:0.82rem;
  color:var(--signal);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:600;
}


.statutory-fee-desc {
  font-size:0.88rem;
  color:var(--text-muted);
  line-height:1.55;
}


.warranty-box {
  background-color:var(--surface);
  border:1px solid var(--rule);
  padding:2rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}


.warranty-badge {
  font-family:var(--zilu-604);
  font-size:0.78rem;
  color:var(--signal);
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
}


.warranty-title {
  font-family:var(--zilu-87e);
  font-size:1.35rem;
  color:#fff;
}


.warranty-desc {
  font-size:0.92rem;
  color:var(--text-muted);
  line-height:1.6;
}


@media (max-width: 767px) {
  .doc-card {
    padding:1.5rem;
  }


  .plate-legend {
    grid-template-columns:1fr;
  }


  .estimator-container {
    padding:1.25rem;
  }


  .estimator-output-panel {
    padding:1.25rem;
  }


  .service-entry {
    padding:1.5rem;
  }
}
