/* Decorative brand constellations, isolated to the Brands & Case Studies pages. */
.trust-page > .trust-logo-field {
  --logo-gold: 207 181 140;
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  perspective: 1000px;
  isolation: isolate;
}

.trust-page > .trust-logo-field::before,
.trust-page > .trust-logo-field::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* A still, fine dusting also provides the no-script and paused presentation. */
.trust-page > .trust-logo-field::before {
  opacity: .35;
  background-image:
    radial-gradient(circle, rgb(var(--logo-gold) / .6) 0 .55px, transparent .9px),
    radial-gradient(circle, rgb(234 206 143 / .42) 0 .45px, transparent .8px),
    radial-gradient(circle, rgb(var(--logo-gold) / .25) 0 .6px, transparent 1px);
  background-size: 113px 149px, 197px 181px, 277px 263px;
  background-position: 21px 35px, 83px 71px, 149px 127px;
  mask-image: linear-gradient(transparent, #000 14%, #000 88%, transparent);
}

.trust-page > .trust-logo-field::after {
  background:
    radial-gradient(ellipse at 5% 16%, rgb(var(--logo-gold) / .045), transparent 38%),
    radial-gradient(ellipse at 95% 80%, rgb(230 186 93 / .045), transparent 36%);
}

.trust-page .trust-logo-float {
  --logo-x: 9;
  --logo-y: 20;
  --logo-size: clamp(78px, 8.8vw, 138px);
  --logo-shift-x: 0px;
  --logo-shift-y: 0px;
  --logo-turn: -9deg;
  --logo-tilt-x: 0deg;
  --logo-tilt-y: 0deg;
  --logo-opacity: .4;
  --logo-glint: .2;
  --logo-glint-offset: -10%;
  position: absolute;
  left: calc(var(--logo-x) * 1%);
  top: calc(var(--logo-y) * 1%);
  display: grid;
  place-items: center;
  width: var(--logo-size);
  opacity: var(--logo-opacity);
  transform: translate3d(calc(-50% + var(--logo-shift-x)), calc(-50% + var(--logo-shift-y)), 0) rotateX(var(--logo-tilt-x)) rotateY(var(--logo-tilt-y)) rotateZ(var(--logo-turn));
  transform-origin: center;
  filter: drop-shadow(0 8px 14px rgb(0 0 0 / .3)) drop-shadow(0 0 10px rgb(var(--logo-gold) / .045));
  pointer-events: none;
}

.trust-page .trust-logo-float:nth-child(10n + 2) { --logo-x: 87; --logo-y: 14; --logo-turn: 12deg; }
.trust-page .trust-logo-float:nth-child(10n + 3) { --logo-x: 66; --logo-y: 34; --logo-turn: -6deg; }
.trust-page .trust-logo-float:nth-child(10n + 4) { --logo-x: 16; --logo-y: 45; --logo-turn: 8deg; }
.trust-page .trust-logo-float:nth-child(10n + 5) { --logo-x: 91; --logo-y: 63; --logo-turn: -13deg; }
.trust-page .trust-logo-float:nth-child(10n + 6) { --logo-x: 39; --logo-y: 76; --logo-turn: 5deg; }
.trust-page .trust-logo-float:nth-child(10n + 7) { --logo-x: 73; --logo-y: 91; --logo-turn: 14deg; }
.trust-page .trust-logo-float:nth-child(10n + 8) { --logo-x: 8; --logo-y: 87; --logo-turn: -4deg; }
.trust-page .trust-logo-float:nth-child(10n + 9) { --logo-x: 83; --logo-y: 43; --logo-turn: 6deg; }
.trust-page .trust-logo-float:nth-child(10n) { --logo-x: 37; --logo-y: 10; --logo-turn: -11deg; }
.trust-page .trust-logo-float:nth-child(n + 11) { display: none; }

/* At most one bounded set is painted. Other marks enter as native scrolling progresses. */
.trust-page .trust-logo-field[data-field-ready] .trust-logo-float { display: none; }
.trust-page .trust-logo-field[data-field-ready] .trust-logo-float[data-logo-active] { display: grid; }
.trust-page .trust-logo-field.is-motion-enabled .trust-logo-float[data-logo-active] { will-change: transform; transition: opacity .65s ease; }

/* Entry fades run in CSS; outgoing marks stop painting immediately. */
@starting-style {
  .trust-page .trust-logo-field.is-motion-enabled[data-field-ready] .trust-logo-float[data-logo-active] { opacity: 0; }
}

.trust-page .trust-logo-prism {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1.16;
  padding: 15%;
  box-sizing: border-box;
  overflow: hidden;
  clip-path: polygon(49% 0, 88% 19%, 100% 59%, 53% 100%, 10% 79%, 0 36%);
  background:
    linear-gradient(132deg, rgb(242 223 174 / .4), transparent 21% 67%, rgb(192 151 67 / .28)),
    linear-gradient(38deg, rgb(216 190 130 / .15) 0 48%, rgb(251 231 185 / .29) 48.4% 49%, rgb(14 13 11 / .1) 49.4% 100%);
  box-shadow: inset 0 0 23px rgb(235 208 146 / .1);
  isolation: isolate;
}

.trust-page .trust-logo-prism::before,
.trust-page .trust-logo-prism::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.trust-page .trust-logo-prism::before {
  z-index: 0;
  background:
    linear-gradient(154deg, transparent 30%, rgb(241 212 151 / .34) 30.4% 31%, transparent 31.5%),
    linear-gradient(26deg, transparent 46%, rgb(244 230 196 / .46) 46.4% 46.8%, transparent 47.2%),
    conic-gradient(from 16deg at 50% 38%, rgb(255 237 196 / .14), transparent 18%, rgb(219 170 73 / .23) 37%, transparent 48%, rgb(240 218 166 / .26) 72%, transparent 84%);
  clip-path: polygon(49% 1%, 87% 20%, 99% 59%, 53% 99%, 11% 78%, 1% 36%);
}

.trust-page .trust-logo-prism::after {
  z-index: 2;
  inset: -45%;
  opacity: calc(.04 + var(--logo-glint) * .32);
  background: linear-gradient(110deg, transparent 28%, rgb(241 222 178 / .05) 40%, rgb(255 243 214 / .75) 48%, rgb(210 167 73 / .18) 51%, transparent 62%);
  transform: translate3d(var(--logo-glint-offset), 0, 0) rotate(-16deg);
  mix-blend-mode: screen;
}

.trust-page .trust-logo-prism > img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 62px;
  object-fit: contain;
  opacity: .88;
  filter: grayscale(1) sepia(.35) saturate(.65) brightness(1.15) drop-shadow(0 0 1px rgb(235 208 145 / .8));
}

.trust-page .trust-logo-prism > span {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
  font: 500 clamp(8px, .9vw, 12px)/1.2 var(--sans, Arial, sans-serif);
  letter-spacing: .03em;
  text-align: center;
  text-wrap: balance;
  overflow-wrap: anywhere;
  color: #cfb58c;
  text-shadow: 0 0 7px rgb(234 199 127 / .22);
}

@media (max-width: 760px) {
  .trust-page > .trust-logo-field::before { opacity: .22; background-size: 123px 157px, 217px 191px, 297px 283px; }
  .trust-page .trust-logo-float { --logo-size: clamp(66px, 18vw, 94px); --logo-opacity: .3; }
  .trust-page .trust-logo-float:nth-child(n + 6) { display: none; }
  .trust-page .trust-logo-float:nth-child(5n + 1) { --logo-x: 9; --logo-y: 16; }
  .trust-page .trust-logo-float:nth-child(5n + 2) { --logo-x: 86; --logo-y: 32; }
  .trust-page .trust-logo-float:nth-child(5n + 3) { --logo-x: 13; --logo-y: 61; }
  .trust-page .trust-logo-float:nth-child(5n + 4) { --logo-x: 87; --logo-y: 82; }
  .trust-page .trust-logo-float:nth-child(5n) { --logo-x: 61; --logo-y: 8; }
  .trust-page .trust-logo-prism > img { max-height: 42px; }
  .trust-page .trust-logo-prism > span { font-size: 8px; }
}

.motion-paused .trust-page .trust-logo-float,
.trust-page.motion-paused .trust-logo-float { will-change: auto !important; transition: none !important; }
.motion-paused .trust-page .trust-logo-prism::after,
.trust-page.motion-paused .trust-logo-prism::after { opacity: .08; transform: rotate(-16deg); }

@media (prefers-reduced-motion: reduce) {
  .trust-page .trust-logo-float { will-change: auto !important; transition: none !important; }
  .trust-page .trust-logo-prism::after { opacity: .08; transform: rotate(-16deg); }
}
