.pc-footer {
  overflow: hidden;
  background: var(--paper);
}

.pc-footer-main {
  padding: clamp(95px, 6.4vw, 145px) var(--gutter)
    clamp(72px, 4vw, 105px);
}

.pc-footer-question {
  margin: 0 0 clamp(20px, 1.2vw, 30px);
  font-size: clamp(12px, 1.4vw, 28px);
  font-weight: 200;
  line-height: 1.2;
}

.pc-footer-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.18em;
  max-width: 100%;
  font-size: clamp(46px, 4.9vw, 90px);
  font-weight: 500;
  line-height: 1.04;
  /* letter-spacing: -0.055em; */
  text-decoration: none;
}

.pc-footer-cta-text {
  transition: transform 0.35s ease;
}

.pc-footer-cta:hover .pc-footer-cta-text,
.pc-footer-cta:focus-visible .pc-footer-cta-text {
  transform: scale(0.985);
}

.pc-footer-cta-arrow {
  width: 0.3em;
  height: 0.3em;
  flex: none;
  background: currentColor;
  -webkit-mask: url("../assets/arrow-small.svg") center / contain no-repeat;
  mask: url("../assets/arrow-small.svg") center / contain no-repeat;
  opacity: 0;
  transform: translate(-0.12em, 0.12em);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.pc-footer-cta:hover .pc-footer-cta-arrow,
.pc-footer-cta:focus-visible .pc-footer-cta-arrow {
  opacity: 1;
  transform: translate(0, 0);
}

.pc-socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(18px, 2.8vw, 65px);
  margin-top: clamp(18px, 3vw, 48px);
  font-size: clamp(10px, 1vw, 26px);
  font-weight: 500;
}

.pc-socials a {
  position: relative;
  text-decoration: none;
}

.pc-socials a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.35s ease;
}

.pc-socials a:hover::after,
.pc-socials a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* One editable row is cloned in script.js for a seamless continuous loop. */
.pc-footer-marquee {
  overflow: hidden;
  border-top: 1px solid var(--ink);
}

.pc-marquee-track,
.pc-marquee-group {
  display: flex;
  width: max-content;
  align-items: center;
}

.pc-marquee-track.is-ready {
  animation: pc-footer-marquee 55s linear infinite;
}

.pc-marquee-group {
  flex: none;
  min-height: clamp(120px, 8.3vw, 190px);
}

.pc-marquee-item {
  display: inline-flex;
  flex: none;
  align-items: center;
  padding-left: clamp(32px, 2.4vw, 56px);
  font-family: Inter, Arial, sans-serif;
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: 300;
  line-height: 1;
  /* letter-spacing: -0.055em; */
  white-space: nowrap;
}

.pc-marquee-item:nth-child(odd) {
  font-family: "Clash Display", Arial, sans-serif;
  font-weight: 300;
}

.pc-marquee-item::after {
  content: "•";
  margin-left: clamp(32px, 2.4vw, 56px);
  font-size: 0.55em;
  font-weight: 300;
}

@keyframes pc-footer-marquee {
  to {
    transform: translateX(-50%);
  }
}

/* Mobile pc-footer */
@media (max-width: 600px) {
  .pc-footer-main {
    padding: 88px var(--gutter) 76px;
  }

  .pc-footer-question {
    font-size: 17px;
  }

  .pc-footer-cta {
    font-size: clamp(42px, 10vw, 66px);
  }

  .pc-socials {
    gap: 16px 28px;
    margin-top: 52px;
    font-size: 18px;
  }

  .pc-marquee-group {
    min-height: 100px;
  }

  .pc-marquee-item {
    font-size: 42px;
  }
}


.pc-footer { --paper: #fafafa; --ink: #1f2022; --gutter: clamp(22px, 5.1vw, 220px); color: #1f2022; background: #fafafa; font-family: "Clash Display", Arial, sans-serif; text-align: left; }
.pc-footer a { color: inherit; }
.pc-footer * { box-sizing: border-box; }
.pc-footer .pc-footer-cta { font-family: "Clash Display", Arial, sans-serif; }
.pc-footer .pc-marquee-item { font-family: "Inter", Arial, sans-serif; }
.pc-footer .pc-marquee-item:nth-child(odd) { font-family: "Clash Display", Arial, sans-serif; }
.pc-back { display: inline-flex; align-items: center; gap: 10px; }
.pc-back svg { display: block; width: 22px; height: 22px; flex: 0 0 22px; }
.case-next { --next-bg: #f0f0ee; --next-ink: #1f2022; position: relative; display: flex; flex-direction: column; justify-content: center; gap: 24px; min-height: 360px; padding: clamp(64px,7vw,130px) clamp(22px,5.1vw,220px); overflow: hidden; isolation: isolate; background: var(--next-bg); color: var(--next-ink); text-decoration: none; transition: background .4s,color .4s; }
.case-next-kicker { font: 500 12px/1.3 "Inter",sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.case-next-title { display: flex; align-items: center; gap: .2em; max-width: 60%; font: 500 clamp(44px,6.8vw,140px)/1 "Clash Display",Arial,sans-serif; letter-spacing: -.045em; }
.case-next-title i { display: grid; place-items: center; width: .85em; height: .85em; flex: 0 0 .85em; border-radius: 50%; background: var(--next-ink); color: var(--next-bg); transition: transform .5s; }
.case-next-title svg { width: 50%; height: 50%; }
.case-next-image { position: absolute; right: 5.1%; top: 50%; width: 30%; aspect-ratio: 16/9; border-radius: 18px; overflow: hidden; opacity: 0; transform: translateY(-35%) rotate(6deg) scale(.85); transition: opacity .4s,transform .65s cubic-bezier(.16,1,.3,1); box-shadow: 0 24px 60px #0003; }
.case-next-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.case-next:is(:hover,:focus-visible) { --next-bg: #171719; --next-ink: #fafafa; }
.case-next:is(:hover,:focus-visible) .case-next-image { opacity: 1; transform: translateY(-50%) rotate(-3deg) scale(1); }
.case-next:is(:hover,:focus-visible) .case-next-title i { transform: rotate(-45deg); }
.ds-page .case-next { --next-bg: #F15A29; --next-ink: #fff4dc; }
.ds-page .case-next::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../assets/daal-scene/pat_orange.svg") 0 0/1400px auto; opacity: .3; }
@media (hover: none), (max-width: 700px) {
 .case-next { min-height: 0; }
 .case-next-title { max-width: 100%; font-size: clamp(40px,8vw,72px); }
 .case-next-image { position: relative; top: auto; right: auto; width: min(100%,480px); margin-top: 12px; opacity: 1; transform: none; }
 .case-next:is(:hover,:focus-visible) .case-next-image { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
 .case-next, .case-next * { transition: none; }
 .pc-marquee-track.is-ready { animation: none; }
 .pc-footer-marquee { overflow-x: auto; }
}
