:root {
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  min-height: 100vh;
  background: #000;
  color: #fff;
  font-family: "freight-sans-pro", Arial, Helvetica, sans-serif;
  font-size: 1.0625rem;
}

.coming-soon {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 3rem 1.5rem 4rem;
}

.coming-soon__content {
  display: grid;
  justify-items: center;
  max-width: 62rem;
  text-align: center;
}

.coming-soon__animation {
  display: block;
  width: clamp(18rem, 52vw, 36rem);
  height: auto;
  margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
}

h1 {
  margin: 0;
  color: #e6a34a;
  font-family: "Nova Square", sans-serif;
  font-size: clamp(1.45rem, 3.5vw, 3.2rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.site-footer {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0.8rem 1rem;
  color: rgba(255, 255, 255, 0.52);
  font-family: "Nova Square", sans-serif;
  font-size: 0.625rem;
  line-height: 1.2;
  text-align: center;
}

.pfp-site { background: #090b0c; color: #eef0eb; font-family: "freight-sans-pro", Arial, Helvetica, sans-serif; }
.pfp-site .site-footer { position: relative; padding: 2rem; font-family: "freight-sans-pro", Arial, Helvetica, sans-serif; }
.pfp-credits-link { position: absolute; top: 50%; left: 2rem; color: #858c85; font-family: "Nova Square", sans-serif; font-size: .55rem; letter-spacing: .04em; text-decoration: none; transform: translateY(-50%); }
.pfp-credits-link:hover, .pfp-credits-link:focus-visible { color: #e6a34a; }
.pfp-corner-mark { position: fixed; z-index: 10; top: clamp(.75rem, 2vw, 1.5rem); right: clamp(.75rem, 2vw, 1.5rem); display: block; width: min(var(--pfp-corner-mark-size, 12.5rem), 20vw); padding: clamp(.25rem, .75vw, .5rem); line-height: 0; }
.pfp-corner-mark img { width: 100%; height: auto; }
.pfp { overflow: hidden; }
.pfp-hero, .pfp-panel, .pfp-detail, .pfp-section-shell { width: min(100% - 3rem, 76rem); margin-inline: auto; }
.pfp-hero { min-height: 92vh; display: flex; flex-direction: column; justify-content: center; padding-block: 6rem; }
.pfp-eyebrow, .pfp-panel__number { margin: 0 0 1.25rem; color: #e6a34a; font-family: "Nova Square", sans-serif; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.pfp-hero h1, .pfp-detail h1 { max-width: 9ch; color: #eef0eb; font-size: clamp(3.2rem, 9vw, 8rem); line-height: .91; letter-spacing: -.06em; }
.pfp-hero > p:not(.pfp-eyebrow), .pfp-detail__hero > p:last-child { max-width: 38rem; margin: 2rem 0 0; color: #b6bdb6; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.55; }
.pfp-scroll-cue { margin-top: 4rem; color: #e6a34a; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.pfp-scroll-cue span { padding-left: .5rem; font-size: 1.2rem; }
.pfp-panels { border-top: 1px solid #343936; }
.pfp-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 8rem); align-items: center; min-height: min(46rem, 92vh); padding-block: clamp(4rem, 9vw, 8rem); border-bottom: 1px solid #343936; opacity: .1; transform: translateY(4rem); transition: opacity .65s ease, transform .75s cubic-bezier(.22, 1, .36, 1); }
.pfp-panel.is-visible { opacity: 1; transform: translateY(0); }
.pfp-panel--reverse .pfp-panel__image { order: 2; }
.pfp-panel__image, .pfp-detail__image { position: relative; overflow: hidden; min-height: 24rem; border-radius: clamp(1rem, 2vw, 1.75rem); background: #202622; isolation: isolate; }
.pfp-panel__image-link { display: block; color: inherit; }
.pfp-panel__image-link:focus-visible { outline: 2px solid #e6a34a; outline-offset: .35rem; }
.pfp-panel__image img, .pfp-detail__image img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(1.08) contrast(1.12); }
.pfp-panel__image { --image-reveal-offset: clamp(-6rem, -10vw, -3rem); --image-exit-offset: var(--image-reveal-offset); opacity: 0; transform: translateX(var(--image-reveal-offset)); transition: opacity .7s ease, transform .95s cubic-bezier(.22, 1, .36, 1); }
.pfp-panel--reverse .pfp-panel__image { --image-reveal-offset: clamp(3rem, 10vw, 6rem); }
.pfp-panel.is-visible .pfp-panel__image { opacity: 1; transform: translateX(0); }
.pfp-panel.is-image-exiting .pfp-panel__image { opacity: 0; transform: translateX(var(--image-exit-offset)); }
.pfp-panel.is-image-exiting.is-scrolling-up .pfp-panel__image { --image-exit-offset: clamp(3rem, 10vw, 6rem); }
.pfp-panel--reverse.is-image-exiting.is-scrolling-up .pfp-panel__image { --image-exit-offset: clamp(-6rem, -10vw, -3rem); }
.pfp-panel__image::after, .pfp-detail__image::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(135deg, rgba(230,163,74,.3), transparent 55%), linear-gradient(135deg, rgba(210,132,53,.18), rgba(142,78,28,.12)), linear-gradient(135deg, rgba(8,10,10,.08), rgba(8,10,10,.58)); }
.pfp-panel__image span { position: absolute; z-index: 2; top: 1.25rem; left: 1.25rem; color: #fff; font-size: 2.25rem; }
.pfp-panel__content { display: flex; flex-direction: column; align-items: flex-start; max-width: 30rem; }
.pfp-panel h2 { margin: 0; color: #eef0eb; font-size: clamp(2.3rem, 5vw, 4.7rem); line-height: .96; letter-spacing: -.055em; }
.pfp-panel__content > p:not(.pfp-panel__number) { max-width: 30rem; margin: 1.5rem 0 2rem; color: #b6bdb6; font-size: 1.1rem; line-height: 1.6; }
.pfp-panel__more, .pfp-back, .pfp-home, .pfp-top { color: #e6a34a; font-family: "Nova Square", sans-serif; font-size: .9rem; letter-spacing: .04em; text-decoration: none; }
.pfp-panel__more { align-self: flex-end; display: inline-flex; align-items: center; gap: .5rem; padding: .65rem .9rem; border-radius: .7rem .7rem .16rem .7rem; color: #eef0eb; background: #a3672b; box-shadow: 0 .5rem 1.5rem rgba(163,103,43,.2); transition: background-color .2s ease, color .2s ease, transform .2s ease; }
.pfp-panel__more--depth-2 { background: #493158; box-shadow: 0 .5rem 1.5rem rgba(73,49,88,.25); }
.pfp-panel__more--deep { background: #24513c; box-shadow: 0 .5rem 1.5rem rgba(36,81,60,.25); }
.pfp-panel__more:hover, .pfp-panel__more:focus-visible { color: #fff; background: #bd7b35; transform: translateY(-2px); }
.pfp-panel__more--depth-2:hover, .pfp-panel__more--depth-2:focus-visible { background: #634277; }
.pfp-panel__more--deep:hover, .pfp-panel__more--deep:focus-visible { background: #307052; }
.pfp-panel a span { padding: 0; }
.pfp-detail { padding-block: 3rem 7rem; }
.pfp-hierarchy-nav { display: flex; align-items: center; gap: 1.25rem; padding-top: 3rem; }
.pfp-hierarchy-nav__separator { color: #858c85; }
.pfp-back, .pfp-home, .pfp-top { display: inline-block; }
.pfp-back:hover, .pfp-back:focus-visible, .pfp-home:hover, .pfp-home:focus-visible, .pfp-top:hover, .pfp-top:focus-visible { color: #eef0eb; }
.pfp-detail .pfp-hierarchy-nav { margin-bottom: clamp(4rem, 10vw, 8rem); }
.pfp-detail .pfp-hierarchy-nav--bottom { margin-top: clamp(3rem, 7vw, 5rem); margin-bottom: 0; padding-top: clamp(2rem, 5vw, 3rem); border-top: 1px solid #343936; }
.pfp-hero--section { min-height: auto; padding-top: clamp(4rem, 10vw, 8rem); }
.pfp-section-intro { max-width: 44rem; margin-top: 2rem; color: #c8cec7; font-size: 1.1rem; line-height: 1.75; }
.pfp-section-intro > :first-child { margin-top: 0; }
.pfp-detail__hero { padding-bottom: 4rem; }
.pfp-detail__hero h1 { max-width: 11ch; }
.pfp-detail__image { min-height: clamp(20rem, 48vw, 38rem); }
.pfp-prose { max-width: 44rem; margin: clamp(3rem, 9vw, 7rem) auto 0; color: #c8cec7; font-size: 1.15rem; line-height: 1.75; }
.pfp-prose h2 { margin-top: 3rem; color: #eef0eb; font-size: clamp(1.8rem, 3.5vw, 2.8rem); line-height: 1.05; letter-spacing: -.04em; }
.pfp-prose p { margin-block: 1.4rem; }
.pfp-prose table { display: block; width: 100%; margin: 2.5rem 0; overflow-x: auto; border: 1px solid #343936; border-radius: .9rem; border-collapse: separate; border-spacing: 0; color: #c8cec7; font-size: .98rem; line-height: 1.55; }
.pfp-prose th, .pfp-prose td { min-width: 10rem; padding: .9rem 1.05rem; border-right: 1px solid #343936; border-bottom: 1px solid #343936; text-align: left; vertical-align: top; }
.pfp-prose th:last-child, .pfp-prose td:last-child { border-right: 0; }
.pfp-prose tbody tr:last-child td { border-bottom: 0; }
.pfp-prose thead th { color: #e6a34a; background: rgba(230,163,74,.1); font-weight: 700; }
.pfp-prose tbody tr:nth-child(odd) { background: #151918; }
.pfp-prose tbody tr:nth-child(even) { background: #0e1110; }
.pfp-prose tbody tr:hover { background: rgba(230,163,74,.08); }
.pfp-linked-page { display: inline-flex; align-items: center; gap: .65rem; color: #e6a34a; font-family: "Nova Square", sans-serif; font-size: .9em; letter-spacing: .035em; text-decoration: none; }
.pfp-linked-page span { font-size: 1.3em; line-height: 1; transition: transform .2s ease; }
.pfp-linked-page:hover, .pfp-linked-page:focus-visible { color: #eef0eb; }
.pfp-linked-page:hover span, .pfp-linked-page:focus-visible span { transform: translateX(.3rem); }
.pfp-link-cta { display: inline-flex; align-items: center; gap: .8rem; margin: 2.5rem 0; padding: .95rem 1.15rem; border: 1px solid #c98336; border-radius: .85rem .85rem .2rem .85rem; color: #fff; background: #a3672b; box-shadow: 0 .7rem 1.8rem rgba(163,103,43,.24); font-family: "Nova Square", sans-serif; font-size: .95rem; letter-spacing: .04em; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.pfp-link-cta > :first-child { font-size: 1.35em; line-height: 1; transition: transform .2s ease; }
.pfp-link-cta:hover, .pfp-link-cta:focus-visible { border-color: #e6a34a; color: #fff; background: #bd7b35; transform: translateY(-2px); }
.pfp-link-cta:hover > :first-child, .pfp-link-cta:focus-visible > :first-child { transform: translateX(.3rem); }
.pfp-prose blockquote, .pfp-prose__quote { position: relative; margin: clamp(4rem, 9vw, 6rem) 0; padding: .4rem clamp(2.25rem, 5vw, 3.75rem) .4rem clamp(1.5rem, 4vw, 2.75rem); border-left: var(--pfp-quote-border-width, 2px) solid var(--pfp-quote-border-color, #e6a34a); color: var(--pfp-quote-color, #eef0eb); font-size: var(--pfp-quote-size, clamp(1.35rem, 2.5vw, 1.8rem)); font-style: italic; line-height: 1.35; letter-spacing: -.025em; text-align: var(--pfp-quote-align, left); }
.pfp-prose blockquote::before, .pfp-prose__quote::before { content: "“"; position: absolute; top: -.55em; left: .08em; color: var(--pfp-quote-border-color, #e6a34a); font-family: Georgia, serif; font-size: 3.4em; font-style: normal; line-height: 1; }
.pfp-prose blockquote::after, .pfp-prose__quote::after { content: "”"; position: absolute; right: .08em; bottom: -.78em; color: var(--pfp-quote-border-color, #e6a34a); font-family: Georgia, serif; font-size: 3.4em; font-style: normal; line-height: 1; }
.pfp-prose blockquote p, .pfp-prose__quote p { margin: 0; }
.pfp-prose blockquote p + p, .pfp-prose__quote p + p { margin-top: 1rem; }
.pfp-prose blockquote cite, .pfp-prose__quote cite { display: block; margin-top: 1rem; color: #858c85; font-family: Arial, Helvetica, sans-serif; font-size: .6em; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.pfp-qa { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(1rem, 3vw, 1.75rem); align-items: start; margin: 2rem 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #343936; border-radius: 1rem; }
.pfp-qa__marker { display: grid; width: 2.4rem; aspect-ratio: 1; place-items: center; border-radius: 50%; font-family: "Nova Square", sans-serif; font-size: 1.1rem; line-height: 1; }
.pfp-qa--question { background: rgba(230,163,74,.06); border-color: rgba(230,163,74,.38); }
.pfp-qa--question .pfp-qa__marker { color: #17100a; background: #e6a34a; }
.pfp-qa--answer { background: rgba(73,49,88,.14); border-color: rgba(138,103,159,.42); }
.pfp-qa--answer .pfp-qa__marker { color: #f1eafb; background: #493158; }
.pfp-qa__content > :first-child { margin-top: 0; }
.pfp-qa__content > :last-child { margin-bottom: 0; }
.pfp-faq { margin: clamp(3rem, 7vw, 5rem) 0; }
.pfp-faq .pfp-qa { margin-block: 0; border-radius: 0; }
.pfp-faq .pfp-qa--question { border-radius: 1rem 1rem 0 0; }
.pfp-faq .pfp-qa--answer { border-top: 0; border-radius: 0 0 1rem 1rem; }
.pfp-prose__figure { position: relative; margin: 2.5rem 0; }
.pfp-prose__image-link { display: block; color: inherit; }
.pfp-prose__image-link:focus-visible { outline: 2px solid #e6a34a; outline-offset: .35rem; }
.pfp-prose__figure img { display: block; width: var(--pfp-prose-image-width, 100%); max-width: 100%; height: auto; margin-inline: auto; border: var(--pfp-prose-image-border-width, 0) solid var(--pfp-prose-image-border-color, transparent); border-radius: var(--pfp-prose-image-radius, 0); }
.pfp-prose__figure figcaption { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem .85rem; margin-top: .8rem; color: #858c85; font-size: .9rem; text-align: center; }
.pfp-prose__figure figcaption a { color: #b6bdb6; text-underline-offset: .16em; }
.pfp-prose__figure figcaption a:hover, .pfp-prose__figure figcaption a:focus-visible { color: #e6a34a; }
.pfp-image-stack { display: grid; gap: clamp(.75rem, 2vw, 1.5rem); margin: 2.5rem 0; }
.pfp-image-stack--1 { grid-template-columns: minmax(0, 1fr); }
.pfp-image-stack--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pfp-image-stack--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pfp-image-stack .pfp-prose__figure { margin: 0; }
.pfp-image-stack--match-height .pfp-prose__figure { height: var(--pfp-image-stack-height); }
.pfp-image-stack--match-width .pfp-prose__figure { aspect-ratio: var(--pfp-image-stack-ratio); }
.pfp-image-stack--match-height .pfp-prose__image-link, .pfp-image-stack--match-width .pfp-prose__image-link { height: 100%; }
.pfp-image-stack--match-height .pfp-prose__figure > img, .pfp-image-stack--match-width .pfp-prose__figure > img, .pfp-image-stack--match-height .pfp-prose__image-link > img, .pfp-image-stack--match-width .pfp-prose__image-link > img { width: 100%; height: 100%; object-fit: cover; }
.pfp-video { width: var(--pfp-video-width, 100%); max-width: 100%; margin: 2.5rem auto; }
.pfp-video__frame { position: relative; aspect-ratio: var(--pfp-video-ratio, 16 / 9); overflow: hidden; border: 1px solid #343936; border-radius: 1rem; background: #000; }
.pfp-video iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.pfp-video__credits { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem .85rem; margin-top: .8rem; color: #858c85; font-size: .72rem; line-height: 1.45; text-align: center; }
.pfp-video__credits a { color: #b6bdb6; text-underline-offset: .16em; }
.pfp-video__credits a:hover, .pfp-video__credits a:focus-visible { color: #e6a34a; }
.pfp-image-viewer-trigger, .pfp-image-viewer button { display: grid; place-items: center; border: 1px solid rgba(238,240,235,.65); color: #eef0eb; background: rgba(9,11,12,.78); font: inherit; cursor: pointer; }
.pfp-image-viewer-trigger { position: absolute; right: .9rem; bottom: .9rem; width: 2.4rem; aspect-ratio: 1; border-radius: 50%; font-size: 1.5rem; line-height: 1; }
.pfp-image-viewer-trigger:hover, .pfp-image-viewer-trigger:focus-visible, .pfp-image-viewer button:hover, .pfp-image-viewer button:focus-visible { border-color: #e6a34a; color: #e6a34a; outline: none; }
.pfp-image-viewer { width: min(100% - 2rem, 82rem); height: min(100% - 2rem, 54rem); padding: 0; overflow: hidden; border: 1px solid #343936; border-radius: 1rem; color: #eef0eb; background: #090b0c; }
.pfp-image-viewer::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(.35rem); }
.pfp-image-viewer__bar { display: flex; align-items: center; justify-content: space-between; padding: .75rem; border-bottom: 1px solid #343936; }
.pfp-image-viewer__zoom-controls { display: flex; gap: .5rem; }
.pfp-image-viewer button { width: 2.25rem; aspect-ratio: 1; border-radius: .5rem; font-size: 1.25rem; line-height: 1; }
.pfp-image-viewer button:disabled { cursor: not-allowed; opacity: .38; }
.pfp-image-viewer__stage { display: grid; height: calc(100% - 4rem); place-items: center; overflow: auto; padding: 1.5rem; }
.pfp-image-viewer__stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; transform-origin: center; transition: transform .16s ease; }
.pfp-credits { width: min(100% - 3rem, 76rem); margin-inline: auto; padding-block: clamp(7rem, 14vw, 12rem); }
.pfp-credits__hero { padding-bottom: clamp(3rem, 7vw, 6rem); }
.pfp-credits__back { display: inline-block; margin-bottom: clamp(2rem, 4vw, 3rem); color: #e6a34a; font-family: "Nova Square", sans-serif; font-size: .75rem; letter-spacing: .04em; text-decoration: none; }
.pfp-credits__back:hover, .pfp-credits__back:focus-visible { color: #eef0eb; }
.pfp-credits h1 { max-width: none; margin: 0; color: #eef0eb; font-size: clamp(1.6rem, 4.5vw, 4rem); line-height: .91; letter-spacing: -.06em; }
.pfp-credits__entries { max-width: 44rem; color: #c8cec7; font-size: 1.05rem; line-height: 1.7; }
.pfp-credits__entries h3 { margin: 2.25rem 0 1rem; padding-top: 2.25rem; border-top: 1px solid #343936; color: #e6a34a; font-family: "Nova Square", sans-serif; font-size: .8rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.pfp-credits__entries h3:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.pfp-credits__entries p { margin: 0; }
.pfp-credits__entries a { color: #e6a34a; }
@media (prefers-reduced-motion: reduce) { .pfp-panel, .pfp-panel__image, .pfp-panel.is-visible .pfp-panel__image, .pfp-panel.is-image-exiting .pfp-panel__image, .pfp-panel a { opacity: 1; transform: none; transition: none; } }
@media (max-width: 44rem) { .pfp-hero, .pfp-panel, .pfp-detail, .pfp-credits, .pfp-section-shell { width: min(100% - 2rem, 76rem); } .pfp-panel { grid-template-columns: 1fr; min-height: auto; } .pfp-panel--reverse .pfp-panel__image { order: initial; } .pfp-panel__image { min-height: 18rem; } .pfp-image-stack { grid-template-columns: 1fr; } .pfp-credits-link { left: 1rem; } }

@media (max-width: 30rem) {
  .coming-soon {
    padding-inline: 1.25rem;
  }

  h1 {
    letter-spacing: -0.02em;
  }
}
