


.hero-opening {
   position: relative;
   min-height: clamp(540px, 80vh, 880px);
   background-color: var(--ground);
   display: flex;
   align-items: center;
   overflow: hidden;
   border-block-end: 1px solid var(--surface-2);
}


.hero-opening__bg {
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 45%;
   width: 55%;
   height: 100%;
   z-index: 1;
   pointer-events: none;
}


.hero-opening__bg img {
   width: 100%;
   height: 100%;
   aspect-ratio: 3 / 2;
   object-fit: cover;
   object-position: center center;
}


.hero-opening__scrim { display: none; }


@media (max-width: 840px) {
   .hero-opening {
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      min-height: 560px;
      padding-top: 220px;

   }
   .hero-opening__bg {
      left: 0;
      width: 100%;
      height: 55%;
      bottom: auto;
      top: 0;
   }
   .hero-opening__bg img { object-position: 85% center; }
}


.hero-opening__content {
   position: relative;
   z-index: 3;
   width: 100%;
   padding-block: var(--space-xl);
}


.hero-opening__lockup {
   max-width: 520px;
   display: flex;
   flex-direction: column;
   gap: var(--space-sm);
}


.hero-opening__title {
   font-family: var(--wuli-fbe);
   font-size: var(--fs-display);
   line-height: var(--lh-display);
   font-weight: 700;
   color: var(--ink);
   letter-spacing: var(--ls-display);
   text-wrap: balance;
   margin: 0;
}


.hero-opening__lede {
   font-size: var(--fs-lede);
   line-height: 1.5;
   color: var(--ink);
   max-width: 52ch;
   margin: 0;
}


.hero-opening__action {
   margin-block-start: var(--space-xs);
   align-self: flex-start;
}


.hero-spine-container {
   position: relative;
   width: 100%;
   max-width: 640px;
   margin-block-start: var(--space-md);
}


.hero-spine-svg {
   width: 100%;
   height: 90px;
   overflow: visible;
}


.hero-spine-svg path.spine-guide {
   stroke: var(--surface-2);
   stroke-width: 2px;
   fill: none;
}


.hero-spine-svg path.spine-draw {
   stroke: var(--accent);
   stroke-width: 2.5px;
   fill: none;
   stroke-linecap: round;
   stroke-linejoin: round;
   transition: stroke-dashoffset 0.15s ease-out;
}


.hero-spine-svg circle.spine-marker {
   fill: var(--ground);
   stroke: var(--accent);
   stroke-width: 2px;
}



.process-spine-section {
   position: relative;
   background-color: var(--surface);
   padding-block: var(--space-xl);
   border-block-end: 1px solid var(--line);
}


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


@media (max-width: 900px) {
   .process-spine-grid {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-lg);
   }
}


.process-spine-rail {
   position: relative;
   padding-inline-end: var(--space-md);
}


.process-spine-svg-vertical {
   width: 100%;
   max-width: 320px;
   height: 480px;
   overflow: visible;
}


@media (max-width: 900px) {
   .process-spine-rail { display: none; }
}


.process-spine-svg-vertical path.route-track {
   stroke: var(--line);
   stroke-width: 2px;
   stroke-dasharray: 4 4;
   fill: none;
}


.process-spine-svg-vertical path.route-active {
   stroke: var(--accent);
   stroke-width: 3px;
   fill: none;
   stroke-linecap: round;
   transition: stroke-dashoffset 0.15s linear;
}


.process-stage-node { transition: transform var(--trans-fast), fill var(--trans-fast); }


.process-stage-node.is-active circle {
   fill: var(--accent);
   stroke: var(--ground);

   stroke-width: 3px;
}


.process-stage-node text {
   font-family: var(--wuli-ba9);
   font-size: 11px;
   fill: var(--ink);
   letter-spacing: var(--ls-mono);
}


.process-spine-steps {
   display: flex;
   flex-direction: column;
   gap: var(--space-lg);
}


.process-step-item {
   position: relative;
   padding: var(--space-md);
   background-color: var(--ground);
   border-inline-start: 3px solid var(--line);
   border-block-end: 1px solid var(--surface-2);
   transition: border-color var(--trans-fast), transform var(--trans-fast);
}


.process-step-item:last-child { border-block-end: none; }


.process-step-item:nth-child(2) { margin-inline-start: clamp(0.5rem, 2vw, 1.5rem); }


.process-step-item:nth-child(3) { margin-inline-start: clamp(1rem, 3.5vw, 2.5rem); }


.process-step-item:nth-child(4) { margin-inline-start: clamp(0.5rem, 2vw, 1.5rem); }


.process-step-item.is-active { border-inline-start-color: var(--accent); }


.process-step-item__meta {
   font-family: var(--wuli-ba9);
   font-size: var(--fs-caption);
   font-weight: 500;
   color: var(--accent);
   text-transform: uppercase;
   letter-spacing: var(--ls-mono);
   margin-block-end: 0.35rem;
   display: block;
}


.process-step-item__title {
   font-size: var(--fs-h3);
   font-family: var(--wuli-fbe);
   margin-block-end: 0.5rem;
}


.process-step-item__desc {
   font-size: var(--fs-body);
   color: var(--ink-soft);
   margin-block-end: var(--space-xs);
}



.job-section {
   padding-block: var(--space-xl);
   border-block-end: 1px solid var(--surface-2);
}


.job-section:last-of-type { border-block-end: none; }


.job-section__heading {
   font-family: var(--wuli-fbe);
   font-size: var(--fs-h2);
   line-height: var(--lh-h2);
   color: var(--ink);
   max-width: 900px;
   margin-block-end: var(--space-md);
   text-wrap: balance;
}


.job-section__split {
   display: grid;
   grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr);
   gap: var(--space-lg);
   align-items: start;
}


.job-section__split--invert { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); }


@media (max-width: 900px) {
   .job-section__split,
   .job-section__split--invert {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-md);
   }
}


.job-section__prose {
   font-size: var(--fs-body);
   line-height: var(--lh-body);
   color: var(--ink);
}


.job-section__facts {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   padding: var(--space-md);
}


.job-section__facts-title {
   font-family: var(--wuli-ba9);
   font-size: var(--fs-caption);
   text-transform: uppercase;
   letter-spacing: var(--ls-mono);
   color: var(--ink-soft);
   margin-block-end: var(--space-xs);
   display: block;
}


.full-evidence-photo {
   width: 100%;
   margin-block: var(--space-xl);
   border-block: 1px solid var(--surface-2);
   background-color: var(--surface);
}


.full-evidence-photo__figure {
   width: 100%;
   max-width: var(--max-width);
   margin-inline: auto;
   position: relative;
}


.full-evidence-photo__figure img {
   width: 100%;
   height: auto;
   aspect-ratio: 16 / 10;
   object-fit: cover;
   display: block;
}


.full-evidence-photo__caption {
   padding: 0.75rem var(--pad-gutter);
   font-size: var(--fs-caption);
   color: var(--ink-soft);
   background-color: var(--ground);
   border-block-start: 1px solid var(--surface-2);
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: var(--space-xs);
}



.dropper-plate {
   position: relative;
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   padding: clamp(1rem, 2.5vw, 2rem);
   margin-block: var(--space-lg);
}


.dropper-plate__canvas {
   position: relative;
   max-width: 960px;
   margin-inline: auto;
   border: 1px solid var(--surface-2);
   background-color: var(--ground);
   overflow: hidden;
}


.dropper-plate__canvas img {

   width: 100%;
   height: auto;
   display: block;
}


.plate-callout {
   position: absolute;
   background-color: rgba(255, 255, 255, 0.96);
   border: 1px solid var(--ink);
   border-radius: var(--radius-sm);
   padding: 0.65rem 0.85rem;
   max-width: 260px;
   box-shadow: var(--shadow-card);
   backdrop-filter: blur(4px);
   z-index: 2;
}


.plate-callout__pointer {
   position: absolute;
   width: 8px;
   height: 8px;
   background-color: var(--ink);
   border-radius: 50%;
}


.plate-callout--top-left {
   top: 8%;
   left: 6%;
}


.plate-callout--mid-right {
   top: 38%;
   right: 6%;
}


.plate-callout--bottom-left {
   bottom: 12%;
   left: 8%;
}


@media (max-width: 800px) {
   .plate-callout {
      position: static;
      max-width: 100%;
      margin: 0.5rem;
      box-shadow: none;
   }
}



.tool-workbench {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   padding: clamp(1.4rem, 2.8vw, 2.6rem);
   margin-block: var(--space-lg);
}


.tool-workbench__grid {
   display: grid;
   grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
   gap: var(--space-xl);
   align-items: stretch;
}


@media (max-width: 900px) {
   .tool-workbench__grid {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-lg);
   }
}


.tool-controls {
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}


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


.tool-field__label {
   font-size: var(--fs-body-sm);
   font-weight: 600;
   color: var(--ink);
   display: flex;
   justify-content: space-between;
}


.tool-field__val-display {
   font-family: var(--wuli-ba9);
   color: var(--accent);
   font-size: var(--fs-body-sm);
}


.tool-range {
   width: 100%;
   accent-color: var(--accent);
   height: 6px;
   background-color: var(--surface-2);
   border-radius: 3px;
   cursor: pointer;
}


.tool-output-panel {
   background-color: var(--ground);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   padding: clamp(1.2rem, 2vw, 1.8rem);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   gap: var(--space-md);
}


.tool-metric-box {
   display: flex;
   flex-direction: column;
   gap: 0.25rem;
   padding-block-end: var(--space-sm);
   border-block-end: 1px solid var(--surface-2);
}


.tool-metric-box:last-of-type {
   border-block-end: none;
   padding-block-end: 0;
}


.tool-metric-val {
   font-family: var(--wuli-ba9);
   font-size: clamp(1.6rem, 2.4vw, 2.2rem);
   font-weight: 700;
   color: var(--ink);
   line-height: 1.15;
}


.lookup-result-head {
   display: flex;
   flex-direction: column;
   gap: 0.35rem;
   width: 100%;
}


.lookup-result-badge {
   display: inline-block;
   font-size: var(--fs-caption);
   font-weight: 600;
   color: var(--accent);
   background-color: var(--surface);
   border: 1px solid var(--line);
   padding: 0.25rem 0.5rem;
   border-radius: var(--radius-sm);
   width: auto;
   max-width: 100%;
   white-space: normal;
   line-height: 1.35;
}


.lookup-result-num {
   font-family: var(--wuli-ba9);
   font-size: clamp(1.4rem, 2.2vw, 2rem);
   font-weight: 700;
   color: var(--ink);
}


.lookup-result-sub {
   font-size: var(--fs-body-sm);
   color: var(--ink-soft);
}


.lookup-result-details {
   display: flex;
   flex-direction: column;
   gap: 0.4rem;
   margin-block-start: var(--space-sm);
}


.lookup-detail-row {
   font-size: var(--fs-caption);
   display: flex;
   flex-direction: column;
   gap: 0.15rem;
}


.lookup-label {
   font-weight: 600;
   color: var(--ink);
}


.lookup-val { color: var(--ink-soft); }


.tool-metric-sub {
   font-size: var(--fs-caption);
   color: var(--ink-soft);
}


.tool-disclaimer {
   font-size: var(--fs-caption);
   color: var(--ink-soft);
   font-style: italic;
   margin: 0;
}



.legal-margin-layout { padding-block: var(--space-xl); }


.legal-margin-header {
   margin-block-end: var(--space-xl);
   max-width: 820px;
}


.legal-margin-row {
   display: grid;
   grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
   gap: var(--space-xl);
   align-items: start;
   padding-block-end: var(--space-xl);
   border-block-end: 1px solid var(--surface-2);
   margin-block-end: var(--space-xl);
}


.legal-margin-row:last-child {
   border-block-end: none;
   margin-block-end: 0;
}


.legal-main-col {
   font-size: var(--fs-body);
   line-height: var(--lh-body);
   color: var(--ink);
}


.legal-main-col h2 {
   font-size: var(--fs-h3);
   margin-block-end: var(--space-sm);
   padding-block-start: var(--space-xs);
}


.legal-margin-note {
   position: sticky;
   top: 90px;
   background-color: var(--surface);
   border-inline-start: 2px solid var(--accent);
   padding: 0.85rem 1.1rem;
   border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
   font-size: var(--fs-caption);
   color: var(--ink-soft);
   line-height: 1.45;
}


.legal-margin-note__title {
   font-family: var(--wuli-ba9);
   font-weight: 600;
   font-size: var(--fs-caption);
   text-transform: uppercase;
   letter-spacing: var(--ls-mono);
   color: var(--ink);
   margin-block-end: 0.25rem;
   display: block;
}


@media (max-width: 900px) {
   .legal-margin-row {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-md);
   }
   .legal-margin-note {
      position: static;
      margin-block-start: var(--space-sm);
   }
}



.statute-layout { padding-block: var(--space-xl); }


.statute-preamble {
   margin-block-end: var(--space-xl);
   max-width: 820px;
}


.statute-columns {
   column-count: 2;
   column-gap: var(--space-xl);
   column-rule: 1px solid var(--line);
   text-align: justify;
   text-justify: inter-word;
}


@media (max-width: 900px) {
   .statute-columns {
      column-count: 1;
      column-rule: none;
      text-align: left;
   }
}


.statute-clause {
   break-inside: avoid;
   margin-block-end: var(--space-md);
   font-size: var(--fs-body-sm);
   line-height: 1.55;
   color: var(--ink);
}


.statute-clause__lead {
   font-variant: small-caps;
   font-weight: 700;
   letter-spacing: var(--ls-caps);
   color: var(--ink);
   padding-inline-end: 0.35rem;
   display: inline;
}


.statute-clause__body { display: inline; }



.terms-rail-layout { padding-block: var(--space-xl); }


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


.terms-dated-rail {
   position: sticky;
   top: 84px;
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   padding: 1.25rem 1rem;
   max-height: calc(100vh - 100px);
   max-height: calc(100svh - 100px);
   overflow-y: auto;
}


.terms-rail-head {
   padding-block-end: 0.75rem;
   border-block-end: 1px solid var(--surface-2);
   margin-block-end: 0.85rem;
}


.terms-rail-head__title {
   font-family: var(--wuli-fbe);
   font-size: var(--fs-caption);
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: var(--ls-caps);
   color: var(--ink);
   display: block;
}


.terms-rail-head__sub {
   font-family: var(--wuli-ba9);
   font-size: 11px;
   color: var(--accent);
   letter-spacing: var(--ls-mono);
   display: block;
   margin-block-start: 2px;
}


.terms-rail-list {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   position: relative;
}


.terms-rail-list::before {
   content: "";
   position: absolute;
   top: 10px;
   bottom: 14px;
   left: 6px;
   width: 2px;
   background-color: var(--surface-2);
   z-index: 1;
}


.terms-rail-node {
   position: relative;
   padding-block: 0.35rem;
}


.terms-rail-link {
   display: flex;
   align-items: flex-start;
   gap: 0.75rem;
   text-decoration: none;
   color: inherit;
   position: relative;
   z-index: 2;
   padding: 0.2rem 0.35rem;
   border-radius: var(--radius-sm);
   transition: background-color var(--trans-fast);
}


.terms-rail-link:hover,
.terms-rail-link:focus-visible { background-color: var(--surface-2); }


.terms-rail-marker {
   width: 14px;
   height: 14px;
   border-radius: 50%;
   background-color: var(--ground);
   border: 3px solid var(--accent);
   flex-shrink: 0;
   margin-block-start: 3px;
   transition: transform var(--trans-fast), background-color var(--trans-fast);
}


.terms-rail-link:hover .terms-rail-marker {
   background-color: var(--accent);
   transform: scale(1.15);
}


.terms-rail-meta {
   display: flex;
   flex-direction: column;
   line-height: 1.25;
}


.terms-rail-clock {
   font-family: var(--wuli-ba9);
   font-size: 12px;
   font-weight: 700;
   color: var(--accent);
   letter-spacing: var(--ls-mono);
}


.terms-rail-label {
   font-size: 11px;
   text-transform: uppercase;
   letter-spacing: var(--ls-caps);
   color: var(--ink-soft);
   margin-block-start: 1px;
}


/* Main Content Area */
.terms-main-content {
   display: flex;
   flex-direction: column;
   gap: var(--space-xl);
   min-width: 0;
}


.terms-section {
   padding-block-end: var(--space-xl);
   border-block-end: 1px solid var(--surface-2);
   position: relative;
}


.terms-section:last-child {
   border-block-end: none;
   padding-block-end: 0;
}


.terms-section h2 {
   font-size: var(--fs-h3);
   margin-block-end: var(--space-sm);
   color: var(--ink);
   text-wrap: balance;
}


.terms-section p,
.terms-section ul,
.terms-section ol {
   font-size: var(--fs-body);
   line-height: var(--lh-body);
   color: var(--ink);
   margin-block-end: var(--space-sm);
}


.terms-section p:last-child,
.terms-section ul:last-child,
.terms-section ol:last-child { margin-block-end: 0; }


.terms-section__marker-pin {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   background-color: var(--surface);
   border-inline-start: 3px solid var(--accent);
   padding: 0.35rem 0.65rem;
   border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
   margin-block-end: var(--space-sm);
}


.terms-section__pin-point {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background-color: var(--accent);
   flex-shrink: 0;
}


.terms-section__pin-clock {
   font-family: var(--wuli-ba9);
   font-size: var(--fs-caption);
   font-weight: 600;
   color: var(--ink);
   letter-spacing: var(--ls-mono);
}


@media (max-width: 860px) {
   .terms-rail-container {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-lg);
   }


   .terms-dated-rail {
      position: static;
      max-height: none;
      overflow: visible;
      padding: 0.85rem 0.75rem;
   }


   .terms-rail-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-block-end: 0.5rem;
      margin-block-end: 0.5rem;
   }


   .terms-rail-head__sub { margin-block-start: 0; }


   .terms-rail-list::before { display: none; }


   .terms-rail-list {
      flex-direction: row;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      gap: 0.5rem;
      padding-block-end: 0.4rem;
   }


   .terms-rail-node {
      flex-shrink: 0;
      scroll-snap-align: start;
      padding-block: 0;
   }


   .terms-rail-link {
      background-color: var(--ground);
      border: 1px solid var(--line);
      border-radius: var(--radius-sm);
      padding: 0.45rem 0.65rem;
      align-items: center;
      gap: 0.5rem;
      white-space: nowrap;
   }


   .terms-rail-marker {
      margin-block-start: 0;
      width: 8px;
      height: 8px;
      border-width: 2px;
   }


   .terms-rail-meta {
      flex-direction: row;
      align-items: baseline;
      gap: 0.4rem;
   }


   .terms-rail-label { margin-block-start: 0; }
}


@media (max-width: 480px) {
   .terms-rail-layout { padding-block: var(--space-lg); }


   .terms-rail-link { padding: 0.4rem 0.55rem; }
}



.page-hero {
   padding-block: var(--space-lg) var(--space-md);
   background-color: var(--ground);
   border-block-end: 1px solid var(--surface-2);
}


.page-hero__inner {
   display: flex;
   flex-direction: column;
   gap: var(--space-xs);
   max-width: 820px;
}


.page-hero__meta {
   font-family: var(--wuli-ba9);
   font-size: var(--fs-caption);
   text-transform: uppercase;
   letter-spacing: var(--ls-mono);
   color: var(--accent);
   font-weight: 500;
}


.page-hero__title {
   font-size: var(--fs-h1);
   line-height: var(--lh-h1);
   color: var(--ink);
   margin: 0;
}


.page-hero__desc {
   font-size: var(--fs-lede);
   color: var(--ink-soft);
   margin: 0;
   max-width: 60ch;
}


.product-stage {
   padding-block: var(--space-xl);
   border-block-end: 1px solid var(--surface-2);
}


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


@media (max-width: 900px) {
   .product-stage__grid {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-lg);
   }
}


.product-stage__gallery {
   position: relative;
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   overflow: hidden;
}


.product-stage__gallery img {
   width: 100%;
   height: auto;
   aspect-ratio: 4 / 3;
   object-fit: cover;
}


.product-stage__info {
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}


.product-price-bracket {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   padding: 1rem 1.25rem;
}


.product-price-bracket__val {
   font-family: var(--wuli-ba9);
   font-size: var(--fs-h3);
   font-weight: 600;
   color: var(--ink);
}


.product-price-bracket__note {
   font-size: var(--fs-caption);
   color: var(--ink-soft);
   margin-block-start: 0.25rem;
}



.faq-list {
   display: flex;
   flex-direction: column;
   border-block-start: 1px solid var(--line);
   margin-block: var(--space-lg);
}


.faq-item { border-block-end: 1px solid var(--line); }


.faq-trigger {
   width: 100%;
   padding-block: 1.15rem;
   padding-inline: 0;
   background: none;
   border: none;
   display: flex;
   align-items: center;
   justify-content: space-between;
   text-align: left;
   cursor: pointer;
   min-height: 48px;
   gap: var(--space-sm);
   transition: color var(--trans-fast);
}


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


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


.faq-question {
   font-family: var(--wuli-fbe);
   font-size: var(--fs-h4);
   font-weight: 600;
   color: inherit;
   margin: 0;
}


.faq-icon {
   width: 20px;
   height: 20px;
   transition: transform var(--trans-fast);
   flex-shrink: 0;
}


.faq-item.is-open .faq-icon { transform: rotate(180deg); }


.faq-content {
   display: none;
   padding-block-end: 1.25rem;
   font-size: var(--fs-body);
   color: var(--ink-soft);
}


.faq-item.is-open .faq-content { display: block; }



.contact-layout { padding-block: var(--space-xl); }


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


@media (max-width: 900px) {
   .contact-grid {
      grid-template-columns: minmax(0, 1fr);
      gap: var(--space-lg);
   }
}


.contact-dossier {
   background-color: var(--surface);
   border: 1px solid var(--line);
   border-radius: var(--radius-sm);
   padding: clamp(1.2rem, 2.4vw, 2.2rem);
   display: flex;
   flex-direction: column;
   gap: var(--space-md);
}


.dossier-entry {
   display: flex;
   flex-direction: column;
   gap: 0.25rem;
}


.dossier-label {
   font-family: var(--wuli-ba9);
   font-size: var(--fs-caption);
   text-transform: uppercase;
   letter-spacing: var(--ls-mono);
   color: var(--ink-soft);
}


.dossier-value {
   font-size: var(--fs-body);
   color: var(--ink);
   font-weight: 600;
}


.dossier-note {
   font-size: var(--fs-caption);
   color: var(--ink-soft);
}



.state-pane {
   padding-block: var(--space-2xl);
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: var(--space-md);
   max-width: 680px;
}


.state-pane__code {
   font-family: var(--wuli-ba9);
   font-size: clamp(2.4rem, 4.8vw, 4rem);
   font-weight: 700;
   color: var(--accent);
   line-height: 1;
}


.state-pane__title {
   font-family: var(--wuli-fbe);
   font-size: var(--fs-h2);
   line-height: var(--lh-h2);
}


.state-pane__desc {
   font-size: var(--fs-lede);
   color: var(--ink-soft);
}


.state-pane__actions {
   display: flex;
   flex-wrap: wrap;
   gap: var(--space-sm);
   margin-block-start: var(--space-xs);
}



@media (max-width: 480px) {
   .hero-opening { min-height: 480px; }
   .hero-opening__lockup { gap: var(--space-xs); }
   .tool-workbench { padding: 1rem; }
   .product-price-bracket { padding: 0.85rem; }
   .statute-columns { column-count: 1; }
}


@media (min-width: 1440px) {
   .hero-opening__lockup { max-width: 720px; }
   .process-spine-svg-vertical { height: 540px; }
}
