/* The existing v2 and premium layers supply ThinkCodec's palette and typography. */
.managed-hero h1 { max-width: 15ch; }
.managed-hero .hero-accent { font-size: 1em; line-height: inherit; margin-top: 0; }
.managed-hero .hero-subhead { max-width: 42ch; }
.managed-art { max-width: 500px; justify-self: end; }
.managed-screen { fill: #0b191b; stroke: #31504e; }
.managed-track { fill: none; stroke: #31504e; stroke-width: 1.5; }
.managed-current { stroke-dasharray: 14 86; }
.managed-station rect { fill: #122e2c; stroke: #83b5ab; stroke-width: 1; }
.managed-station text { fill: var(--ink); font-size: 16px; text-anchor: middle; }
.managed-art figcaption { color: var(--muted); text-align: center; font-size: 14px; margin-top: 12px; }
.managed-services { padding-top: 72px; }
.managed-page .service-card h3 { max-width: 29ch; font-size: 24px; }
.managed-page .service-card ul { margin-bottom: 0; font-size: 16px; }
.managed-page .service-card li { align-items: baseline; }
.managed-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 80px; }
.managed-split h2 { max-width: 15ch; }
.managed-pricing { background: var(--surface); border-block: 1px solid var(--line); }
.managed-quote { color: var(--teal); font-size: 30px; line-height: 1.3; margin-bottom: 16px; }
.managed-process { margin: 32px 0 0; padding-left: 24px; }
.managed-process li { padding-left: 12px; }
.managed-process li + li { margin-top: 28px; }
.managed-process li::marker { color: var(--teal); }
.managed-process p { margin-top: 10px; }
.managed-connections p + p { margin-top: 24px; }
.managed-connections a, .managed-contact-link a { text-decoration: underline; text-underline-offset: 4px; }
.managed-faq { padding-top: 0; }
.managed-page .managed-faq .faq { margin-top: 0; }
.managed-contact { background: radial-gradient(ellipse at 80% 100%, #1c524130, transparent 65%), var(--surface); }
.managed-contact > .wrap > p { margin-top: 24px; }
.managed-contact > .wrap > .managed-contact-link { font-size: 16px; margin-top: 32px; }
@media (prefers-reduced-motion: no-preference) {
  .managed-scene { transform-origin: 50% 50%; animation: managed-camera 9s var(--ease) infinite alternate; }
  .managed-current { animation: managed-route 12s var(--ease) infinite; }
}
@keyframes managed-camera { to { transform: perspective(1100px) rotateY(-4deg) rotateX(2deg) translateY(-4px); } }
@keyframes managed-route { to { stroke-dashoffset: -100; } }
@media (max-width: 1000px) {
  .managed-split { gap: 40px; }
  .managed-page .service-card h3 { font-size: 22px; }
}
@media (max-width: 760px) {
  .managed-hero .hero-actions, .managed-contact .hero-actions { gap: 8px 16px; }
  .managed-hero .hero-actions .button, .managed-contact .hero-actions .button { font-size: 13px; }
  .managed-art { max-width: 370px; margin-inline: auto; }
  .managed-services { padding-block: 48px 64px; }
  .managed-page .section-heading { gap: 20px; }
  .managed-page .service-card h3 { font-size: 21px; }
  .managed-split { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .managed-split h2 { max-width: none; }
  .managed-pricing, .managed-connections, .managed-contact { padding-block: 64px; }
  .managed-faq { padding-bottom: 64px; }
}
