@media (max-width: 960px) {
  body.home .slide--hero {
    margin-top: 0;
    min-height: auto;
    padding: calc(var(--header-h) + 34px) 0 4.5em;
    overflow-x: clip;
  }

  body.home .slide--hero > .hero.container {
    width: min(var(--container), calc(100% - 48px));
    margin-inline: auto;
  }

  body.home .hero--motion {
    display: grid;
    gap: 20px;
    overflow-x: clip;
    overflow-y: visible;
  }

  body.home .hero-copy-wrap {
    position: relative;
    transform: none;
    margin-left: clamp(20px, 4.8vw, 34px);
    width: calc(100% - clamp(40px, 9.6vw, 68px));
    max-width: calc(100% - 40px);
    overflow: clip;
  }

  body.home .hero-kicker {
    margin-bottom: 10px;
  }

  body.home .hero-copy {
    width: auto;
    max-width: 6.4em;
    height: auto;
    font-size: clamp(42px, 10.6vw, 50px);
    line-height: 1.08;
    letter-spacing: 0.02em;
  }

  body.home .hero-copy__line {
    position: static;
    white-space: normal;
    word-break: keep-all;
    line-break: strict;
    color: #000;
    font-weight: 700;
  }

  body.home .hero-copy__line::before,
  body.home .hero-copy__line::after {
    content: none;
  }

  body.home .hero-copy__line--second {
    left: auto;
    top: auto;
  }

  body.home .hero-lead-wrap {
    position: relative;
    left: auto;
    top: auto;
    margin-left: clamp(20px, 4.8vw, 34px);
    max-width: min(100%, 21em);
    opacity: 1;
    filter: none;
    transform: none;
  }

  body.home .hero-lead {
    max-width: none;
    font-size: 15px;
    line-height: 1.9;
    letter-spacing: 0;
    word-break: keep-all;
    line-break: strict;
    text-wrap: pretty;
  }

  body.home .hero-visual {
    position: relative;
    right: auto;
    top: auto;
    width: calc(100% + 40px);
    min-height: clamp(400px, 92vw, 560px);
    margin: -42px 0 0 -20px;
    opacity: 1;
    transform: none;
    aspect-ratio: 668 / 501;
    overflow: clip;
  }

  body.home .hero-art {
    position: relative;
    inset: auto;
    width: 100%;
    height: 100%;
  }

  body.home .hero-art--carousel {
    perspective: 1760px;
    perspective-origin: 52% 28%;
    --hero-ring-width: clamp(350px, 90vw, 456px);
    --hero-ring-tilt-x: 0deg;
    --hero-ring-tilt-y: -3deg;
    --hero-ring-tilt-z: -4deg;
    --hero-ring-counter-x: 0deg;
    --hero-ring-counter-y: 3deg;
    --hero-ring-counter-z: 4deg;
  }

  body.home .hero-carousel-mask {
    inset: 0;
    clip-path: inset(0);
  }

  body.home .hero-side-label {
    display: none;
  }

  body.home .hero-carousel-neutralizer {
    right: 6%;
    top: 4%;
    width: 30%;
    height: 88%;
  }

  body.home .hero-ring-scene {
    inset: -16% -10% -8%;
    transform:
      translate3d(0, -74px, 0)
      rotateX(var(--hero-ring-tilt-x))
      rotateY(var(--hero-ring-tilt-y))
      rotateZ(var(--hero-ring-tilt-z));
  }

  body.home .hero-visual-frame {
    display: none;
  }

  body.home .hero-ring-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }

  body.home .hero-caption {
    display: none;
  }

  body.home .hero-caption__line {
    width: 29px;
    height: 1px;
  }

  body.home .hero-caption__text {
    max-width: min(100%, 21em);
    font-size: 11px;
    line-height: 1.78;
    color: var(--text);
    letter-spacing: 0;
    white-space: normal;
    word-break: keep-all;
    line-break: strict;
    text-wrap: pretty;
  }

  body.home .slide--brand-intro {
    min-height: auto;
    height: auto;
    padding: 6.5em 0 4em;
  }

  body.home .slide--brand-intro > .container {
    width: min(var(--container), calc(100% - 32px));
    margin-inline: auto;
  }

  body.home .brand-intro {
    max-width: 100%;
    padding-top: 4.75em;
  }

  body.home .brand-intro__copy {
      margin-bottom: 28px;
      font-size: 14px;
      line-height: 1.95;
      letter-spacing: 0.09em;
      word-break: keep-all;
      line-break: strict;
    }

  body.home .brand-intro__title {
      margin-bottom: 28px;
      font-size: clamp(23px, 6.2vw, 30px);
      line-height: 1.46;
      letter-spacing: 0.005em;
    }

  body.home .brand-intro__title-line {
      white-space: nowrap;
      word-break: keep-all;
      line-break: strict;
    }

  body.home .brand-intro__lead {
      font-size: 14px;
      line-height: 2.02;
      max-width: 30em;
      color: rgba(16,17,19,0.76);
      word-break: keep-all;
      line-break: strict;
      text-wrap: pretty;
    }

  body.home .slide--brand-intro [data-reveal] {
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
      clip-path: none !important;
    }

  body.home .slide--philo {
    min-height: auto;
    height: auto;
    padding: 18px 0 34px;
  }

  body.home .slide--philo > .container {
    min-height: auto;
    padding-block: 0;
    transform: none;
    opacity: 1;
  }

  body.home .slide--philo .sleft,
  body.home .slide--philo .philo-read {
    opacity: 0 !important;
    transform: translate3d(0, 24px, 0) !important;
    filter: blur(10px) !important;
    transition:
      opacity 0.92s cubic-bezier(.16,.84,.22,1),
      transform 0.92s cubic-bezier(.16,.84,.22,1),
      filter 0.92s cubic-bezier(.16,.84,.22,1) !important;
  }

  body.home .slide--philo .philo-read {
    transition-delay: 0.18s !important;
  }

  body.home .slide--philo .philo-row {
    opacity: 0 !important;
    transform: translate3d(0, 20px, 0) !important;
    filter: blur(10px) !important;
    transition:
      opacity 0.8s cubic-bezier(.16,.84,.22,1),
      transform 0.8s cubic-bezier(.16,.84,.22,1),
      filter 0.8s cubic-bezier(.16,.84,.22,1) !important;
  }

  body.home .slide--philo.is-mobile-liquid-philo-inview .sleft,
  body.home .slide--philo.is-mobile-liquid-philo-inview .philo-read,
  body.home .slide--philo.is-mobile-liquid-philo-inview .overline,
  body.home .slide--philo.is-mobile-liquid-philo-inview .section-title,
  body.home .slide--philo.is-mobile-liquid-philo-inview .section-lead,
  body.home .slide--philo.is-mobile-liquid-philo-inview .mini-links {
    opacity: 1 !important;
    transform: none !important;
    filter: blur(0) !important;
  }

  body.home .slide--philo .sright {
    margin-top: 12px;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    display: block;
  }

  body.home .slide--philo .philo-read {
    width: 100%;
  }

  body.home .slide--philo .philo-def {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    justify-items: stretch;
    align-items: start;
  }

  body.home .slide--philo .philo-row {
    display: grid;
    grid-template-columns: minmax(74px, 88px) 1fr;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 0;
    padding: 6px 0;
  }

  body.home .slide--philo .philo-row dt,
  body.home .slide--philo .philo-row dd {
    writing-mode: horizontal-tb !important;
    text-orientation: initial !important;
  }

  body.home .slide--philo .philo-row dt {
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    justify-self: center;
    align-self: center;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.04em;
    white-space: normal;
    text-align: center;
  }

  body.home .slide--philo .philo-row dd {
    flex: initial;
    width: auto;
    padding-top: 0;
    font-size: 13px;
    line-height: 1.9;
    letter-spacing: 0;
  }

  body.home .slide--philo .philo-mobile-break {
    display: none;
  }

  body.home .slide--philo .philo-row.is-mobile-liquid-row-inview {
    opacity: 1 !important;
    transform: none !important;
    filter: blur(0) !important;
  }

  body.home .slide--philo .overline,
  body.home .slide--philo .section-title,
  body.home .slide--philo .section-lead,
  body.home .slide--philo .mini-links {
    opacity: 1 !important;
    clip-path: inset(0 0 0 0) !important;
    filter: none !important;
  }

  body.home .slide--philo .section-title {
    font-size: clamp(26px, 7vw, 32px);
    line-height: 1.35;
  }

  body.home .slide--service-probe {
    --service-mobile-pad-top: 44px;
    --service-mobile-pad-bottom: 34px;
    --service-mobile-split-pad-top: 22px;
    --service-mobile-split-pad-bottom: 26px;
    display: block;
    align-items: stretch;
    height: auto;
    min-height: auto;
    overflow: hidden;
    padding: 44px 0 34px;
    isolation: isolate;
  }

  body.home .service-probe,
  body.home .service-probe__pin,
  body.home .service-probe__layout,
  body.home .service-probe__split {
    height: auto;
    min-height: auto;
  }

  body.home .service-probe,
  body.home .service-probe__pin,
  body.home .service-probe__layout {
    position: static;
  }

  body.home .service-probe__layout {
    padding: 0;
  }

  body.home .service-probe__head-wrap {
    position: relative;
    inset: auto;
    margin-bottom: 18px;
    pointer-events: auto;
  }

  body.home .service-probe__head {
    position: relative;
    top: auto;
    left: auto;
  }

  body.home .service-probe__head .overline {
    color: #101113;
  }

  body.home .service-probe__head .overline::before {
    background: rgba(16,17,19,0.72);
  }

  body.home .service-probe__head-inner {
    width: min(var(--container), calc(100% - 48px));
    margin-inline: auto;
  }

  body.home .service-probe__split {
    position: static;
    inset: auto;
    left: auto;
    margin-left: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    width: 100%;
    padding: var(--service-mobile-split-pad-top) 0 var(--service-mobile-split-pad-bottom);
    overflow: visible;
  }

  body.home .service-probe__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    margin: 0;
    opacity: 1;
    z-index: 0;
    pointer-events: none;
  }

  body.home .service-probe__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(16,17,19,0.18), rgba(16,17,19,0.08)),
      linear-gradient(180deg, rgba(246,244,241,0.04), rgba(246,244,241,0));
  }

  body.home .service-probe__bg-video {
    width: 100%;
    height: calc(100% + 52px);
    object-fit: cover;
    display: block;
    filter: saturate(0.82) contrast(0.95) brightness(0.84);
    transform: translate3d(0, -26px, 0) scale(1.04);
    will-change: transform;
  }

  body.home .service-probe__axis {
    display: none;
  }

  body.home .service-probe__panel {
    position: relative;
    inset: auto;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    transform: none !important;
    width: min(var(--container), calc(100% - 48px));
    margin-inline: auto;
    z-index: 1;
    color: #fff;
    text-shadow: 0 2px 18px rgba(16,17,19,0.12);
  }

  body.home .service-probe__panel--right {
    margin-top: 20px;
  }

  body.home .service-probe__panel-label {
    color: rgba(255,255,255,0.74);
  }

  body.home .service-probe__panel-desc {
    font-size: 12px;
    line-height: 1.8;
    color: rgba(255,255,255,0.82);
  }

  body.home .service-probe__panel-link {
    border-bottom-color: rgba(255,255,255,0.58);
  }

  body.home .service-probe__media-shell {
    width: 100%;
    margin-top: 22px;
  }

  body.home .slide--works .section-title {
    font-size: clamp(26px, 7vw, 32px);
    line-height: 1.35;
  }

  body.home .slide--works {
      min-height: auto;
      height: auto;
      padding: 3.75em 0 2.75em;
      opacity: 1 !important;
      filter: none !important;
    }

  body.home .slide--works .sgrid {
    gap: 18px;
  }

  body.home .slide--works .sright {
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
      pointer-events: auto !important;
  }

  body.home .works-rail {
    overflow: visible;
  }

  body.home .works-track {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    transform: none !important;
  }

  body.home .works-rail .work-tile {
    width: 100%;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  body.home .slide--works .work-body {
    padding: 14px 0 0;
  }

  body.home .slide--works .work-summary {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  body.home .slide--philo .section-lead,
  body.home .slide--works .section-lead,
  body.home .slide--column .section-lead {
    font-size: 12px;
    line-height: 1.85;
    max-width: 24em;
  }

  body.home .slide--column {
    min-height: auto;
    height: auto;
    padding: 34px 0 34px;
  }

  body.home .slide--column .sgrid {
    min-height: 0;
    gap: 18px;
    align-items: start;
  }

  body.home .slide--column .sright {
    width: 100%;
    min-width: 0;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    pointer-events: auto !important;
  }

  body.home .slide--column .posts-grid {
    margin-right: -24px;
    padding-right: 24px;
  }

  body.home .slide--column .postcard {
    width: min(78vw, 336px);
    min-width: min(78vw, 336px);
  }
}

@media (max-width: 480px) {
  body.home .slide--hero {
    padding-top: calc(var(--header-h) + 30px);
    padding-bottom: 3.5em;
  }

  body.home .hero-copy-wrap,
  body.home .hero-lead-wrap {
    margin-left: 22px;
  }

  body.home .hero-lead-wrap {
    z-index: 5;
    isolation: isolate;
    padding: 10px 12px 12px 0;
  }

  body.home .hero-lead-wrap::before {
    content: "";
    position: absolute;
    top: -18px;
    right: -18px;
    bottom: -14px;
    left: -22px;
    z-index: -1;
    background:
      linear-gradient(90deg, rgba(250,247,242,0.97) 0%, rgba(250,247,242,0.95) 48%, rgba(250,247,242,0.78) 72%, rgba(250,247,242,0) 100%);
    pointer-events: none;
  }

  body.home .hero-visual {
    width: calc(100% + 32px);
    min-height: clamp(380px, 96vw, 520px);
    margin: -58px 0 0 -16px;
  }

  body.home .hero-art--carousel {
    --hero-ring-width: clamp(316px, 86vw, 380px);
  }

  body.home .hero-ring-scene {
    inset: -14% -8% -4%;
    transform:
      translate3d(0, -88px, 0)
      rotateX(var(--hero-ring-tilt-x))
      rotateY(var(--hero-ring-tilt-y))
      rotateZ(var(--hero-ring-tilt-z));
  }

  body.home .slide--brand-intro {
    padding: 6em 0 3.5em;
  }

  body.home .brand-intro {
    padding-top: 4.25em;
  }

  body.home .slide--brand-intro > .container {
    width: calc(100% - 24px);
  }

  body.home .brand-intro__title {
    max-width: 13.2em;
    margin-inline: auto;
    font-size: clamp(23px, 6.8vw, 27px);
    line-height: 1.44;
    text-wrap: balance;
  }

  body.home .brand-intro__title-line {
    white-space: normal;
    text-wrap: balance;
  }

  body.home .brand-intro__lead {
    font-size: 13.5px;
    line-height: 2;
  }

  body.home .hero-caption {
    padding-left: 50px;
  }

  body.home .slide--philo .philo-def {
    gap: 12px;
  }

  body.home .slide--philo .philo-row {
    grid-template-columns: 72px 1fr;
    gap: 10px;
  }

  body.home .slide--philo .philo-row dt {
    font-size: 17px;
  }

  body.home .slide--philo .philo-row dd {
    font-size: 12px;
  }

  body.home .slide--philo .philo-mobile-break {
    display: block;
  }

  body.home .slide--philo .section-title {
    font-size: 24px;
  }

  body.home .slide--works .section-title {
    font-size: 24px;
  }

  body.home .slide--works {
      padding: 3.25em 0 2.25em;
      opacity: 1 !important;
      filter: none !important;
    }

  body.home .works-track {
    gap: 16px;
  }

  body.home .slide--service-probe {
    --service-mobile-pad-top: 40px;
    --service-mobile-pad-bottom: 30px;
    --service-mobile-split-pad-top: 22px;
    --service-mobile-split-pad-bottom: 26px;
    display: block;
    padding: 40px 0 30px;
  }

  body.home .service-probe__split {
    gap: 18px;
  }

  body.home .slide--philo .section-lead,
  body.home .slide--works .section-lead {
    font-size: 12px;
  }
}

@media (max-width: 400px) {
  body.home .slide--hero {
    padding-top: calc(var(--header-h) + 24px);
    padding-bottom: 3em;
  }

  body.home .hero-copy-wrap,
  body.home .hero-lead-wrap {
    margin-left: 18px;
  }

  body.home .hero-lead-wrap {
    padding: 8px 10px 10px 0;
  }

  body.home .hero-lead-wrap::before {
    top: -16px;
    right: -16px;
    bottom: -12px;
    left: -18px;
    background:
      linear-gradient(90deg, rgb(249 249 247) 0%, rgba(250, 247, 242, 0.95) 48%, rgba(249, 249, 247, 0.78) 72%, rgba(249, 249, 247, 0) 100%);
  }

  body.home .hero-visual {
    width: calc(100% + 28px);
    min-height: clamp(360px, 98vw, 500px);
    margin: -84px 0 0 -14px;
  }

  body.home .hero-art--carousel {
    --hero-ring-width: clamp(324px, 92vw, 388px);
  }

  body.home .hero-ring-scene {
    inset: -16% -6% -2%;
    transform:
      translate3d(0, -112px, 0)
      rotateX(var(--hero-ring-tilt-x))
      rotateY(var(--hero-ring-tilt-y))
      rotateZ(var(--hero-ring-tilt-z));
  }

  body.home .slide--brand-intro > .container {
    width: calc(100% - 32px);
  }

  body.home .brand-intro__copy {
    margin-bottom: 24px;
    font-size: 13px;
  }

  body.home .brand-intro__title {
    max-width: 11.8em;
    font-size: clamp(20px, 6.6vw, 24px);
    line-height: 1.5;
    letter-spacing: 0;
  }

  body.home .brand-intro__lead {
    font-size: 13px;
    line-height: 1.92;
  }
}
