/* TOP-only enhancement. All content is visible before JavaScript and on failure. */
[data-motion-page] { --motion-ease:cubic-bezier(.22,1,.36,1); }
[data-motion-page] .site-header { transition:background-color .4s,box-shadow .4s; }
[data-motion-page] .site-header.is-scrolled { background:rgba(255,255,255,.97); box-shadow:0 3px 18px #031d4509; }
@supports (backdrop-filter:blur(6px)) {
 @media(min-width:961px) { [data-motion-page] .site-header.is-scrolled { background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); } }
}
[data-motion-page] .hero-first,[data-motion-page] .hero-second { overflow:visible; }
.motion-line { display:block; overflow:hidden; overflow:clip; }
[data-motion-page] .hero-photo { background-image:none; }
.hero-photo-media { display:block;position:absolute;inset:0;background-image:url('../img/office.png');background-size:auto 100%;background-repeat:no-repeat;background-position:inherit; }
.hero-video-layer { position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none; }
.hero-video-layer::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffff22,#fffffff0 33%,#fffffff0 67%,#ffffff22); }
.hero-video { display:block;width:100%;height:100%;object-fit:cover; }
[data-motion-page] .hero.has-video .hero-video-layer { opacity:1; }
[data-motion-page] .hero.has-video .hero-photo { visibility:hidden; }
.hero-video-toggle { position:absolute;bottom:16px;right:24px;z-index:5;background:white;color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:8px 12px;font-size:14px; }
.motion-brand { margin:32px 0 8px;max-width:100%; }
.motion-brand-words { display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:700;letter-spacing:.015em;font-size:clamp(16px,1.55vw,22px);margin:0 0 14px; }
.motion-brand-words i { font-style:normal;color:var(--brand);font-weight:400; }
.motion-brand-rule { height:1px;background:var(--brand);transform-origin:left; }
.motion-ai { margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line); }
.motion-ai figcaption { font-size:18px;font-weight:700;margin-bottom:18px;color:var(--ink); }
.motion-ai-map { position:relative;isolation:isolate; }
.motion-ai-map svg { position:absolute;inset:0;width:100%;height:252px;fill:none;stroke:var(--brand);stroke-width:1;opacity:.42; }
.motion-ai-core { position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:700;white-space:nowrap;padding:12px 8px;background:var(--ink);color:#fff;border-radius:2px; }
.motion-ai-nodes { display:grid;grid-template-columns:1fr 1fr;column-gap:42%;row-gap:12px;list-style:none;padding:0;margin:0; }
.motion-ai-nodes li { display:flex;align-items:center;justify-content:center;min-width:0;min-height:54px;padding:6px 4px;text-align:center;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;line-height:1.45;position:relative; }
.service-row .motion-ai-caption { font-size:14px;margin:16px 0 12px;line-height:1.8; }
.motion-ai .text-link { font-size:14px;gap:8px; }
.motion-work-frame { overflow:hidden;aspect-ratio:3/2;margin:0 0 16px; }
.motion-work-parallax { height:100%; }
[data-motion-page] .motion-work-frame .works-photo { width:100%;height:100%;margin:0;transition:transform .4s var(--motion-ease); }
[data-motion-page] .service-row-visual { overflow:hidden; }
[data-motion-page] .service-row-visual img { transition:transform .4s var(--motion-ease); }
[data-motion-page] .service-card { transition:transform .4s var(--motion-ease),border-color .4s,box-shadow .4s,background-color .4s; }
[data-motion-page] .card-bottom>.icon,[data-motion-page] .text-link .icon,[data-motion-page] .works-item h2 { transition:transform .4s var(--motion-ease); }
[data-motion-page] .desktop-nav a:after { width:100%;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease); }
[data-motion-page] .desktop-nav a:hover:after { transform:scaleX(1); }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 [data-motion-page] .service-card:hover { transform:translateY(-4px);border-color:var(--brand);box-shadow:0 10px 26px #031d4509; }
 [data-motion-page] .service-card:hover .card-bottom>.icon,[data-motion-page] .text-link:hover .icon { transform:translateX(4px); }
 [data-motion-page] .service-row-visual:hover img { transform:scale(1.02); }
 [data-motion-page] .works-item:hover .works-photo { transform:scale(1.03); }
 [data-motion-page] .works-item:hover h2 { transform:translateX(3px); }
}
@media(max-width:960px) { .motion-ai-map svg { display:none; }.motion-ai-core { position:static;transform:none;width:max-content;margin:0 auto 16px; }.motion-ai-nodes { column-gap:12px; }.hero-video-layer,.hero-video-toggle { display:none!important; } }
@media(max-width:767px) { .motion-brand-words { font-size:16px;gap:8px; }.motion-ai { margin-top:24px; }.motion-ai-nodes li { font-size:14px;min-height:44px; } }
@media(hover:none) { [data-motion-page] .service-card:hover { transform:none; } }
/* Cross-document only: no link interception, timeout or JavaScript overlay. */
@view-transition { navigation:auto; }
::view-transition-old(root),::view-transition-new(root) { animation-duration:.16s; }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 [data-motion-page] *,[data-motion-page] *::before,[data-motion-page] *::after { animation:none!important;transition:none!important; }
 [data-motion-page] .hero-photo-media,[data-motion-page] .motion-work-parallax,[data-motion-page] .motion-line { transform:none!important; }
 [data-motion-page] .service-card:hover,[data-motion-page] .button:hover { transform:none; }
 [data-motion-page] .site-header { -webkit-backdrop-filter:none!important;backdrop-filter:none!important; }
 ::view-transition-old(root),::view-transition-new(root) { animation:none; }
}
@media print { [data-motion-page] [style] { opacity:1!important;visibility:visible!important;transform:none!important; }.hero-video-layer,.hero-video-toggle { display:none!important; } }

.motion-mobile-break { display:none; }
@media(max-width:767px) { .motion-mobile-break { display:inline; } }
