/* Aether Lab content layer. The original layout and motion styles remain intact. */
.l-contents-cover-ttl-en .aether-brand-name { text-transform: uppercase; }
:root {
  --font-family-base: "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", Arial, sans-serif;
  --font-family-gothicmb101-r: var(--font-family-base);
  --font-family-gothicmb101-db: var(--font-family-base);
  --font-family-gothicmb101-b: var(--font-family-base);
  --aether-rule: rgb(28 28 28 / 18%);
}
html[lang="zh-Hans"] {
  --font-family-base: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
}
html[lang="zh-Hans"] :is(.mv-navi-link-txt, .l-header-navi-link-txt, .l-navi-link-txt, .l-footer-navi-link-txt, .l-footer-sub-link-txt) {
  font-family: "Montserrat", var(--font-family-base);
  letter-spacing: 0;
  word-spacing: normal;
}
.aether-logo { display: block; width: 100%; height: auto; }
.l-header .aether-logo { filter: brightness(0); }
.c-mark-obj img { display: block; width: 100%; height: auto; object-fit: contain; }
.c-mark-obj:has(> img) { background-color: currentColor; mask-position: center; mask-repeat: no-repeat; mask-size: 100% 100%; }
.c-mark-obj-left:has(> img) { mask-image: url('/aether/mark-left.png'); }
.c-mark-obj-right:has(> img) { mask-image: url('/aether/mark-right.png'); }
.c-mark-obj > img { opacity: 0; }
.c-mark-obj:has(> img) { width: 19.6rem; }

/* Paired copy always keeps English alongside the chosen Chinese script. */
.bilingual-zh, .bilingual-en { display: block; }
.bilingual-zh { line-height: 1.7; }
.bilingual-en {
  margin-top: .6em;
  font-family: var(--font-family-montserrat), sans-serif;
  font-size: .82em;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
  opacity: .68;
  overflow-wrap: break-word;
  word-break: normal;
  text-align: start;
}
.philosophy .bilingual-en { text-align: center; }
.philosophy-ttl .bilingual-en { font-size: .4em; letter-spacing: .025em; }
.philosophy-txt { max-width: 66rem; margin-left: auto; margin-right: auto; }
.business-item-txt, .news-item-ttl a { word-break: normal; text-align: start; }
.business-item-lead .bilingual-en, .recruit-lead .bilingual-en { font-size: .52em; }
.recruit-txt .bilingual-en { text-align: center; }
.news-item-ttl .bilingual-en { font-size: .9em; }
.news-item-ttl a { -webkit-line-clamp: unset; line-clamp: unset; }

/* Language controls occupy the final nav item; they survive Swup transitions. */
.aether-language-item { display: flex; align-items: center; justify-content: flex-end; }
.l-navi .aether-language-item { justify-content: flex-start; }
.language-switch {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.2rem;
  width: fit-content;
  white-space: nowrap;
}
.language-switch [class$="-link-txt"] { font-family: "Montserrat", var(--font-family-base); }
.language-switch a {
  color: inherit;
  text-decoration: none;
}
.l-navi .language-switch { gap: 1.6rem; }
.aether-footer-contact { position: relative; z-index: var(--zindex-middle); font-family: var(--font-family-montserrat), sans-serif; font-size: 1.1rem; line-height: 1.4; }
.aether-footer-contact a { text-decoration: none; }
.aether-footer-contact a:hover { text-decoration: underline; text-underline-offset: .25em; }

/* Live type uses the same three-line masks and stagger as the source lettering. */
.mv-ttl > span .aether-hero-word {
  display: inline-block;
  height: auto;
  margin: 0;
  padding: .8rem 0 0;
  overflow: visible;
  font-family: var(--font-family-bebas-neue), "Arial Narrow", sans-serif;
  font-size: 23.4rem;
  font-weight: 400;
  font-style: normal;
  line-height: .82;
  letter-spacing: -.025em;
  white-space: nowrap;
  vertical-align: top;
  transition: transform 1s var(--ease-expo-out);
}
.mv-ttl > span:first-of-type .aether-hero-word { font-size: 20.6rem; transition-delay: 0s; }
.mv-ttl > span:nth-of-type(2) .aether-hero-word { transition-delay: .15s; }
.mv-ttl > span:nth-of-type(3) .aether-hero-word { transition-delay: .3s; }
.is-loading .mv-ttl .aether-hero-word { transform: translate3d(0,110%,0); }
.mv-en { text-indent: 0; text-align: left; }
.mv-cover-item .mv-slide-img { display: block; width: 100%; height: 100%; }
.business-ttl-line, .recruit-ttl-line {
  font-family: var(--font-family-bebas-neue), "Arial Narrow", sans-serif;
  font-size: 18.4rem;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: .82;
  white-space: nowrap;
}

/* Editorial pages share the original generous rhythm, fine rules and dark ink. */
.aether-section {
  position: relative;
  width: min(118.4rem, calc(100% - 6.4rem));
  margin: 0 auto;
  padding: 12rem 0;
}
.aether-section + .aether-section { border-top: 1px solid var(--aether-rule); }
.aether-section:last-child { padding-bottom: 0; }
.aether-section-head { max-width: 86rem; margin-bottom: 6rem; }
.aether-kicker {
  margin-bottom: 2rem;
  font-family: var(--font-family-montserrat), sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.aether-section h2 {
  font-family: var(--font-family-bebas-neue), "Arial Narrow", sans-serif;
  font-size: 9.6rem;
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.aether-section h2 .bilingual-zh { font-family: var(--font-family-base); font-size: .4em; font-weight: 500; line-height: 1.5; }
.aether-section h2 .bilingual-en { font-family: inherit; font-size: .7em; line-height: 1; opacity: 1; }
.aether-section-head h2:not(:has(.bilingual-zh)) { font-family: var(--font-family-base); font-size: 4.6rem; font-weight: 500; line-height: 1.5; letter-spacing: .025em; }
.aether-section-head > p:not(.aether-kicker) { max-width: 64rem; margin-top: 3rem; font-size: 1.7rem; }
.aether-split { display: grid; grid-template-columns: 1fr 1fr; gap: 8rem; align-items: center; }
.aether-split > * { min-width: 0; }
.aether-split .aether-section-head { margin-bottom: 3.2rem; }
.aether-split h2 { font-size: 8rem; }
.aether-body { font-size: 1.7rem; line-height: 1.9; }
.aether-body p + p { margin-top: 2.5rem; }
.aether-body h3 { margin: 3.6rem 0 1.2rem; font-size: 2.2rem; line-height: 1.4; }
.aether-body a { text-underline-offset: .2em; }
.aether-body h2 + p { margin-top: 3rem; }
.aether-body > .c-link { margin-top: 3.2rem; }
.aether-image { position: relative; overflow: hidden; border-radius: var(--border-radius); }
.aether-image img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.aether-image[data-trigger-parallax] { --parallax-amount: 0; --parallax-scale: 1.12; }
.aether-image[data-trigger-parallax] img {
  transform: translate3d(0, calc((var(--parallax-amount) - .5) * 8%), 0) scale(var(--parallax-scale));
}
.aether-image[data-trigger-parallax].is-parallax-show img { will-change: transform; }
.aether-caption { margin-top: 1.5rem; font-size: 1.2rem; line-height: 1.6; opacity: .6; }
.aether-manifesto { max-width: 98rem; }
.aether-manifesto h2 { font-size: 11rem; }
.aether-manifesto > p:not(.aether-kicker) { margin-top: 3rem; font-family: var(--font-family-base); font-size: 1.7rem; line-height: 1.9; letter-spacing: 0; }
.aether-manifesto > .c-link { margin-top: 3.6rem; }
.aether-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 6.4rem 3.2rem; }
.aether-card { display: block; position: relative; min-width: 0; text-decoration: none; }
.aether-card[hidden] { display: none; }
.aether-card > img, .aether-card > figure, .aether-card > picture, .aether-card > .aether-card-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  border-radius: var(--border-radius);
  overflow: hidden;
  object-fit: contain;
}
.aether-card > img { transition: filter .45s ease; }
.aether-card figure img, .aether-card picture img, .aether-card-image img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; transition: filter .45s ease; }
.aether-card-meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; font-family: var(--font-family-montserrat), sans-serif; font-size: 1rem; font-weight: 500; line-height: 1.5; letter-spacing: .02em; text-transform: uppercase; opacity: .6; }
.aether-card h3 { margin: 1rem 0 1.2rem; font-size: 2.6rem; font-weight: 500; line-height: 1.3; }
.aether-card h3 .bilingual-en { font-size: .62em; }
.aether-card p { max-width: 48rem; font-size: 1.4rem; }
.aether-card:focus-visible { outline-offset: 8px; }
@media (hover: hover) {
  .aether-card:hover > img { filter: brightness(.88); }
  .aether-card:hover figure img, .aether-card:hover picture img, .aether-card:hover .aether-card-image img { filter: brightness(.92); }
  .aether-card:hover h3 { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
}
.aether-service-list { border-top: 1px solid var(--aether-rule); }
.aether-reference-image { position: relative; }
.l-contents-lower-ttl-en-line { display: block; }
.l-contents-lower > .aether-kicker { text-align: center; }
.aether-reference-image.l-contents-cover-img { position: fixed; }
.aether-reference-caption { position: absolute; z-index: 1; right: 2rem; bottom: 1.5rem; padding: .5rem .8rem; color: #fff; background: #242424b3; font-size: .9rem; line-height: 1.5; }
.l-contents-cover-img .aether-reference-caption { right: auto; left: 50%; bottom: 3rem; transform: translateX(-50%); white-space: nowrap; }
.l-contents-cover-img .aether-ai-caption { left: 2rem; bottom: 2rem; transform: none; }
.aether-service-list article { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6rem; padding: 4rem 0; border-bottom: 1px solid var(--aether-rule); }
.aether-service-list h3 { font-family: var(--font-family-bebas-neue), sans-serif; font-size: 5rem; line-height: 1; font-weight: 400; }
.aether-service-list h3 .bilingual-zh { font-family: var(--font-family-base); font-size: .4em; line-height: 1.5; }
.aether-service-list h3 .bilingual-en { font-family: inherit; font-size: .8em; line-height: 1; opacity: 1; }
.aether-service-list p { font-size: 1.6rem; }
.aether-tags { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.5rem; }
.aether-tags span { display: inline-block; border: 1px solid var(--aether-rule); border-radius: 99px; padding: .6rem 1.3rem; font-size: 1.1rem; line-height: 1.4; }
.aether-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3.2rem; counter-reset: aether-step; }
.aether-process article { position: relative; padding-top: 2rem; border-top: 1px solid var(--aether-rule); counter-increment: aether-step; }
.aether-process article::before { content: "0" counter(aether-step); display: block; font-family: var(--font-family-montserrat), sans-serif; font-size: 1.1rem; margin-bottom: 4rem; }
.aether-process article:has(.aether-kicker)::before { display: none; }
.aether-process article > .aether-kicker { display: block; margin-bottom: 4rem; }
.aether-process article h3 { margin-bottom: 1.6rem; font-size: 2.3rem; font-weight: 500; line-height: 1.4; }
.aether-process article p { font-size: 1.4rem; }
.aether-split .aether-process { grid-template-columns: 1fr; gap: 2.4rem; }
.aether-split .aether-process article::before { margin-bottom: 1.6rem; }
.aether-split .aether-process article > .aether-kicker { margin-bottom: 1.6rem; }
.aether-contact-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 8rem; }
.aether-contact-grid > * { min-width: 0; }
.aether-split .aether-contact-grid { grid-template-columns: 1fr; gap: 2rem; }
.aether-contact-link { display: block; padding: 2.4rem 0; border-top: 1px solid var(--aether-rule); text-decoration: none; font-family: var(--font-family-montserrat), sans-serif; font-size: 2.4rem; line-height: 1.4; overflow-wrap: anywhere; }
.aether-contact-link::after { content: "↗"; display: inline-block; margin-left: .6em; transition: transform .3s ease; }
.aether-contact-link:hover::after { transform: translate(.15em,-.15em); }
.aether-contact-link .bilingual-zh { font-family: var(--font-family-base); font-size: .6em; }
.aether-contact-link .bilingual-en { font-size: .55em; }
.aether-contact-link:has(> strong) { display: grid; grid-template-columns: 1fr auto; gap: 0 1rem; }
.aether-contact-link:has(> strong)::after { display: none; }
.aether-contact-link > .aether-kicker { grid-column: 1 / -1; display: block; margin-bottom: 1.6rem; }
.aether-contact-link > strong { font-weight: 500; }
.aether-contact-link > span:last-child:not(.aether-kicker) { transition: transform .3s ease; }
.aether-contact-link:hover > span:last-child:not(.aether-kicker) { transform: translate(.15em,-.15em); }
.aether-detail-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 3.2rem; }
.aether-detail-gallery > img, .aether-detail-gallery figure img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: var(--border-radius); }
.aether-detail-gallery > :first-child { grid-column: 1 / -1; }
.aether-detail-gallery figure { min-width: 0; width: 100%; max-width: var(--image-native-width, 100%); justify-self: center; }
/* Case photographs retain their complete native frame, including landscape
   scenes. Zooming inside a clipped figure would crop them again on scroll. */
.aether-detail-gallery .aether-image[data-trigger-parallax] img { transform: none; will-change: auto; }
.aether-image.aether-image--artwork img { height: auto; aspect-ratio: auto; object-fit: contain; }
.aether-motion-frame { position: relative; overflow: hidden; background: #12152a; border-radius: var(--border-radius); }
.aether-motion-frame img { display: block; width: 100%; height: auto; }
/* The still remains in flow to reserve its full native ratio. A decoded video
   appears above it without a crossfade, avoiding a ghosted first frame. */
.aether-motion-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #12152a;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 1;
  transition: none;
}
.aether-motion-video.is-playing { opacity: 1; visibility: visible; }
.aether-business-motion > .aether-motion-video,
.mv-cover-item > .aether-motion-video { object-fit: cover; }
.business-item[data-trigger-parallax] .aether-business-motion > .aether-motion-video {
  transform: translate3d(0, calc((100% - var(--parallax-scale) * 100%) * var(--parallax-amount) * -1), 0) scale(var(--parallax-scale));
  transform-origin: bottom center;
}
.mv-cover-item > .aether-motion-video { transform: scale(1) translate3d(0, 0, 0); }
.mv-cover-item.is-current > .aether-motion-video {
  transform: scale(1.1) translate3d(0, 0, 0);
  transition: transform var(--mv-cover-current-duration) var(--ease-none);
}
.aether-motion-download { display: inline-block; width: fit-content; margin-top: 1.4rem; font-family: var(--font-family-montserrat), var(--font-family-base); font-size: 1.1rem; line-height: 1.5; text-decoration: underline; text-underline-offset: .25em; }
.aether-motion-download:hover { text-decoration: none; }
.mv-cover-item.aether-hero-motion { max-width: none; margin: 0; }
.aether-source-links { display: flex; flex-wrap: wrap; gap: 2rem 4rem; padding-top: 0; }
.aether-motion { max-width: 96rem; margin-inline: auto; }
.aether-full-animation { display: block; width: fit-content; margin: 2rem auto 0; font-size: 1.2rem; text-decoration: underline; text-underline-offset: .3em; }
.aether-project-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-bottom: 4rem; }
.aether-project-filters button { width: auto; border: 1px solid var(--aether-rule); border-radius: 99px; padding: 1rem 1.7rem; font-family: var(--font-family-montserrat), var(--font-family-base); font-size: 1.2rem; line-height: 1.3; transition: background-color .2s, color .2s; }
.aether-project-filters button[aria-pressed="true"] { background: var(--color-base); color: white; border-color: var(--color-base); }
.aether-project-filters button:hover { border-color: var(--color-base); }
.aether-result-count { margin-left: auto; font-family: var(--font-family-montserrat), sans-serif; font-size: 1.1rem; opacity: .6; }
.aether-project-filters + .aether-result-count { margin: -2rem 0 3rem; text-align: right; }

@media screen and (min-width: 768px) {
  .l-header-logo a { width: 11.4rem; }
  .loading-logo { width: 11rem; }
  .mv-logo { width: 22.1rem; }
  .mv-ja { max-width: 15rem; font-size: 2.5rem; }
  .mv-en { width: 24rem; top: 20.5rem; font-size: 1.45rem; line-height: 1.5; }
  .business-item-hgroup .c-ttl-en { font-size: 7.6rem; }
  .business-item-inner { padding-left: 5rem; padding-right: 5rem; }
  .business-item-lead { margin-top: 4rem; }
  .business-item-txt { font-size: 1.35rem; }
  .business-item-txt .bilingual-en { font-size: .87em; }
  .aether-experience-card .c-ttl-en { font-size: 6.2rem; line-height: .95; }
  .aether-experience-card .business-item-hgroup .c-ttl-ja { margin-top: 0; }

  /* Extend the trigger itself through the gap: unlike a clipped submenu, this
     bridge is interactive from the first frame of the original reveal. */
  .l-header-navi-list > .l-header-navi-item.has-aether-dropdown {
    padding-bottom: 1.8rem;
    margin-bottom: -1.8rem;
  }
  .l-header-navi-list > .l-header-navi-item > .l-header-navi-sub {
    top: calc(100% - .2rem);
    left: 50%;
    width: min(max(34rem, 300px), calc(100vw - 4.8rem));
    margin-left: 0;
    padding-top: 1.8rem;
    transform: translateX(-50%);
    z-index: 110;
    visibility: hidden;
    pointer-events: none;
    clip-path: inset(0 0 100% 0);
    transition: clip-path .6s var(--ease-expo-out), visibility 0s .6s;
  }
  .l-header-navi-list > .l-header-navi-item.has-aether-dropdown > .l-header-navi-sub { top: calc(100% - 2rem); }
  .l-header-navi-item[data-nav-section="work"] > .l-header-navi-sub { width: min(max(36rem, 320px), calc(100vw - 4.8rem)); }
  .l-header-navi-list > .l-header-navi-item:not(.is-dropdown-dismissed):is(:hover, :focus-within, .is-dropdown-open) > .l-header-navi-sub {
    visibility: visible;
    pointer-events: auto;
    clip-path: inset(0 0 0 0);
    transition-delay: 0s;
  }
  .l-header-navi-list > .l-header-navi-item:not(.is-dropdown-dismissed):is(:focus-within, .is-dropdown-open) > .l-header-navi-link .l-header-navi-link-icon::after { transform: rotate(0deg); }
  .l-header-navi-list > .l-header-navi-item.is-dropdown-dismissed > .l-header-navi-sub { transition-delay: 0s; }
  .l-header-navi-sub-list {
    max-height: min(600px, calc(100dvh - 12rem));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgb(255 255 255 / 35%) transparent;
    background-color: rgb(36 36 36 / 96%);
  }
  .l-header-navi-sub-list > .l-header-navi-sub-item + .l-header-navi-sub-item { border-top-color: rgb(255 255 255 / 14%); }
  .l-header-navi-sub-link {
    display: block;
    padding: max(1.3rem, 10px) max(2rem, 16px);
    border-radius: .3rem;
    transition: background-color .2s var(--ease-none);
  }
  .l-header-navi-sub-link-txt {
    display: block;
    width: 100%;
    padding: 0;
    overflow: visible;
    font-size: clamp(12px, 1.25rem, 15px);
    font-weight: 500;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    text-wrap: pretty;
  }
  /* Plain, wrapped submenu labels avoid the source's per-character rolling
     transforms crossing between lines. Primary navigation still rolls. */
  .l-header-navi-sub-link .l-header-navi-link-block { display: block; }
  .l-header-navi-sub-link .l-header-navi-link-block-clone { display: none; }
  .l-header-navi-sub-link .l-header-navi-link-char { display: inline; transform: none !important; transition: none !important; }
  .l-header-navi-sub-link:is(:hover, :focus-visible) { background-color: rgb(255 255 255 / 10%); }
  .l-header-navi-sub-link:focus-visible { outline: 2px solid rgb(255 255 255 / 75%); outline-offset: -4px; }
}
@media screen and (max-width: 767px) {
  .l-container:has(.l-contents-cover) .l-header .aether-logo { filter: brightness(0) invert(1); }
  .l-header-logo a, .l-navi-logo { width: 12.4rem; }
  .mv-logo { width: 16.9rem; }
  .loading-logo { width: 10rem; }
  .mv-ttl > span .aether-hero-word, .mv-ttl > span:first-of-type .aether-hero-word { font-size: 11.7rem; padding-top: .45rem; }
  .c-mark-obj:has(> img) { width: 8.2rem; }
  .mv-ja { max-width: 13rem; font-size: 1.6rem; }
  .mv-en { width: 28.5rem; margin-left: 0; font-size: 1.25rem; line-height: 1.5; }
  .mv-navi-list { row-gap: .75rem; }
  .business-ttl-line, .recruit-ttl-line { font-size: 9.2rem; }
  .business-ja { font-size: 1.2rem; right: 0; }
  .business-ja strong { font-size: 1.4rem; }
  .business-item-hgroup .c-ttl-en { font-size: 6.6rem; }
  .aether-experience-card .c-ttl-en { font-size: 5.8rem; line-height: .95; }
  .aether-experience-card .business-item-hgroup .c-ttl-ja { margin-top: 0; }
  .business-item-txt .bilingual-en { font-size: .9em; }
  .philosophy-ttl { padding: 0 3.2rem; font-size: 2.5rem; }
  .philosophy-ttl .bilingual-en { font-size: .48em; }
  .philosophy-txt { padding: 0 3.2rem; }
  .recruit-lead, .recruit-txt { padding-left: 3.2rem; padding-right: 3.2rem; }
  .recruit-lead .bilingual-en, .recruit-txt .bilingual-en { text-align: center; }
  .aether-section { width: calc(100% - 6.4rem); padding: 7.2rem 0; }
  .aether-section-head { margin-bottom: 3.6rem; }
  .aether-kicker { font-size: 1rem; margin-bottom: 1.7rem; }
  .aether-section h2, .aether-split h2 { font-size: 6.6rem; }
  .aether-section-head h2:not(:has(.bilingual-zh)) { font-size: 3rem; }
  .aether-section-head > p:not(.aether-kicker) { font-size: 1.5rem; margin-top: 2.4rem; }
  .aether-split { grid-template-columns: 1fr; gap: 3.6rem; }
  .aether-body { font-size: 1.5rem; }
  .aether-body h3 { font-size: 2rem; }
  .aether-image img { aspect-ratio: 4 / 4.5; }
  .aether-manifesto h2 { font-size: 7.2rem; }
  .aether-manifesto > p:not(.aether-kicker) { font-size: 1.5rem; }
  .aether-grid { grid-template-columns: 1fr; gap: 4.8rem; }
  .aether-card-meta { font-size: .95rem; margin-top: 1.6rem; }
  .aether-card h3 { font-size: 2.3rem; }
  .aether-card p { font-size: 1.35rem; }
  .aether-service-list article { grid-template-columns: 1fr; gap: 2.2rem; padding: 3.2rem 0; }
  .aether-service-list h3 { font-size: 4.8rem; }
  .aether-service-list p { font-size: 1.4rem; }
  .aether-tags { gap: .6rem; }
  .aether-process { grid-template-columns: 1fr 1fr; gap: 3.6rem 2.2rem; }
  .aether-process article::before { margin-bottom: 2.4rem; }
  .aether-process article > .aether-kicker { margin-bottom: 2.4rem; }
  .aether-process article h3 { font-size: 2rem; }
  .aether-process article p { font-size: 1.3rem; }
  .aether-contact-grid { grid-template-columns: 1fr; gap: 4rem; }
  .aether-contact-link { font-size: 2rem; padding: 2rem 0; }
  .aether-detail-gallery { grid-template-columns: 1fr; gap: 2.4rem; }
  .aether-project-filters { margin-bottom: 3rem; gap: .7rem; }
  .aether-project-filters button { font-size: 1.1rem; padding: .9rem 1.2rem; }
  .aether-result-count { flex-basis: 100%; margin: 1rem 0 0; }
  .l-contents-cover-ttl-en { font-size: 9rem; padding: 0 2rem; overflow-wrap: anywhere; }
  .l-contents-cover-ttl-ja { max-width: 32rem; line-height: 1.6; }
  .l-footer-navi-list { gap: 2.6rem 4rem; }
  .l-footer-copy { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .aether-hero-word, .aether-card img, .aether-card > img,
  .aether-image img, .aether-contact-link::after { transition: none !important; }
  .aether-image[data-trigger-parallax] img { transform: none !important; }
  .mv-cover-item img, .mv-cover-item > .aether-motion-video { transform: none !important; transition: none !important; }
  .business-item[data-trigger-parallax] .business-item-img span,
  .business-item[data-trigger-parallax] .business-item-img img,
  .business-item[data-trigger-parallax] .aether-business-motion > .aether-motion-video,
  .l-contents-cover[data-trigger-parallax] .l-contents-cover-img img { transform: none !important; }
  .business-ttl-line-clone, .recruit-ttl-line-clone,
  .c-ttl-en-word, .c-ttl-ja-block, .l-contents-cover-ttl-en-word,
  .l-contents-lower-ttl-en-block { transition-duration: .01ms !important; transition-delay: 0s !important; }
}

/* Company capabilities and IP retail use the existing split and reveal layouts. */
.aether-home-approach { padding-top: 12rem; padding-bottom: 9.6rem; }
.aether-home-approach > .aether-kicker { margin-bottom: 3.2rem; }
.aether-home-approach .aether-split { align-items: start; }
.aether-home-approach h2 .bilingual-zh { font-size: 3.6rem; line-height: 1.5; font-weight: 500; letter-spacing: .02em; }
.aether-home-approach h2 .bilingual-en { margin-top: 1.8rem; font-size: 6.4rem; line-height: .98; }
.aether-home-approach .aether-body > .c-link { margin-top: 3rem; }
.aether-home-approach + .news { padding-top: 0; }
.aether-approach-regions { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 1.6rem 3.2rem; margin-top: 6rem; padding-top: 2.4rem; border-top: 1px solid var(--aether-rule); font-size: 1.3rem; }
.aether-approach-regions .bilingual-en { margin-top: 0; font-size: 1.1rem; }
.aether-business-motion { position: relative; max-width: none; margin: 0; }
.aether-retail-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 6rem; }
.aether-retail-story > .aether-kicker { margin-bottom: 2rem; }
.aether-retail-story > .aether-detail-gallery { margin-top: 6rem; }
@media screen and (max-width: 767px) {
 .aether-home-approach { padding-top: 8rem; padding-bottom: 7.2rem; }
 .aether-home-approach > .aether-kicker { margin-bottom: 2.4rem; }
 .aether-home-approach h2 .bilingual-zh { font-size: 2.8rem; }
 .aether-home-approach h2 .bilingual-en { margin-top: 1.4rem; font-size: 5.6rem; }
 .aether-approach-regions { display: block; margin-top: 4rem; padding-top: 2rem; font-size: 1.2rem; }
 .aether-approach-regions .bilingual-en { margin-top: .7rem; font-size: 1.05rem; }
 .recruit-en { right: -2.6rem; }
 .aether-retail-steps { grid-template-columns: 1fr; margin-top: 4rem; }
 .aether-retail-story > .aether-detail-gallery { margin-top: 4rem; }
}

@media screen and (max-width: 767px) and (max-height: 650px) {
}

@media screen and (min-width: 768px) {
 .recruit-lead, .recruit-txt { max-width: 52rem; }
 .recruit-btn { left: 44rem; top: 12rem; }
 .recruit-txt .bilingual-en { text-align: left; }
}

/* Mobile section actions sit in the content flow as generous pill buttons. */
.business-mobile-btn, .aether-mobile-cta-label { display: none; }
@media screen and (max-width: 767px) {
  .business-hgroup .business-btn { display: none; }
  .business-mobile-btn { display: block; }
  .philosophy-btn,
  .business-mobile-btn,
  .recruit-btn {
    position: relative;
    inset: auto;
    width: calc(100% - 6.4rem);
    margin: 3.2rem auto 0;
  }
  .philosophy-btn[data-trigger-once],
  .philosophy-btn[data-trigger-once].is-once-show,
  .recruit .recruit-btn { clip-path: none; }
  :is(.philosophy-btn, .business-mobile-btn, .recruit-btn) .c-btn {
    width: 100%;
    min-height: 6.8rem;
    aspect-ratio: auto;
    justify-content: space-between;
    gap: 1.6rem;
    padding: 1.5rem 2.4rem;
    border-radius: 999px;
    color: #242424;
    background: white;
    text-align: left;
    isolation: isolate;
  }
  :is(.philosophy-btn, .business-mobile-btn, .recruit-btn) .c-btn::before,
  :is(.philosophy-btn, .business-mobile-btn, .recruit-btn) .c-btn-img,
  :is(.philosophy-btn, .recruit-btn) .c-btn > .c-btn-txt { display: none; }
  :is(.philosophy-btn, .business-mobile-btn, .recruit-btn) .c-btn::after {
    content: '↗';
    flex-shrink: 0;
    font-size: 2.4rem;
    line-height: 1;
  }
  .aether-mobile-cta-label { display: block; }
  :is(.philosophy-btn, .business-mobile-btn, .recruit-btn) .bilingual-zh { font-size: 1.5rem; font-weight: 600; line-height: 1.35; }
  :is(.philosophy-btn, .business-mobile-btn, .recruit-btn) .bilingual-en { margin-top: .3rem; font-size: 1.1rem; line-height: 1.3; opacity: .72; }
  .business-mobile-btn .c-btn-txt,
  .business-mobile-btn .c-btn:hover .c-btn-txt { color: inherit; padding: 0; }
  :is(.philosophy-btn, .business-mobile-btn, .recruit-btn) .c-btn:focus-visible { outline: 3px solid #a9a0ff; outline-offset: 4px; }
}
