

.ct-plate { display: grid; gap: var(--s5); padding: clamp(1.5rem, 3.5vw, 2.75rem); align-content: start; }
.ct-emblem { width: 3.25rem; height: auto; margin-bottom: calc(var(--s2) * -1); }
.ct-line { display: grid; gap: 0.2rem; text-decoration: none; color: var(--fg); border-radius: var(--r-md); }
.ct-line__k { font-family: var(--f-display); font-weight: 500; font-size: var(--t-xs); letter-spacing: var(--track-wide); text-transform: uppercase; color: var(--accent); }
.ct-line__v { font-family: var(--f-display); font-weight: 600; letter-spacing: var(--track-snug); line-height: 1.05; transition: color var(--d-fast) var(--ease); text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.ct-line__v--tel { font-size: clamp(2.1rem, 1.4rem + 3vw, 4rem); font-variant-numeric: tabular-nums; white-space: nowrap; }

.ct-plate { container-type: inline-size; }
@supports (font-size: 1cqi) { .ct-line__v--tel { font-size: min(clamp(2.1rem, 1.4rem + 3vw, 4rem), 14.2cqi); } }
.ct-line__v--mail { font-size: clamp(0.95rem, 0.62rem + 1.4vw, 1.5rem); font-weight: 500; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) {
  .ct-line:hover .ct-line__v { color: var(--accent); text-decoration-color: var(--teal-hair); }
}
.ct-line:active .ct-line__v { transform: translateY(1px); }
.ct-line:focus-visible { outline-offset: 6px; }

.ct-now {
  display: grid; gap: 0.3rem; padding-top: var(--s4); border-top: 1px solid var(--rule);
  font-size: var(--t-sm); line-height: 1.5; color: var(--fg-soft); visibility: hidden;
  
  min-height: calc(var(--s4) + 2 * 1.5em + 0.3rem + 1px);
}
.ct-now.is-live { visibility: visible; }
.ct-now .ro { justify-self: start; }
html.js-fail .ct-now { display: none; }

.track { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s5); }

.track::before {
  content: ""; position: absolute; left: 1.75rem; right: 1.75rem; top: 1.25rem; height: 1px;
  background: var(--accent); transform-origin: left;
}
.track__step { display: grid; gap: var(--s3); align-content: start; }
.track__node { width: 3.5rem; height: auto; }
.track__node use { fill: var(--ground); stroke: currentColor; }
.track__node use.crown { stroke: var(--tk, var(--accent)); }
.track__n { font-size: var(--t-lg); font-weight: 600; }
.track__step p { max-width: 26ch; }
.track__step--free p { color: inherit; font-family: var(--f-display); font-weight: 600; }
@media (max-width: 860px) {
  .track { grid-template-columns: minmax(0, 1fr); gap: var(--s5); }
  .track::before { left: 1.75rem; right: auto; top: 1.25rem; bottom: 1.25rem; width: 1px; height: auto; transform-origin: top; }
  .track__step { grid-template-columns: 3.5rem 1.5rem minmax(0, 1fr); align-items: center; gap: var(--s3); }
  .track__step p { max-width: none; }
}

.audit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.audit__copy { display: grid; gap: var(--s4); justify-items: start; }
.audit__copy .h2 { max-width: 18ch; }
.audit__copy p { color: var(--fg-soft); max-width: 44ch; }
.audit__sheet {
  border-radius: var(--r-lg); box-shadow: var(--e3), var(--edge);
  padding: clamp(1.5rem, 3.5vw, 2.5rem) clamp(1.5rem, 3.5vw, 2.75rem);
}
.audit__list { display: grid; }
.audit__list li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--s3); align-items: center; padding-block: 0.95rem; border-bottom: 1px solid var(--rule); }
.audit__list li:last-child { border-bottom: 0; }
@media (max-width: 960px) { .audit { grid-template-columns: minmax(0, 1fr); gap: var(--s6); } }

.details { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.details .h2 { max-width: 12ch; }
@media (max-width: 960px) { .details { grid-template-columns: minmax(0, 1fr); gap: var(--s6); } }

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .track::before { animation: track-x linear both; animation-timeline: --scan; animation-range: cover 35vh cover calc(100% - 35vh); }
  }
  @media (prefers-reduced-motion: no-preference) and (max-width: 860px) {
    .track::before { animation-name: track-y; }
  }
}
@keyframes track-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes track-y { from { transform: scaleY(0); } to { transform: scaleY(1); } }

@media (prefers-reduced-motion: reduce) {
  .track::before { animation: none !important; }
  .ct-line:active .ct-line__v { transform: none; }
}
