/* PIMP's graphic layer. The underlying 2 + 3 grid and discovery layout stay intact. */
.hp { --hp-silver:#d8dce2; --hp-ease:cubic-bezier(.22,1,.36,1); }
.hp-hero-registration { position:absolute; inset:24px 2px auto; display:flex; justify-content:space-between; font:8px/1.4 monospace; letter-spacing:.12em; color:#595c61; }
.hp-hero-registration span:before { content:"+"; margin-right:8px; color:#a2a7ae; }
.hp-hero { padding-top:67px; }
.hp-eyebrow { color:#92959a; font-size:9px; }
.hp-tiny-mark { border:0; border-radius:0; width:21px; height:23px; background:transparent; mix-blend-mode:screen; }
.hp-title-line { display:block; }
.hp-hero h1 { font-weight:500; line-height:1.025; letter-spacing:-.064em; }
.hp-chrome { background-image:linear-gradient(110deg,#f5f6f8 12%,#9da3ae 35%,#eff1f4 49%,#b0b6bf 61%,#f6f7f8 80%); }
.hp-hero-footnote { letter-spacing:.025em; }
.hp-hero-footnote .hp-cross { width:28px; height:1px; background:#42464c; font-size:0; position:relative; }
.hp-hero-footnote .hp-cross:after { content:""; width:4px; height:4px; background:#bcc2ca; border-radius:50%; position:absolute; top:-1.5px; left:12px; }
.hp-hero-actions .primary { background:linear-gradient(135deg,#f9fafb,#c6ccd5); box-shadow:inset 0 1px #fff,0 3px 0 #5b606a26; color:#111317; }
.hp-feature { border-color:#34363a; box-shadow:inset 0 1px #ffffff05; }
.hp-feature-caption { padding-top:22px; background:linear-gradient(transparent,#111214 38%); }
.hp-feature-caption small { color:#94979c; }
.hp-open { color:#aaadb3; }
.hp-feature:hover .hp-open b { transform:translate(1px,-1px); }
.hp-explore { background:#121315; }
.hp-explore:before { z-index:2; }
.hp-film { position:absolute; inset:-30px -2px 0 32%; padding:0; transform:rotate(-9deg) scale(1.15); opacity:.82; gap:8px; mask-image:linear-gradient(90deg,transparent,#000 20%); }
.hp-mini-portrait { border-color:#55575b; background:#191b1e; box-shadow:0 5px 15px #0005; border-radius:9px; padding:3px; }
.hp-mini-portrait img { filter:saturate(.5) contrast(1.04); transition:filter .8s; }
.hp-explore:hover .hp-mini-portrait img { filter:saturate(.95) contrast(1.02); }
.hp-exhibit-heading { position:absolute; inset:26px auto 75px 24px; z-index:2; pointer-events:none; }
.hp-exhibit-heading:before { content:""; position:absolute; inset:-26px -40px -20px -24px; background:linear-gradient(90deg,#121315 25%,#121315dc 48%,transparent); z-index:-1; }
.hp-exhibit-heading .hp-label { color:#92969e; font:8px/1.5 monospace; letter-spacing:.09em; }
.hp-exhibit-heading strong { display:block; margin-top:32px; font-size:clamp(30px,3.1vw,44px); line-height:1.06; font-weight:500; letter-spacing:-.055em; color:#f3f4f6; }
.hp-exhibit-count { display:inline-flex; gap:22px; align-items:center; margin-top:23px; border:1px solid #ffffff30; border-radius:999px; padding:7px 10px; font:9px/1.2 monospace; color:#bbc0c8; background:#12131599; }
.hp-exhibit-count i { font-size:13px; font-style:normal; }
.hp-routing { background:linear-gradient(140deg,#202226,#101113 65%); padding:23px; }
.hp-routing-title { font-size:clamp(23px,2.1vw,30px); position:relative; z-index:2; margin:8px 0 0; }
.hp-routing-head .hp-label { font:8px monospace; color:#969ba4; }
.hp-corner-mark { width:24px; height:24px; border:1px solid #44484e; border-radius:50%; display:grid; place-items:center; font-size:14px; }
.hp-connection { position:absolute; left:20px; right:23px; top:105px; bottom:55px; perspective:800px; }
.hp-connection-source { position:absolute; width:48%; left:-5%; top:0; bottom:0; z-index:1; transform:translate3d(var(--art-x,0px),var(--art-y,0px),0); transition:transform .7s var(--hp-ease); }
.hp-connection-source .hp-coin-scene { height:100%; }
.hp-source-label { position:absolute; bottom:1px; left:27%; right:18%; display:flex; justify-content:space-between; gap:8px; font:7px monospace; letter-spacing:.1em; color:#9199a4; }
.hp-source-label b { font-weight:400; }
.hp-connection-lines { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.hp-connection-lines path { fill:none; stroke:#4c535e; stroke-width:.85; vector-effect:non-scaling-stroke; }
.hp-connection-lines .hp-connection-current { stroke:#e2e6ef; stroke-width:1.3; stroke-dasharray:16 220; stroke-dashoffset:240; animation:hp-connection-send 4.8s linear infinite; animation-play-state:paused; }
.hp-connection .hp-routes { position:absolute; width:44%; right:0; inset-block:7px; display:flex; flex-direction:column; justify-content:space-between; gap:7px; z-index:2; }
.hp-connection .hp-route { padding:8px; gap:8px; background:linear-gradient(120deg,#2c3036,#1a1c20); border-color:#4f555f; border-radius:9px; box-shadow:0 6px 15px #0005,inset 0 1px #ffffff0b; animation:hp-recipient-light 4.8s var(--route-delay) ease infinite; animation-play-state:paused; }
.hp-connection .hp-route-coin,.hp-connection .hp-route-wire { display:none; }
.hp-connection .hp-route-person { width:auto; }
.hp-connection .hp-route-person small { color:#9a9fa8; font-size:8px; }
.hp-connection .hp-route img { width:31px; height:31px; border:1px solid #adb3bd70; }
.hp-connection .hp-route strong { font-size:11px; }
.hp-analytics-teaser,.hp-payout-teaser,.hp-spec-teaser { background:linear-gradient(145deg,#202226,#151618 65%); }
.hp-analytics-teaser .hp-feature-caption,.hp-payout-teaser .hp-feature-caption,.hp-spec-teaser .hp-feature-caption { background:linear-gradient(transparent,#151618 75%); color:#d1d4d9; font-size:13px; }
.hp-fee-display { inset:23px 22px auto; }
.hp-fee-label { color:#a1a6ad; font:10px/16px monospace; }
.hp-fee-window { font-size:38px; font-weight:450; margin-top:12px; }
.hp-fee-chart { height:145px; bottom:30px; }
.hp-fee-chart svg { filter:drop-shadow(0 -2px 6px #ccd7ec13); }
.hp-chart-grid { background:repeating-linear-gradient(to bottom,#d3dfef0a 0 1px,transparent 1px 39px); }
.hp-search-controls input { border-color:#454a52; background:#111214; height:38px; font-size:11px; }
.hp-search-controls select { background:#25282d; color:#c7cbd2; border-color:#454a52; }
.hp-demo-label { color:#9ba1ab; font-size:9px; }
.hp-creator-results.is-browsing { height:115px; }
.hp-creator-result { padding-inline:3px; }
.hp-creator-result small { color:#949aa3; }
.hp-search-status { color:#9b9fa7; }
.hp-spec-teaser .hp-spec-window { inset:0 14px 20px 42%; opacity:.28; transform:rotate(7deg); }
.hp-guide-object { position:absolute; width:68%; height:192px; top:20px; left:15%; border:1px solid #e0e4eb; border-radius:4px 12px 12px 4px; background:linear-gradient(125deg,#e9ecf1,#bfc6d0 70%,#e7eaf0); color:#242932; padding:15px 16px 11px 22px; box-shadow:-3px 2px 0 #555e6d,-6px 4px 0 #363d48,0 20px 24px #0005; transform:translate3d(var(--art-x,0px),var(--art-y,0px),0) rotate(-7deg); transition:transform .8s var(--hp-ease),box-shadow .8s; }
.hp-guide-object:before { content:""; position:absolute; left:8px; top:0; bottom:0; width:1px; background:#28313c24; box-shadow:1px 0 #fff6; }
.hp-guide-top { display:flex; justify-content:space-between; gap:5px; font:6px/1.5 monospace; letter-spacing:.06em; border-bottom:1px solid #1e2a3c35; padding-bottom:10px; }
.hp-guide-top>span:first-child { font:bold 10px/1 monospace; letter-spacing:.07em; }
.hp-guide-object>strong { display:block; font-size:clamp(19px,2vw,28px); letter-spacing:-.055em; line-height:1.08; font-weight:550; padding-top:17px; }
.hp-guide-object em { font-weight:400; font-family:Georgia,serif; }
.hp-guide-bottom { position:absolute; bottom:13px; left:22px; right:16px; display:flex; align-items:center; justify-content:space-between; font:6px/1.5 monospace; letter-spacing:.08em; }
.hp-guide-bottom>span:last-child { font:23px/1 sans-serif; }
.hp-spec-teaser:hover .hp-guide-object,.hp-spec-teaser:focus-visible .hp-guide-object { transform:translate3d(0,-5px,0) rotate(-2deg); box-shadow:-3px 2px 0 #555e6d,-6px 4px 0 #363d48,0 28px 30px #0007; }
.hp-section-heading h2 { display:flex; align-items:baseline; gap:10px; font-size:23px; }
.hp-featured .hp-section-heading h2:before,.hp-claim-column .hp-section-heading h2:before { content:"01 /"; font:8px monospace; color:#7d848f; letter-spacing:0; }
.hp-claim-column .hp-section-heading h2:before { content:"02 /"; }
.hp .coin-card { background:linear-gradient(155deg,#23262b,#161719 60%); border-color:#3a3d42; box-shadow:inset 0 1px #ffffff08; }
.hp .coin-card-copy>strong { color:#e6e8ed; }
.hp .coin-card-copy>span,.hp .coin-card-copy p { color:#9a9fa8; }
.hp .coin-card-art>img { filter:saturate(.75); }
.hp .coin-card:hover .coin-card-art>img { filter:saturate(1); }
.hp .coin-recipient { border-color:#ffffff3a; background:#11151bd9; }
.hp-claim-row { border-bottom-color:#303338; }
.hp-claim-row small { color:#8a919c; }
.hp-claim-row>b { color:#b0b6bf; border-color:#464c55; border-radius:999px; }
.hp-find-profile { background:linear-gradient(120deg,#25282d,#17191c); border-color:#464c55; }
.hp-bottom-line { position:relative; overflow:hidden; border-color:#383d45; }
.hp-bottom-line:before { content:""; position:absolute; top:0; width:110px; height:1px; background:linear-gradient(90deg,transparent,#dbe3f0,transparent); left:10%; }
.hp-bottom-line h2 { letter-spacing:-.045em; }
.hp-animate .hp-connection-current,.hp-animate .hp-connection .hp-route { animation-play-state:running; }
.hp-motion-paused .hp-connection-current,.hp-motion-paused .hp-connection .hp-route { animation-play-state:paused; }
@keyframes hp-connection-send { to { stroke-dashoffset:-232; } }
@keyframes hp-recipient-light { 0%,15%,65%,100% { border-color:#4f555f; } 35% { border-color:#aeb9c9; box-shadow:0 6px 15px #0005,0 0 12px #cdd9ee0c; } }
@keyframes hp-title-enter { from { opacity:0; transform:translateY(22px); filter:blur(5px); } to { opacity:1; transform:none; filter:blur(0); } }
@media(prefers-reduced-motion:no-preference) {
 .hp-hero .hp-title-line { animation:hp-title-enter .9s var(--hp-ease) both; }
 .hp-hero .hp-title-line:nth-child(2) { animation-delay:.11s; }
 .hp-hero .hp-lead,.hp-hero .hp-hero-actions,.hp-hero .hp-hero-footnote { animation:hp-title-enter .8s .2s var(--hp-ease) both; }
 .pimp-intro-active .hp-hero * { animation-play-state:paused; }
}
@media(min-width:1440px) { .hp-hero { padding-top:73px; } }
@media(max-width:1100px) and (min-width:768px) {
 .hp-connection { top:104px; left:12px; right:13px; bottom:60px; }
 .hp-connection .hp-route { padding:7px 5px; gap:5px; }
 .hp-connection .hp-route img { width:25px; height:25px; }
 .hp-connection .hp-route strong { font-size:9px; }
 .hp-connection .hp-route small { font-size:7px; }
 .hp-guide-object { width:76%; left:12%; padding-left:18px; }
 .hp-guide-top { font-size:5px; }
 .hp-guide-object>strong { font-size:24px; }
 .hp-fee-window { font-size:31px; }
 .hp-exhibit-heading { left:17px; }
 .hp-exhibit-heading strong { font-size:31px; }
}
@media(max-width:767px) {
 .hp-hero { padding-top:49px; }
 .hp-hero-registration { top:14px; font-size:6px; }
 .hp-exhibit-heading { top:21px; left:19px; }
 .hp-exhibit-heading strong { font-size:32px; margin-top:25px; }
 .hp-exhibit-count { margin-top:17px; font-size:8px; }
 .hp-connection { left:10px; right:14px; top:88px; bottom:49px; }
 .hp-connection .hp-route { padding:6px; gap:5px; }
 .hp-connection .hp-route img { width:23px; height:23px; }
 .hp-connection .hp-route strong { font-size:9px; }
 .hp-connection .hp-route-person small { font-size:7px; }
 .hp-connection .hp-routes { width:46%; }
 .hp-source-label { font-size:6px; left:24%; }
 .hp-guide-object { max-width:240px; left:calc(50% - 120px); }
 .hp-guide-object>strong { font-size:28px; }
}
@media(max-width:540px) {
 .hp-hero-registration span:first-child { font-size:0; }
 .hp-hero-registration span:first-child:before { font-size:9px; }
 .hp-hero h1 { font-size:clamp(35px,10.8vw,49px); }
 .hp-eyebrow { font-size:7px; letter-spacing:.1em; }
 .hp-exhibit-heading strong { font-size:38px; }
 .hp-film { left:28%; }
 .hp-routing { padding:19px; }
 .hp-routing-title { font-size:25px; }
 .hp-connection { top:99px; left:15px; right:18px; }
 .hp-connection .hp-route { padding:7px; gap:7px; }
 .hp-connection .hp-route img { width:27px; height:27px; }
 .hp-connection .hp-route strong { font-size:10px; }
 .hp-connection .hp-route small { font-size:8px; }
 .hp-guide-object { width:210px; left:calc(50% - 105px); }
}
@media(prefers-reduced-motion:reduce) {
 .hp-connection-current { stroke-dasharray:none!important; opacity:.5; }
 .hp-connection-source,.hp-guide-object { transition:none; }
}

/* Brushed silver, a sculptural mark, and printed layers inside the existing panels. */
.hp-routing { background:linear-gradient(125deg,#e0e4ea 0%,#bac2ce 46%,#e2e6ec 100%); border-color:#dce2eb; box-shadow:inset 0 1px #fff8,inset 0 -1px #525d7166; }
.hp-routing:before { opacity:.32; z-index:0; background:repeating-linear-gradient(0deg,#24314903 0 1px,transparent 1px 3px); }
.hp-routing:after { background:linear-gradient(90deg,transparent,#fff,transparent); opacity:.7; transform:none; }
.hp-routing-title { color:#252c37; font-weight:500; }
.hp-routing-head .hp-label { color:#5a6678; }
.hp-routing .hp-corner-mark { color:#485466; border-color:#65718460; }
.hp-routing .hp-feature-caption { background:linear-gradient(transparent,#c7cfdbee 55%,#c7cfdb); color:#2c3543; }
.hp-routing .hp-feature-caption small { color:#5e697a; }
.hp-routing .hp-open,.hp-routing:hover .hp-feature-caption .hp-open { color:#495566; }
.hp-routing .hp-open b { border-color:#73809477; color:#334051; }
.hp-routing:hover { border-color:#f6f8fb; box-shadow:0 12px 35px #0005,inset 0 1px #fff; }
.hp-routing .hp-connection { isolation:isolate; }
.hp-connection-source { width:53%; left:-7%; }
.hp-connection-source:after { content:""; position:absolute; z-index:-1; left:29%; right:22%; bottom:18px; height:9px; border-radius:50%; background:#3443584d; filter:blur(8px); animation:hp-sculpture-shadow 9s ease-in-out infinite; animation-play-state:paused; }
.hp-animate .hp-connection-source:after { animation-play-state:running; }
.hp-source-label { color:#5c687a; font-size:6px; letter-spacing:.17em; bottom:0; }
.hp-connection-lines path { stroke:#77879d; opacity:.65; }
.hp-connection-lines .hp-connection-current { stroke:#fff; opacity:1; stroke-width:1.8; }
.hp-connection .hp-route { background:linear-gradient(125deg,#fafcffdd,#d7dee9d9); border:1px solid #ffffffc9; box-shadow:0 4px 14px #45536c18,inset 0 -1px #6a76891a; border-radius:8px; }
.hp-connection .hp-route strong { color:#293445; }
.hp-connection .hp-route-person small { color:#657186; }
.hp-connection .hp-route img { border-color:#a2adbe; }
@keyframes hp-recipient-light { 0%,15%,65%,100% { border-color:#ffffffc9; } 35% { border-color:#657b9b; box-shadow:0 4px 14px #45536c18,0 0 0 2px #fff5; } }
@keyframes hp-sculpture-shadow { 0%,100% { transform:scaleX(1); opacity:.65; } 50% { transform:scaleX(.8); opacity:.4; } }

.hp-exhibit-heading strong { font-weight:450; }
.hp-exhibit-count { border-radius:5px; background:#121315b3; letter-spacing:.03em; padding-block:8px; }
.hp-film { transition:transform 1.1s var(--hp-ease),opacity .7s; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .hp-explore:hover .hp-film { transform:perspective(1100px) rotateY(-7deg) rotate(-6deg) scale(1.18); opacity:1; }
 .hp-explore:focus-visible .hp-film { opacity:1; }
}
.hp-mini-portrait { box-shadow:1px 1px 0 #878d9838,4px 8px 16px #0008; }
.hp-explore .hp-feature-caption { background:linear-gradient(transparent,#111214ee 58%); }

.hp-spec-teaser { perspective:950px; }
.hp-guide-leaf { position:absolute; top:26px; left:17%; width:68%; height:188px; padding:18px 15px; background:linear-gradient(120deg,#b8c3d3,#d8dfe9); color:#354254; border:1px solid #f0f3f888; border-radius:3px 9px 9px 3px; transform:rotate(0deg); transition:transform .9s var(--hp-ease); }
.hp-guide-leaf>span,.hp-guide-leaf>b { font:6px/1.5 monospace; letter-spacing:.07em; }
.hp-guide-leaf p { font-size:12px; padding-block:9px; border-bottom:1px solid #36496030; letter-spacing:-.03em; }
.hp-guide-leaf p i { font:7px monospace; font-style:normal; margin-right:8px; color:#60718a; }
.hp-guide-leaf>b { display:block; margin-top:12px; }
.hp-guide-object { transform-origin:12% 50%; transform:translate3d(var(--art-x,0px),var(--art-y,0px),15px) rotateY(-9deg) rotateZ(-7deg); box-shadow:-2px 1px 0 #f0f4fa,-5px 3px 0 #68788e,0 22px 25px #0005; }
.hp-guide-object:after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(110deg,transparent 30%,#fff5 48%,transparent 64%); opacity:.35; pointer-events:none; }
.hp-spec-teaser:hover .hp-guide-object,.hp-spec-teaser:focus-visible .hp-guide-object { transform:translate3d(-10px,-5px,22px) rotateY(-24deg) rotateZ(-10deg); }
.hp-spec-teaser:hover .hp-guide-leaf,.hp-spec-teaser:focus-visible .hp-guide-leaf { transform:translate(10px,-2px) rotate(5deg); }
.hp-animate .hp-guide-object:after { animation:hp-cover-reflection 12s ease-in-out infinite; }
@keyframes hp-cover-reflection { 0%,30%,100% { opacity:.15; } 50%,65% { opacity:.7; } }

/* Odometer pauses give each amount time to read, instead of constantly spinning digits. */
.hp-digit-roll { animation-name:hp-digit-readable; animation-duration:16s; animation-timing-function:cubic-bezier(.22,1,.36,1); }
.hp-digit-fast { animation-duration:9s; }
@keyframes hp-digit-readable { 0%,20% { transform:translateY(0); } 26%,46% { transform:translateY(-3em); } 52%,72% { transform:translateY(-6em); } 78%,94% { transform:translateY(-8em); } 100% { transform:translateY(-10em); } }
.hp-fee-chart:after { content:""; position:absolute; left:0; top:12px; bottom:8px; width:28%; background:linear-gradient(90deg,transparent,#d4e1f509,transparent); animation:hp-chart-scan 10s linear infinite; animation-play-state:paused; pointer-events:none; }
.hp-animate .hp-fee-chart:after { animation-play-state:running; }
@keyframes hp-chart-scan { from { transform:translateX(-100%); } to { transform:translateX(450%); } }
.hp-bottom-line { isolation:isolate; }
.hp-bottom-line:after { content:"PIMP"; position:absolute; right:25%; top:50%; transform:translateY(-50%); color:#ffffff05; font-size:95px; line-height:1; letter-spacing:-.07em; font-weight:650; z-index:-1; pointer-events:none; }
.hp-find-profile { position:relative; overflow:hidden; }
.hp-find-profile:after { content:""; position:absolute; left:0; inset-block:0; width:3px; background:linear-gradient(transparent,#c2cedf,transparent); opacity:.4; transition:opacity .5s; }
.hp-find-profile:hover:after { opacity:1; }
@media(max-width:1100px) and (min-width:768px) { .hp-guide-leaf { width:76%; left:14%; } }
@media(max-width:767px) { .hp-guide-leaf { width:240px; left:calc(50% - 112px); } }
@media(max-width:540px) { .hp-guide-leaf { width:210px; left:calc(50% - 98px); } .hp-bottom-line:after { right:0; font-size:88px; } }
@media(prefers-reduced-motion:reduce) {
 .hp-guide-object,.hp-spec-teaser:hover .hp-guide-object,.hp-spec-teaser:focus-visible .hp-guide-object { transform:rotate(-7deg); }
 .hp-guide-leaf,.hp-spec-teaser:hover .hp-guide-leaf { transform:none; }
}
