.block-stacked {
   position: relative;
   width: 100%;
   padding-top: var(--space-2xl);
   padding-bottom: var(--space-2xl);
   border-bottom: 2px solid var(--rule-heavy);
   background-color: var(--ground);
}

.block-stacked:last-of-type {
   border-bottom: none;
}

.block-hero {
   padding-top: clamp(2.5rem, 6vw, 4.5rem);
   padding-bottom: clamp(3rem, 7vw, 5.5rem);
   background-color: var(--ground);
   border-bottom: 3px solid var(--rule-heavy);
}

.block-surface {
   background-color: var(--surface-tint);
}

.block-dark {
   background-color: var(--ink);
   color: var(--ground);
}

.block-accent-tint {
   background-color: var(--accent-tint);
}

.hero-meta-row {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: var(--space-xs) var(--space-m);
   margin-bottom: var(--space-m);
   padding-bottom: var(--space-xs);
   border-bottom: 1px solid var(--rule-hairline);
}

.hero-headline {
   font-family: var(--fivu-78d);
   font-size: var(--fivu-880);
   line-height: 1.05;
   letter-spacing: -0.02em;
   max-width: 22ch;
   margin-bottom: var(--space-m);
   color: var(--ink);
}

.block-dark .hero-headline {
   color: var(--ground);
}

.hero-dek {
   font-family: var(--fivu-bed);
   font-size: var(--fivu-0c8);
   line-height: 1.55;
   max-width: 58ch;
   color: var(--ink);
   margin-bottom: var(--space-l);
}

.block-dark .hero-dek {
   color: #d4d8e0;
}

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

.hero-facts-strip {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-s);
   margin-top: var(--space-xl);
   padding-top: var(--space-m);

   border-top: 1px solid var(--rule-hairline);
}

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

@media (min-width: 1024px) {
   .hero-facts-strip {
      grid-template-columns: repeat(4, minmax(0, 1fr));
   }
}

.fact-item {
   display: flex;
   flex-direction: column;
   gap: 0.25rem;
   border-left: 2px solid var(--primary);
   padding-left: var(--space-xs);
}

.fact-item .fact-label {
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: var(--ink-muted);
}

.block-dark .fact-item .fact-label {
   color: #a3a9b7;
}

.fact-item .fact-val {
   font-family: var(--fivu-59f);
   font-size: var(--fivu-ebd);
   font-weight: 700;
   color: var(--ink);
}

.block-dark .fact-item .fact-val {
   color: var(--ground);
}

.block-title-editorial {
   font-family: var(--fivu-78d);
   font-size: var(--fivu-4e4);
   line-height: 1.12;
   margin-bottom: var(--space-s);
}

.block-subtitle-editorial {
   font-family: var(--fivu-bed);
   font-size: var(--fivu-0c8);
   color: var(--ink-muted);
   max-width: 54ch;
   margin-bottom: var(--space-l);
}

.block-dark .block-subtitle-editorial {
   color: #b4b9c4;
}

.drawn-line-section {
   position: relative;
   width: 100%;
}

.drawn-line-flow {
   position: relative;
   margin-top: var(--space-xl);
   margin-bottom: var(--space-xl);
}

.drawn-spine-track {
   position: relative;
   padding-left: 0;
}

@media (min-width: 768px) {
   .drawn-spine-track {
      padding-left: 2.75rem;
   }

   .drawn-spine-track::before {
      content: "";
      position: absolute;
      top: 0.5rem;
      bottom: 0.5rem;
      left: 0.75rem;
      width: 2px;
      background-color: var(--ink);
      z-index: 1;
   }
}

.stage-node {
   position: relative;
   margin-bottom: var(--space-2xl);
}

.stage-node:last-child {
   margin-bottom: 0;
}

.stage-marker {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 1.5rem;
   height: 1.5rem;
   background-color: var(--primary);
   border: 2px solid var(--ink);
   color: var(--ground);
   margin-bottom: var(--space-xs);
   z-index: 2;
   position: relative;
}

@media (min-width: 768px) {
   .stage-marker {
      position: absolute;
      left: -2.75rem;
      top: 0.25rem;
      margin-bottom: 0;
   }
}

.stage-marker-dot {
   width: 6px;
   height: 6px;
   background-color: var(--ground);
}

.stage-heading {
   font-family: var(--fivu-78d);
   font-size: var(--fivu-448);
   line-height: 1.15;
   margin-bottom: var(--space-xs);
   color: var(--ink);
}

.block-dark .stage-heading {
   color: var(--ground);
}

.stage-content-text {
   max-width: 60ch;
   font-size: var(--fivu-ebd);
   line-height: 1.6;
   color: var(--ink);

}

.stage-specs-list {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-xs);

   margin-top: var(--space-s);
   margin-bottom: var(--space-s);
   list-style: none;
   padding-left: 0;
   max-width: 62ch;
}

@media (min-width: 600px) {
   .stage-specs-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

.stage-spec-item {
   padding: 0.65rem 0.85rem;
   background-color: var(--surface-tint);
   border-left: 3px solid var(--primary);
   font-family: var(--fivu-59f);
   font-size: var(--step--1);
   color: var(--ink);
   line-height: 1.4;
}

.block-dark .stage-spec-item {
   background-color: #1a1e26;
   color: #e2e4e9;
}

.stage-figure {
   margin-top: var(--space-s);
   margin-bottom: var(--space-s);
   border: 2px solid var(--rule-heavy);
   max-width: 720px;
   background-color: var(--ground);
}

.stage-figure img {
   width: 100%;
   height: auto;
   aspect-ratio: 16 / 9;
   object-fit: cover;
}

.stage-figure figcaption {
   padding: 0.6rem 0.9rem;
   background-color: var(--surface-tint);
   border-top: 1px solid var(--rule-hairline);
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   color: var(--ink-muted);
   line-height: 1.4;
}

.block-dark .stage-figure figcaption {
   background-color: #1a1e26;
   color: #a3a9b7;
   border-color: #2d333f;
}

.rail-section {
   position: relative;
   width: 100%;
   overflow: hidden;
}

.rail-header-row {
   display: flex;
   flex-direction: column;
   gap: var(--space-s);
   margin-bottom: var(--space-l);
}

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

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

.rail-arrow-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 44px;
   height: 44px;
   background-color: var(--ground);
   color: var(--ink);
   border: 2px solid var(--rule-heavy);
   cursor: pointer;
   transition: background-color var(--duration-short) var(--ease-out-quad),
                     color var(--duration-short) var(--ease-out-quad),
                     border-color var(--duration-short) var(--ease-out-quad);
}

.rail-arrow-btn:hover {
   background-color: var(--primary);
   border-color: var(--primary);
   color: var(--ground);
}

.rail-arrow-btn:active {
   background-color: #002aa3;
}

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

.rail-viewport {
   position: relative;
   width: 100%;
   overflow-x: auto;
   scroll-behavior: smooth;
   -webkit-overflow-scrolling: touch;
   scroll-snap-type: x mandatory;
   padding-bottom: var(--space-m);
   scrollbar-width: thin;
   scrollbar-color: var(--primary) var(--surface-tint);
}

.rail-track {
   display: flex;
   gap: var(--space-m);
   width: max-content;
   padding-right: var(--gutter);
}

.rail-card {
   flex: 0 0 calc(100vw - 3rem);
   max-width: 380px;
   scroll-snap-align: start;
   scroll-snap-stop: always;
   background-color: var(--ground);
   border: 2px solid var(--rule-heavy);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   padding: var(--space-l);
}

.rail-card-accent {
   border-color: var(--primary);
   background-color: #fafbfd;
}

.rail-card-head {
   margin-bottom: var(--space-m);
}

.rail-card-title {
   font-family: var(--fivu-78d);
   font-size: var(--fivu-1e9);
   line-height: 1.2;
   margin-top: var(--space-2xs);
   margin-bottom: var(--space-xs);
   color: var(--ink);
}

.rail-card-price {
   font-family: var(--fivu-59f);
   font-size: var(--fivu-0c8);
   font-weight: 700;
   color: var(--primary);
   margin-bottom: var(--space-s);
}

.rail-card-body {
   font-size: var(--step--1);
   line-height: 1.55;
   color: var(--ink-muted);
   margin-bottom: var(--space-m);
}

.rail-card-meta {
   border-top: 1px solid var(--rule-hairline);
   padding-top: var(--space-s);
   margin-top: auto;
   display: flex;
   flex-direction: column;
   gap: 0.35rem;
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   color: var(--ink-muted);
}

.rail-progress-wrapper {
   margin-top: var(--space-s);
   width: 100%;
   height: 4px;
   background-color: var(--rule-hairline);
   position: relative;
}

.rail-progress-bar {
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 20%;
   background-color: var(--primary);
   transition: width var(--duration-short) var(--ease-out-quad),
                     left var(--duration-short) var(--ease-out-quad);
}

@media (prefers-reduced-motion: reduce) {
   .rail-track {
      flex-direction: column;
      width: 100%;
   }

   .rail-card {
      flex: 1 1 100%;
      max-width: 100%;
   }

   .rail-viewport {
      overflow-x: visible;
      scroll-snap-type: none;
   }

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

.collage-section-wrap {
   position: relative;
   padding-top: var(--space-xl);
   padding-bottom: var(--space-xl);
}

.collage-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-xl);
   align-items: center;
}

@media (min-width: 960px) {
   .collage-grid {
      grid-template-columns: 1.1fr 1fr;
      gap: var(--space-2xl);
   }
}

.collage-stage {
   position: relative;
   width: 100%;
   min-height: 380px;
   padding: var(--space-s);
}

@media (min-width: 600px) {
   .collage-stage {
      min-height: 480px;
   }
}

.collage-item {
   position: relative;
   border: 2px solid var(--rule-heavy);
   background-color: var(--ground);
   box-shadow: 0 8px 24px rgba(15, 17, 21, 0.12);
   transition: transform var(--duration-short) var(--ease-out-quad);
}

.collage-item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.collage-item figcaption {
   padding: 0.45rem 0.75rem;
   background-color: var(--ground);
   border-top: 1px solid var(--rule-hairline);
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   color: var(--ink);
   line-height: 1.3;
}

.collage-item-primary {
   width: 82%;
   max-width: 440px;
   z-index: 2;
   transform: rotate(-1.5deg);
}

.collage-item-secondary {
   position: absolute;
   top: 15%;
   right: 0;
   width: 65%;
   max-width: 340px;
   z-index: 3;
   transform: rotate(2deg);
}

.collage-item-tertiary {
   position: absolute;
   bottom: 0;
   left: 10%;
   width: 58%;
   max-width: 300px;
   z-index: 4;
   transform: rotate(-3deg);
}

.collage-item:hover {
   z-index: 10;
   transform: scale(1.02) rotate(0deg);
}

.tool-calculator-box {
   background-color: var(--ground);
   border: 2px solid var(--rule-heavy);
   padding: var(--space-m);
   margin-top: var(--space-m);
   margin-bottom: var(--space-xl);
}

@media (min-width: 768px) {
   .tool-calculator-box {
      padding: var(--space-xl);
   }
}

.calc-grid-layout {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-xl);
}

@media (min-width: 900px) {
   .calc-grid-layout {
      grid-template-columns: 1.3fr 1fr;
   }
}

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

.calc-slider-group {
   display: flex;
   flex-direction: column;
   gap: 0.5rem;
}

.calc-slider-header {
   display: flex;
   justify-content: space-between;
   align-items: baseline;
}

.calc-slider-val {
   font-family: var(--fivu-59f);
   font-weight: 700;
   font-size: var(--fivu-0c8);
   color: var(--primary);
}

.calc-slider-input {
   width: 100%;
   height: 8px;
   background-color: var(--surface-tint);
   border: 1px solid var(--rule-hairline);
   outline: none;
   accent-color: var(--primary);
   cursor: pointer;
}

.calc-options-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 0.5rem;
}

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

.calc-choice-label {
   display: flex;
   align-items: center;
   gap: 0.6rem;
   padding: 0.75rem 0.85rem;
   background-color: var(--surface-tint);
   border: 1px solid var(--rule-hairline);
   cursor: pointer;
   font-size: var(--step--1);
   font-family: var(--fivu-bed);
   transition: border-color var(--duration-short) var(--ease-out-quad),
                     background-color var(--duration-short) var(--ease-out-quad);
}

.calc-choice-label:hover {
   border-color: var(--ink);
}

.calc-choice-label input[type='radio'],
.calc-choice-label input[type="checkbox"] {
   accent-color: var(--primary);
   width: 18px;
   height: 18px;
}

.calc-output-pane {
   background-color: var(--surface-tint);
   border: 2px solid var(--rule-heavy);
   padding: var(--space-m);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

.calc-output-hero {
   margin-bottom: var(--space-m);
}

.calc-output-big {
   font-family: var(--fivu-78d);
   font-size: var(--fivu-4e4);
   line-height: 1.1;
   color: var(--ink);
   margin-top: 0.25rem;
   margin-bottom: 0.25rem;
}

.calc-output-hours {
   font-family: var(--fivu-59f);
   font-size: var(--fivu-0c8);
   color: var(--primary);
   font-weight: 700;
}

.calc-formula-callout {
   padding: 0.75rem 0.9rem;
   background-color: var(--ground);
   border-left: 3px solid var(--ink);
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   line-height: 1.45;
   color: var(--ink-muted);
   margin-bottom: var(--space-m);
}

.calc-disclaimer {
   font-size: var(--step--2);
   color: var(--ink-muted);
   line-height: 1.4;
   margin-top: var(--space-s);
}

.service-card-stack {
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
}

.service-tier-row {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-l);
   padding-bottom: var(--space-xl);
   border-bottom: 2px solid var(--rule-heavy);
}

.service-tier-row:last-child {
   border-bottom: none;
   padding-bottom: 0;
}

@media (min-width: 860px) {
   .service-tier-row {
      grid-template-columns: 1.2fr 1fr;
      align-items: center;
   }
}

.service-tier-content {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}

.service-tier-figure {
   border: 2px solid var(--rule-heavy);
   overflow: hidden;
   background-color: var(--ground);
}

.service-tier-figure img {
   width: 100%;
   aspect-ratio: 16 / 10;
   object-fit: cover;
}

.service-price-tag {
   display: inline-block;
   font-family: var(--fivu-59f);
   font-size: var(--fivu-0c8);
   font-weight: 700;
   color: var(--primary);
   margin-bottom: var(--space-2xs);
}

.service-boundaries-box {
   background-color: #fff9f9;
   border-left: 4px solid #c01515;
   padding: var(--space-m);
   margin: var(--space-l) 0;
}

.service-boundaries-box h3 {
   color: #8c0e0e;
   font-size: var(--fivu-1e9);
   margin-bottom: var(--space-2xs);
}

.single-invoice-banner {
   background-color: var(--accent-tint);
   border: 2px solid var(--primary);
   padding: var(--space-l);
   display: flex;
   flex-direction: column;
   gap: var(--space-s);
   margin-top: var(--space-xl);
}

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

.contact-layout-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-xl);
}

@media (min-width: 860px) {
   .contact-layout-grid {
      grid-template-columns: 1fr 1.3fr;
   }
}

.contact-details-panel {
   display: flex;
   flex-direction: column;
   gap: var(--space-m);
}

.contact-detail-card {
   padding: var(--space-m);
   border: 2px solid var(--rule-heavy);
   background-color: var(--ground);
}

.contact-detail-card a.mono {
   color: #8eb2ff;
}

.contact-detail-card a.mono:hover {
   color: #fff;
}

.contact-detail-card h3 {
   font-size: var(--fivu-0c8);
   margin-bottom: var(--space-2xs);
}

.contact-form-panel {
   border: 2px solid var(--rule-heavy);
   background-color: var(--ground);
   padding: var(--space-m);
}

@media (min-width: 600px) {
   .contact-form-panel {
      padding: var(--space-l);
   }
}

.form-grid-2 {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-s);
}

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

.perimeter-notice {
   padding: var(--space-s) var(--space-m);
   background-color: var(--surface-tint);
   border-left: 3px solid var(--primary);
   font-family: var(--fivu-59f);
   font-size: var(--step--1);
   color: var(--ink-muted);
}

.plain-questions-container {
   max-width: 820px;
   margin-left: auto;
   margin-right: auto;
   display: flex;
   flex-direction: column;
   gap: var(--space-2xl);
}

.plain-question-block {
   padding-bottom: var(--space-xl);
   border-bottom: 1px solid var(--rule-hairline);
}

.plain-question-block:last-child {
   border-bottom: none;
}

.plain-question-title {
   font-family: var(--fivu-78d);
   font-size: var(--fivu-448);
   line-height: 1.18;
   color: var(--ink);
   margin-bottom: var(--space-s);
}

.plain-answer-body {
   font-family: var(--fivu-bed);
   font-size: var(--fivu-ebd);
   line-height: 1.68;
   color: var(--ink);
   max-width: 68ch;
}

.plain-answer-body p + p {
   margin-top: var(--space-s);
}

.plain-answer-body ul,
.plain-answer-body ol {
   margin-top: var(--space-s);
   margin-bottom: var(--space-s);
}

.dsar-box {
   background-color: var(--surface-tint);
   border: 2px solid var(--rule-heavy);
   padding: var(--space-l);
   margin-top: var(--space-m);
}

.dated-rail-layout {
   display: grid;
   grid-template-columns: 1fr;
   gap: var(--space-xl);
   position: relative;
}

@media (min-width: 860px) {
   .dated-rail-layout {
      grid-template-columns: 240px 1fr;
      gap: var(--space-2xl);
   }
}

.dated-rail-sidebar {
   border-bottom: 2px solid var(--rule-heavy);
   padding-bottom: var(--space-m);
}

@media (min-width: 860px) {
   .dated-rail-sidebar {
      border-bottom: none;
      border-right: 2px solid var(--rule-heavy);
      padding-bottom: 0;
      padding-right: var(--space-l);
   }
}

.dated-rail-sticky {
   position: relative;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   gap: var(--space-s);
}

@media (min-width: 860px) {
   .dated-rail-sticky {
      position: sticky;
      top: 6rem;
      flex-direction: column;
      gap: var(--space-m);
   }
}

.dated-rail-item {
   display: flex;
   flex-direction: column;
   gap: 0.2rem;
   border-left: 2px solid var(--primary);
   padding-left: var(--space-xs);
   min-width: 140px;
}

.dated-rail-label {
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   text-transform: uppercase;
   letter-spacing: 0.05em;
   color: var(--ink-muted);
}

.dated-rail-val {
   font-family: var(--fivu-59f);
   font-size: var(--step--1);
   font-weight: 700;
   color: var(--ink);
}

.dated-content-pane {
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
}

.dated-section-block {
   padding-bottom: var(--space-l);
   border-bottom: 1px solid var(--rule-hairline);
}

.dated-section-block:last-child {
   border-bottom: none;
}

.dated-section-block h2 {
   font-size: var(--fivu-448);
   margin-bottom: var(--space-xs);
}

.clauses-container {
   max-width: 1040px;
   margin-left: auto;
   margin-right: auto;
   display: flex;
   flex-direction: column;
   gap: var(--space-2xl);
}

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

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

@media (min-width: 768px) {
   .clause-row {
      grid-template-columns: 4rem 1fr;
      gap: var(--space-l);
   }
}

.clause-num {
   font-family: var(--fivu-59f);
   font-size: var(--step--1);
   font-weight: 700;
   color: var(--primary);
   line-height: 1.8;
}

.clause-content {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
}

.clause-content h2 {
   font-size: var(--fivu-1e9);
   line-height: 1.25;
   margin-bottom: var(--space-2xs);
}

.clause-content p {
   max-width: 72ch;
   line-height: 1.65;
}

.clause-content p + p {
   margin-top: var(--space-xs);
}

.faq-wrapper {
   max-width: 820px;
   margin-top: var(--space-l);
   border-top: 2px solid var(--rule-heavy);
}

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

.faq-question-btn {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--space-s);
   padding: var(--space-m) 0;
   background: transparent;
   border: none;
   text-align: left;
   cursor: pointer;
   font-family: var(--fivu-78d);
   font-size: var(--fivu-1e9);
   color: var(--ink);
   line-height: 1.25;
   transition: color var(--duration-short) var(--ease-out-quad);
}

.faq-question-btn:hover {
   color: var(--primary);
}

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

.faq-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   border: 1px solid var(--rule-heavy);
   flex-shrink: 0;
   transition: transform var(--duration-short) var(--ease-out-quad),
                     background-color var(--duration-short) var(--ease-out-quad),
                     color var(--duration-short) var(--ease-out-quad);
}

.faq-question-btn[aria-expanded="true"] .faq-icon {
   transform: rotate(180deg);
   background-color: var(--primary);
   border-color: var(--primary);
   color: var(--ground);
}

.faq-answer-panel {
   display: none;
   padding-bottom: var(--space-m);
   color: var(--ink-muted);
   font-size: var(--fivu-ebd);
   line-height: 1.65;
}

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

.faq-answer-panel p + p {
   margin-top: var(--space-xs);
}

.error-hero-pane {
   min-height: 60vh;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   padding: var(--space-2xl) 0;
}

.error-giant-code {
   font-family: var(--fivu-78d);
   font-size: clamp(4rem, 12vw, 8.5rem);
   line-height: 0.95;
   color: var(--primary);
   margin-bottom: var(--space-s);
}

.error-headline {
   font-size: var(--fivu-4e4);
   margin-bottom: var(--space-s);
}

.error-text {
   font-size: var(--fivu-0c8);
   color: var(--ink-muted);
   max-width: 50ch;
   margin-bottom: var(--space-l);
}

.legal-data-table {
   width: 100%;
   border-collapse: collapse;
   margin: var(--space-m) 0;
   font-size: var(--step--1);
   border: 2px solid var(--rule-heavy);
   background-color: var(--ground);
}

.legal-data-table th,
.legal-data-table td {
   padding: 0.75rem 1rem;
   border-bottom: 1px solid var(--rule-hairline);
   vertical-align: top;
   text-align: left;
}

.legal-data-table th {
   background-color: var(--surface-tint);
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   text-transform: uppercase;
   letter-spacing: 0.05em;
   border-bottom: 2px solid var(--rule-heavy);
   color: var(--ink);
}

.legal-data-table tr:hover td {
   background-color: #fafafd;
}

.legal-tag {
   display: inline-block;
   padding: 0.2rem 0.45rem;
   font-family: var(--fivu-59f);
   font-size: var(--step--2);
   background-color: var(--surface-tint);
   border: 1px solid var(--rule-hairline);
   margin-bottom: 0.25rem;
}

[data-speed] {
   will-change: transform;
}

[data-lag] {
   will-change: transform;
}

@media (max-width: 480px) {
   .hero-headline {
      font-size: clamp(2.1rem, 9vw, 2.65rem);
   }

   .block-title-editorial {
      font-size: clamp(1.75rem, 7vw, 2.15rem);
   }

   .rail-card {
      max-width: calc(100vw - 2.5rem);
      padding: var(--space-m);
   }

   .collage-stage {
      min-height: 320px;
   }

   .collage-item-primary {
      width: 90%;
   }

   .collage-item-secondary {
      width: 72%;
      top: 25%;
   }

   .collage-item-tertiary {
      width: 65%;
   }
}
