/* Loaded only on the six presentation pages. Content stays visible without JS. */
.refactor-site:is(.page-home,.page-about,.page-service,.page-ops,.page-overseas,.page-park) {
  --motion-fast: .2s;
  --motion-base: .24s;
  --motion-ease: cubic-bezier(.2,.8,.2,1);
}
.refactor-site:is(.page-about,.page-service,.page-ops,.page-overseas,.page-park) {
  --reveal-distance: 16px;
  --reveal-duration: .48s;
}
.refactor-site.motion-ready [data-reveal] {
  opacity: 0;
  transform: translateY(var(--reveal-distance, 12px));
  transition:
    opacity var(--reveal-duration, .42s) cubic-bezier(.2,.8,.2,1),
    transform var(--reveal-duration, .42s) cubic-bezier(.2,.8,.2,1);
}
.refactor-site.motion-ready [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

@media (max-width: 767px) {
  .refactor-site:is(.page-about,.page-service,.page-ops,.page-overseas,.page-park) {
    --reveal-distance: 10px;
    --reveal-duration: .4s;
  }
  .refactor-site.motion-ready [data-reveal] {
    transform: translateY(var(--reveal-distance, 8px));
    transition-duration: var(--reveal-duration, .36s);
  }
}

@media (hover: hover) and (pointer: fine) {
  .refactor-site.page-home .partner-card:hover .partner-logo-area img { transform: scale(1.015); }
  .refactor-site.page-home .event-card:hover .etitle { color: #285b47; }
  .refactor-site.page-service .service-hero-entry:hover { transform: translateY(-2px); background-color: #10503c; }
  .refactor-site.page-service .service-hero-entry:hover .service-hero-entry-arrow { transform: translateX(4px); }
  .refactor-site.page-service .service-core-image-card:hover img { transform: scale(1.025); }
  .refactor-site.page-ops .ops-editorial-visual:hover img { transform: scale(1.025); }
  .refactor-site.page-about .about-core__card img {
    transition: transform var(--motion-base) var(--motion-ease);
  }
  .refactor-site.page-about .about-core__card:hover img {
    transform: scale(1.03);
  }
  .refactor-site.page-about .about-core__card:hover { transform: translateY(-2px); }
  .refactor-site.page-about .about-offline__photo-wrap:hover { box-shadow: 0 5px 15px rgba(20,62,43,.1); }
  .refactor-site.page-about .about-offline__photo-wrap:hover .about-offline__photo { transform: scale(1.025); }
}

.refactor-site.page-home .service-card {
  transition: transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);
}
.refactor-site.page-home .service-card img {
  transition: transform var(--motion-base) var(--motion-ease);
}
.refactor-site.page-home .service-card:focus-visible,
.refactor-site.page-home .service-card-wrap:focus-within .service-card {
  transform: translateY(-3px);
  box-shadow: 0 7px 18px rgba(20,40,32,.13);
}
.refactor-site.page-home .service-card:focus-visible { outline: 3px solid #d4af5a; outline-offset: 4px; }
.refactor-site.page-home .service-card:focus-visible img { transform: scale(1.03); }
.refactor-site.page-home .event-card:focus-visible,
.refactor-site.page-home .partner-card:focus-visible { transform: translateY(-2px); }
.refactor-site.page-home .event-card,
.refactor-site.page-home .partner-card {
  transition: transform var(--motion-base) var(--motion-ease), border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);
}
.refactor-site.page-home .event-card:focus-visible .etitle { color: #285b47; }
.refactor-site.page-home .event-card .etitle { transition: color var(--motion-fast) var(--motion-ease); }
.refactor-site.page-home .partner-logo-area img { transition: transform var(--motion-base) var(--motion-ease); }
.refactor-site.page-home .partner-card:focus-visible .partner-logo-area img { transform: scale(1.015); }
.refactor-site.page-home .sec-more:focus-visible svg { transform: translateX(3px); }

.refactor-site.page-service .service-hero-entry {
  transition: transform var(--motion-base) var(--motion-ease), background-color var(--motion-base) var(--motion-ease);
}
.refactor-site.page-service .service-hero-entry-arrow {
  transition: transform var(--motion-fast) var(--motion-ease);
}
.refactor-site.page-service .service-hero-entry:focus-visible { transform: translateY(-2px); }
.refactor-site.page-service .service-hero-entry:focus-visible .service-hero-entry-arrow { transform: translateX(4px); }
.refactor-site.page-service .service-core-image-card { overflow: hidden; }
.refactor-site.page-service .service-core-image-card img { transition: transform var(--motion-base) var(--motion-ease); }

.refactor-site.page-ops .ops-editorial-visual { overflow: hidden; border-radius: 16px; }
.refactor-site.page-ops .ops-editorial-image { transition: transform var(--motion-base) var(--motion-ease); }
.refactor-site.page-ops .ops-text-link svg { transition: transform var(--motion-fast) var(--motion-ease); }
.refactor-site.page-ops .ops-text-link:focus-visible svg { transform: translateX(3px); }
@media (hover: hover) and (pointer: fine) {
  .refactor-site.page-ops .ops-text-link:hover svg { transform: translateX(3px); }
}

.refactor-site.page-about .about-offline__photo-wrap,
.refactor-site.page-about .about-offline__photo {
  transition: transform var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);
}
.refactor-site.page-about .about-core__card { transition: transform var(--motion-base) var(--motion-ease); }

@media (prefers-reduced-motion: reduce) {
  .refactor-site [data-reveal],
  .refactor-site.motion-ready [data-reveal],
  .refactor-site.motion-ready [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
    transition: none;
    animation: none;
  }
  .refactor-site:is(.page-home,.page-about,.page-service,.page-ops,.page-overseas,.page-park) main *,
  .refactor-site:is(.page-home,.page-about,.page-service,.page-ops,.page-overseas,.page-park) main *::before,
  .refactor-site:is(.page-home,.page-about,.page-service,.page-ops,.page-overseas,.page-park) main *::after {
    animation-duration: 0s !important;
    transition-duration: 0s !important;
  }
  .refactor-site.page-about .about-core__card:hover img,
  .refactor-site.page-about .about-core__card:hover,
  .refactor-site.page-about .about-offline__photo-wrap:hover .about-offline__photo,
  .refactor-site.page-home .service-card:hover img,
  .refactor-site.page-home .service-card:focus-visible img,
  .refactor-site.page-home .partner-card:hover .partner-logo-area img,
  .refactor-site.page-home .news-feature:hover img,
  .refactor-site.page-home .sc-menu a:hover,
  .refactor-site.page-home .sec-more:hover svg {
    transform: none;
  }
  .refactor-site.page-home .service-card:focus-visible,
  .refactor-site.page-home .service-card-wrap:focus-within .service-card,
  .refactor-site.page-home .event-card:focus-visible,
  .refactor-site.page-home .partner-card:focus-visible,
  .refactor-site.page-home .partner-card:focus-visible .partner-logo-area img,
  .refactor-site.page-home .sec-more:focus-visible svg,
  .refactor-site.page-service .service-hero-entry:is(:hover,:focus-visible),
  .refactor-site.page-service .service-hero-entry:is(:hover,:focus-visible) .service-hero-entry-arrow,
  .refactor-site.page-service .service-core-image-card:hover img,
  .refactor-site.page-ops .ops-editorial-visual:hover img,
  .refactor-site.page-ops .ops-text-link:is(:hover,:focus-visible) svg { transform: none; }
}
