/* Motion is an enhancement. Keep all content visible when scripts are unavailable. */
html.lenis { scroll-behavior: auto; }
.hero-stage { background: var(--color-beige); }
.has-scroll-motion .hero { border-radius: 0; clip-path: inset(0% 0% 0% 0% round 0px); }
.has-scroll-motion .hero__visual img,
.has-scroll-motion .flagship__image img,
.has-scroll-motion .home-brand__image img,
.has-scroll-motion .recruit__photo img { animation: none; translate: none; scale: none; }
.has-scroll-motion .image-hover img { transition: none; }
/* Purpose uses normal flow: the slider and copy always reserve their space. */
.about { min-height: 0; padding-block: 110px 100px; overflow: visible; }
.about::before { content: none; }
.about__inner { display: block; }
.about .section-heading { width: 100%; padding: 0; margin-bottom: 60px; }
.about__content { display: flex; align-items: center; gap: 8%; }
.about__body { width: 44%; min-width: 0; margin: 0; padding: 0; }
.about__body .statement { font-size: clamp(25px, 2.5vw, 36px); }
.about__body .body-copy br { display: none; }
.about-gallery { --photo-radius: 0 90px 0 55px; --shape-shift-x: 22px; --shape-shift-y: 28px; position: relative; width: 48%; min-width: 0; left: auto; top: auto; margin: 0; visibility: visible; isolation: isolate; }
.about-gallery::before { content: ""; position: absolute; top: var(--shape-shift-y); left: calc(-1 * var(--shape-shift-x)); z-index: -1; width: 100%; aspect-ratio: 1.22; background: var(--color-beige); border-radius: var(--photo-radius); }
.about-gallery .splide__track { position: relative; z-index: 1; background: transparent; overflow: hidden; border-radius: var(--photo-radius); }
.about-gallery figure { margin: 0; overflow: hidden; aspect-ratio: 1.22; border-radius: var(--photo-radius); }
.about-gallery figure img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.gallery-controls { display: none; justify-content: space-between; align-items: center; padding-top: 36px; }
.is-initialized .gallery-controls { display: flex; }
.gallery-count { font-size: 14px; letter-spacing: .1em; }
.splide__arrows { display: flex; gap: 10px; }
.splide__arrow { display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-blue-ink); color: var(--color-blue-ink); background: transparent; border-radius: 50%; width: 50px; height: 50px; cursor: pointer; font-size: 24px; transition: background .3s, color .3s; }
.splide__arrow:hover { background: var(--color-blue-ink); color: white; }
.about-gallery:not(.is-initialized) .splide__slide:not(:first-child) { display: none; }
.brand-ribbon { padding: 55px 0 65px; border-top: 1px solid var(--color-line); overflow: hidden; }
.brand-ribbon__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 35px; }
.brand-ribbon__header p { color: var(--color-blue-ink); font-size: 22px; }
.brand-ribbon__toggle { background: none; border: 0; border-bottom: 1px solid currentColor; padding: 10px 0; font-size: 12px; color: var(--color-muted); cursor: pointer; }
.brand-carousel { visibility: visible; }
.brand-carousel .splide__slide { width: 220px; }
.brand-carousel a { display: flex; width: 100%; height: 110px; padding: 10px; align-items: center; justify-content: center; }
.brand-carousel img { width: 100%; height: 100%; object-fit: contain; }
.brand-carousel:not(.is-initialized) .splide__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 25px; }
.company { overflow: hidden; }
@media (max-width: 768px) {
  .about { padding-block: 75px; }
  .about .section-heading { margin-bottom: 38px; }
  .about__content { flex-direction: column; gap: 38px; }
  .about__body { width: 100%; }
  .about-gallery { --photo-radius: 0 65px 0 40px; --shape-shift-x: 12px; --shape-shift-y: 18px; width: 100%; max-width: 520px; }
  .brand-ribbon { padding-block: 35px; }
  .brand-ribbon__header { margin-bottom: 20px; }
  .brand-carousel .splide__slide { width: 160px; }
  .brand-carousel a { height: 90px; }
}
@media (prefers-reduced-motion: reduce) {
  .splide__arrow { transition: none; }
}
