/* Scoped to the Client Craft layout. All content is visible before enhancement. */
body.clientcraft-cms main { overflow: clip; }
body.clientcraft-cms [id] { scroll-margin-top: var(--cc-sticky-top, 126px); }
body.clientcraft-cms [data-cc-effect] {
    transition: opacity 600ms cubic-bezier(0.22, 1, 0.36, 1) var(--cc-enter-delay, 0ms), translate 750ms cubic-bezier(0.22, 1, 0.36, 1) var(--cc-enter-delay, 0ms);
}
body.clientcraft-cms [data-cc-pending="true"] { opacity: 0; }
body.clientcraft-cms [data-cc-pending="true"][data-cc-effect="rise"] { translate: 0 28px; }
body.clientcraft-cms [data-cc-pin] {
    position: static; max-height: none; overflow: visible; align-self: start;
}
body.clientcraft-cms [data-cc-pinned="true"] { position: sticky; top: var(--cc-sticky-top, 126px); }
body.clientcraft-cms [data-cc-hover="none"] .work-tile:hover::before { transform: none; }
body.clientcraft-cms [data-cc-hover="none"] .sector-card:hover { background: inherit; border-color: inherit; }
body.clientcraft-cms [data-cc-hover="none"] .sector-directory-links a:hover strong { color: inherit; }
body.clientcraft-cms [data-cc-hover="subtle"] .project-visual { overflow: hidden; }
body.clientcraft-cms [data-cc-hover="subtle"] :is(.page-stack > div, .platform-map > article) {
    padding-inline: clamp(16px, 2vw, 28px);
    border-radius: 8px;
}
body.clientcraft-cms [data-cc-hover="subtle"] :is(.page-stack > div, .platform-map > article, .sector-card, .article-card) {
    transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease;
}
body.clientcraft-cms [data-cc-hover="subtle"] :is(.page-stack > div span, .platform-map > article > span, .page-stack h3) {
    transition: color 200ms ease;
}
body.clientcraft-cms [data-cc-hover="subtle"] .work-tile::before,
body.clientcraft-cms [data-cc-hover="subtle"] .project-visual img {
    transition: transform 200ms ease;
}
body.clientcraft-cms [data-cc-hover="subtle"] .work-tile { transform: none; }
body.clientcraft-cms [data-cc-hover="subtle"] .article-card { transition: transform 200ms ease; }
body.clientcraft-cms [data-cc-hover="subtle"] .article-card:focus-visible h2 { color: var(--blue, #354cff); }
body.clientcraft-cms [data-cc-hover="subtle"] .work-tile:focus-visible::before,
body.clientcraft-cms [data-cc-hover="subtle"] .project-visual:focus-visible img { transform: scale(1.035); }
@media (hover: hover) and (pointer: fine) {
    body.clientcraft-cms [data-cc-hover="subtle"] :is(.page-stack > div, .platform-map > article):hover { background-color: #f5f7ff; }
    body.clientcraft-cms [data-cc-hover="subtle"] :is(.page-stack > div:hover span, .page-stack > div:hover h3, .platform-map > article:hover > span) { color: var(--blue, #354cff); }
    body.clientcraft-cms [data-cc-hover="subtle"] .article-card:hover { transform: translateY(-2px); }
    body.clientcraft-cms [data-cc-hover="subtle"] .work-tile:hover::before,
    body.clientcraft-cms [data-cc-hover="subtle"] .project-visual:hover img { transform: scale(1.035); }
}
@media (max-width: 800px) {
    body.clientcraft-cms [data-cc-effect] { transition-duration: 250ms; transition-delay: 0ms; translate: none !important; }
}
@media (hover: none), (pointer: coarse) {
    body.clientcraft-cms .button:hover { transform: none; }
    body.clientcraft-cms .work-tile:hover::before { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    html:has(body.clientcraft-cms) { scroll-behavior: auto; }
    body.clientcraft-cms [data-cc-effect] { opacity: 1 !important; translate: none !important; transition: none !important; }
    body.clientcraft-cms .button, body.clientcraft-cms .work-tile::before,
    body.clientcraft-cms .project-visual img { transition: none !important; }
    body.clientcraft-cms [data-cc-hover="subtle"] .article-card:hover { transform: none; }
    body.clientcraft-cms .button:hover, body.clientcraft-cms .work-tile:hover::before,
    body.clientcraft-cms .work-tile:focus-visible::before,
    body.clientcraft-cms .project-visual:hover img, body.clientcraft-cms .project-visual:focus-visible img { transform: none !important; }
}
