/* Textmerce / Prism — identity, closed CSS-3D volume and campaign presentation. */
.tm-prism{
  --pz-ink:#151c32; --pz-muted:#586477; --pz-line:#dde2ee;
  --pz-cobalt:#3949da; --pz-cobalt-deep:#2837ba; --pz-cobalt-dark:#212f96;
  --pz-cream:#fff9ef; --pz-coral:#ff895f; --pz-coral-light:#f5c9ab; --pz-lime:#dbf85a;
  --pz-paper:#faf8f2; --pz-ease:cubic-bezier(.22,.68,0,1.02);
  color-scheme:light;
}
.tm-prism body{background:var(--pz-paper);color:var(--pz-ink)}
html[data-color-mode=dark].tm-prism{
  --pz-ink:#f4f7fc; --pz-muted:#abb9cd; --pz-line:#2b3c54;
  --pz-cobalt:#5c78ff; --pz-cobalt-deep:#3a52d6; --pz-cobalt-dark:#1a2456;
  --pz-cream:#fff9ef; --pz-coral:#ff9d76; --pz-coral-light:#ffd2b8; --pz-lime:#e4fb7c;
  --pz-paper:#000000;
}
html[data-color-mode=dark].tm-prism .hero{background:radial-gradient(620px 360px at 84% 6%,#3949da22,transparent 62%),radial-gradient(520px 320px at 6% 100%,#dbf85a14,transparent 60%),#000}
html[data-color-mode=dark].tm-prism .pz-motion,html[data-color-mode=dark].tm-prism .pz-orbit{background:#0e1727e0;border-color:#2b3c54;color:#cfe0ff}
html[data-color-mode=dark].tm-prism .pz-motion:hover,html[data-color-mode=dark].tm-prism .pz-orbit:hover{background:#152238}
html[data-color-mode=dark].tm-prism .pz-card{background:#0e1727f2;border-color:#2b3c54;box-shadow:0 22px 40px -22px #00000088}
html[data-color-mode=dark].tm-prism .pz-bubblemsg{background:#22304a}
html[data-color-mode=dark].tm-prism .pz-card span{color:#8ea0bf}
html[data-color-mode=dark].tm-prism .pz-shadow{background:radial-gradient(ellipse,#00000090,transparent 72%)}
html[data-color-mode=dark].tm-prism .pz-topline{color:#9fb0cc}
.tm-prism :where(.tm-header,.portal-header){background:#faf8f2f5;border-bottom:1px solid var(--pz-line);backdrop-filter:blur(14px)}
.tm-prism :where(.brand,.tm-wordmark){color:var(--pz-ink)}
.tm-prism .preview-banner{background:#eef0fb;border:0;margin:0;max-width:none;padding:10px 22px;color:#4a5170;font-size:12px}

/* Hero: copy and stage. Process spans both columns. */
.tm-prism .hero{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);column-gap:40px;align-items:center;
  padding-inline:max(24px,calc((100vw - 1240px)/2));padding-top:60px;padding-bottom:64px;
  overflow:clip;perspective:1600px;background:
    radial-gradient(620px 360px at 84% 6%,#3949da14,transparent 62%),
    radial-gradient(520px 320px at 6% 100%,#dbf85a1c,transparent 60%),var(--pz-paper);
}
.tm-prism .hero-copy{grid-column:1;grid-row:1;max-width:none;text-align:start;z-index:2}
.tm-prism .hero .eyebrow{display:inline-flex;align-items:center;gap:9px;letter-spacing:.14em;font-size:11px;font-weight:750;color:#2937ae}
.tm-prism .hero .eyebrow:before{content:'';width:8px;height:8px;border-radius:2px;background:var(--pz-cobalt)}
.tm-prism .hero h1{text-align:start;font-size:clamp(42px,4.6vw,66px);letter-spacing:-.045em;line-height:1.08;max-width:640px;margin:18px 0 20px;font-weight:800;color:var(--pz-ink)}
.tm-prism .hero .lead{text-align:start;margin-inline:0;color:var(--pz-muted);font-size:19px;line-height:1.65;max-width:560px}
.tm-prism .hero .actions{justify-content:flex-start;margin-top:26px;gap:12px;position:relative;z-index:3}
.tm-prism .hero .primary{background:var(--pz-cobalt);border-color:var(--pz-cobalt-deep);color:#fff;box-shadow:4px 4px 0 #202961;border-radius:12px}
.tm-prism .hero .primary:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 #202961}
.tm-prism .hero .secondary{border-color:var(--pz-cobalt-deep);color:var(--pz-cobalt-deep);background:transparent;border-radius:12px}
.tm-prism .hero .primary,.tm-prism .hero .secondary{min-height:50px;padding-inline:24px;transition:transform .18s var(--pz-ease),box-shadow .18s var(--pz-ease)}

.pz-scene{position:relative;grid-column:2;grid-row:1;width:100%;height:450px;margin:0;isolation:isolate;contain:layout paint;direction:ltr}
.pz-topline{position:absolute;inset-block-start:0;inset-inline-start:18px;z-index:5;display:flex;gap:10px;align-items:center;color:#4a5578;font-size:11px;letter-spacing:.12em;font-weight:700}
.pz-topline:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--pz-coral)}
.pz-motion{position:absolute;inset-block-start:0;inset-inline-end:0;z-index:6;min-height:42px;border:1px solid #c7cee4;background:#ffffffcc;color:#2837ba;padding:9px 15px;border-radius:980px;font:inherit;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;max-width:52%;backdrop-filter:blur(6px)}
.pz-motion:before{content:'Ⅱ';font-size:13px;line-height:1}.pz-motion[aria-pressed=true]:before{content:'▷'}
.pz-motion:hover{background:#fff}.pz-motion:focus-visible{outline:2px solid var(--pz-cobalt);outline-offset:3px}.pz-motion:disabled{opacity:1;cursor:default}
.pz-stage{position:absolute;inset:44px 0 78px;perspective:1300px}
.pz-group{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--pz-rx,-6deg)) rotateY(var(--pz-ry,16deg));will-change:transform}
.pz-ring{position:absolute;left:14%;top:16%;width:72%;height:70%;border-radius:50%;border:1px solid #3949da2c;border-top-color:#3949da70;transform:rotateX(72deg) rotateZ(-18deg);box-shadow:0 0 0 1px #ffffff00}
.pz-ring.alt{left:22%;top:6%;width:56%;height:88%;border-color:#dbf85a30;border-left-color:#b6cf3f80;transform:rotateY(66deg) rotateZ(22deg)}
.pz-scene[data-motion=running] .pz-ring{animation:pz-orbit 22s linear infinite}
.pz-scene[data-motion=running] .pz-ring.alt{animation:pz-orbit-alt 27s linear infinite}
@keyframes pz-orbit{to{transform:rotateX(72deg) rotateZ(342deg)}}
@keyframes pz-orbit-alt{to{transform:rotateY(66deg) rotateZ(382deg)}}
.pz-shadow{position:absolute;left:50%;bottom:16%;width:230px;height:46px;background:radial-gradient(ellipse,#151c3230,transparent 72%);transform:translate(-50%,0) translateZ(-40px) rotateX(90deg);filter:blur(1px)}

/* Closed 32px extrusion. All edge strips share the front/back perimeter. */
.pz-bubble{position:absolute;left:50%;top:50%;width:220px;height:210px;margin:-105px 0 0 -110px;transform-style:preserve-3d}
.pz-bubble .face{position:absolute;inset:0;backface-visibility:hidden}
.pz-bubble .back{background:var(--pz-cobalt-dark);transform:translateZ(-16px);backface-visibility:visible}
.pz-bubble .front{background:linear-gradient(145deg,#7388ff 0%,#4559df 38%,#263cbd 100%);transform:translateZ(16px);display:grid;place-items:center}
.pz-shell{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.pz-edge{position:absolute;left:0;top:0;height:32px;transform-origin:0 0;backface-visibility:visible}
.pz-mark-t{position:relative;width:64%;height:47%;margin-top:-20px}
.pz-mark-t:before{content:'';position:absolute;left:0;top:0;width:100%;height:26%;background:var(--pz-cream);border-radius:5px}
.pz-mark-t:after{content:'';position:absolute;left:37%;top:0;width:26%;height:100%;background:var(--pz-cream);border-radius:5px}
.pz-dot{position:absolute;left:63%;top:68%;width:46px;height:46px;transform:translateZ(58px)}
.pz-dot i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 33% 28%,#fff 0%,var(--pz-coral-light) 22%,var(--pz-coral) 62%,#e8724a 100%);box-shadow:0 16px 26px -10px #ff895f66,inset 0 -4px 8px #b8502866}

.pz-card{position:absolute;width:132px;padding:12px 13px 13px;border-radius:16px 16px 16px 4px;background:#fffffff2;border:1px solid #dfe4f2;box-shadow:0 22px 40px -22px #151c3255;backdrop-filter:blur(3px)}
.pz-card.a{left:2%;top:10%;transform:translateZ(70px) rotateY(10deg) rotateZ(-6deg)}
.pz-card.b{right:0%;bottom:6%;transform:translateZ(46px) rotateY(-12deg) rotateZ(5deg)}
.pz-scene[data-motion=running] .pz-card.a{animation:pz-float-a 7s ease-in-out infinite}
.pz-scene[data-motion=running] .pz-card.b{animation:pz-float-b 8.5s ease-in-out infinite}
@keyframes pz-float-a{0%,100%{transform:translateZ(70px) translateY(0) rotateY(10deg) rotateZ(-6deg)}50%{transform:translateZ(70px) translateY(-9px) rotateY(14deg) rotateZ(-4deg)}}
@keyframes pz-float-b{0%,100%{transform:translateZ(46px) translateY(0) rotateY(-12deg) rotateZ(5deg)}50%{transform:translateZ(46px) translateY(8px) rotateY(-16deg) rotateZ(7deg)}}
.pz-bubblemsg{height:8px;border-radius:5px;background:#e7eafc;margin-bottom:6px;width:100%}
.pz-bubblemsg:nth-child(2){width:72%}.pz-bubblemsg.you{background:var(--pz-lime);width:60%}
.pz-card span{display:block;margin-top:7px;font-size:9.5px;letter-spacing:.08em;color:#69719a;text-transform:uppercase}
.pz-spark{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:1px;background:var(--pz-lime);opacity:.5;transform:translateZ(var(--z)) rotate(45deg);box-shadow:0 0 8px #dbf85a55}
.pz-scene[data-motion=running] .pz-spark{animation:pz-twinkle var(--speed) ease-in-out infinite alternate;animation-delay:var(--delay)}
@keyframes pz-twinkle{to{opacity:.95;transform:translateZ(var(--z)) rotate(45deg) scale(1.3)}}
.pz-caption{position:absolute;inset-inline:2px;bottom:6px;z-index:4;text-align:start;pointer-events:none}
.pz-caption strong{display:block;font-size:19px;line-height:1.4;font-weight:700;letter-spacing:-.02em;color:var(--pz-ink)}
.pz-caption small{display:block;font-size:11px;color:var(--pz-muted);line-height:1.6;margin-top:3px}
.pz-orbit-controls{position:absolute;left:18px;bottom:88px;z-index:5;display:flex;gap:8px;direction:ltr}
.pz-orbit{width:44px;height:44px;border:1px solid #cbd3e6;border-radius:980px;background:#ffffffe0;color:#2837ba;font-size:16px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s}
.pz-orbit:hover{background:#eef0ff;transform:scale(1.06)}.pz-orbit:focus-visible{outline:2px solid var(--pz-cobalt);outline-offset:3px}
.pz-tilt{transform-style:preserve-3d;transition:transform .4s var(--pz-ease),border-color .25s;position:relative;--pz-lx:50%;--pz-ly:50%}
.tm-prism[data-motion=running] .pz-tilt[data-pz-active=true]{transform:perspective(1000px) rotateX(var(--pz-tx,0deg)) rotateY(var(--pz-ty,0deg)) translateY(-4px);border-color:#9fb1e0}
.pz-tilt:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--pz-lx) var(--pz-ly),#3949da22,transparent 60%);transition:opacity .3s}
.pz-tilt[data-pz-active=true]:after{opacity:1}
.tm-prism .process-panel{grid-column:1/-1;grid-row:2;width:100%;max-width:none;justify-self:stretch;border-color:var(--pz-line);padding-top:46px;margin-top:60px;gap:28px}
.tm-prism .step-number{background:linear-gradient(150deg,#e7ebfd,#dbe2fb);border:0;color:#2837ba;box-shadow:0 4px 0 #b9c4ea;border-radius:12px}
.tm-prism .process-panel h2{font-size:32px;color:var(--pz-ink)}.tm-prism .process-step p{color:var(--pz-muted)}
.tm-prism .directory{background:#fff;border-top:1px solid #ecefF6}
.tm-prism .directory h2{font-size:clamp(32px,4vw,46px);letter-spacing:-.035em;color:var(--pz-ink)}
.tm-prism .directory>.lead{color:var(--pz-muted);font-size:19px}
.tm-prism .search-form{padding:24px 0;border-block:1px solid #e3e7f1}
.tm-prism .field :where(input,select){background:#f7f8fc;border-color:#d7dcec;box-shadow:none;border-radius:10px}
.tm-prism .field :where(input,select):focus{background:#fff;border-color:#3949da88}
.tm-prism .creator-card{border-color:#dfe4f0;background:#fff;border-radius:18px}
.tm-prism .creator-portrait{background:linear-gradient(135deg,#eef1fc,#fdeee6)}
.tm-prism .creator-card .primary{color:#2837ba;border-color:#2837ba;background:transparent}
.tm-prism .creator-card .badge,.tm-prism .chip{background:#edf0ff;color:#2837ba;border-radius:7px}
.tm-prism .empty{background:linear-gradient(120deg,#f6f8fd,#fdf3ee);border-color:#e6e9f2;border-radius:16px;padding-block:56px}
.tm-prism .tm-footer{background:#f3f4fa;border-color:var(--pz-line)}
.tm-prism :where(.workspace-section,.admin-entry,.identity,.login-panel){border-color:var(--pz-line);border-radius:16px}
.tm-prism .admin-entry{background:linear-gradient(115deg,#eef1fd,#fdeee6)}
.tm-prism .sidebar{background:#f4f6fb;border-color:var(--pz-line)}
.pz-crosslink{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:56px auto 0;max-width:1180px;padding:22px 26px;border:1px solid var(--pz-line);border-radius:20px 20px 20px 6px;background:linear-gradient(120deg,#f3f4ff,#fdf1ea)}
.pz-crosslink p{margin:0;color:var(--pz-ink);font-weight:700;font-size:15px}
.pz-crosslink a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:980px;background:var(--pz-cobalt);color:#fff;font-size:13px;font-weight:700;text-decoration:none}
html.tm-prism[dir=rtl] .hero h1,html.tm-prism[dir=rtl] .pz-caption strong,html.tm-prism[dir=rtl] .pz-topline{letter-spacing:normal}
html.tm-prism[dir=rtl] .hero h1{line-height:1.35}
html.tm-prism[dir=rtl] .hero{direction:rtl}
html.tm-prism[dir=rtl] .hero-copy{text-align:start}
@media(max-width:980px){
  .tm-prism .hero{grid-template-columns:1fr;padding-top:44px;text-align:center}
  .tm-prism .hero-copy{grid-row:1;text-align:center}
  .tm-prism .hero h1,.tm-prism .hero .lead{margin-inline:auto;text-align:center}
  .tm-prism .hero .actions{justify-content:center}
  .pz-scene{grid-column:1;grid-row:2;max-width:640px;height:380px;margin:26px auto 0}
  .tm-prism .process-panel{grid-row:3}
}
@media(max-width:620px){
  .tm-prism .hero{padding:34px 18px 46px}
  .tm-prism .hero h1{font-size:38px;line-height:1.18;margin-block:14px}
  .tm-prism .hero .lead{font-size:17px}
  .pz-scene{height:295px;margin-top:22px}
  .pz-bubble{transform:scale(.72)}
  .pz-card{width:104px;padding:10px 10px 11px}
  .pz-caption strong{font-size:17px}
  .pz-topline{max-width:38%;overflow:hidden;white-space:nowrap}
  .pz-topline span[data-pz]{display:none}
  .pz-motion{max-width:60%;font-size:11px;padding:8px 12px}
  .tm-prism .process-panel{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;padding-top:28px;gap:24px 16px}
  .tm-prism .process-step h3{font-size:15px}
  .tm-prism .process-step p{font-size:13px}
  .tm-prism .process-panel h2{font-size:26px}
  .pz-crosslink{flex-direction:column;align-items:flex-start;margin-top:40px}
}
@media(prefers-reduced-motion:reduce){
  .tm-prism *,.tm-prism *:before,.tm-prism *:after{animation:none!important;transition:none!important}
  .pz-group{transform:rotateX(-6deg) rotateY(16deg)!important}
}
@media(forced-colors:active){
  .pz-scene{background:Canvas;color:CanvasText;border:1px solid CanvasText;border-radius:16px}
  .pz-stage,.pz-ring,.pz-shadow,.pz-spark{display:none}
  .pz-caption strong,.pz-caption small,.pz-topline{color:CanvasText}
  .pz-motion{background:ButtonFace;color:ButtonText;border-color:ButtonText}
}
/* Prism v2: campaign vocabulary, complete night surfaces and progressive filters. */
.tm-prism{--pz-action:#3949da;--pz-link:#2837ba;--pz-cta:#f0f3fb;--pz-input:#f7f8fc}
html[data-color-mode=dark].tm-prism{--pz-action:#1764ed;--pz-link:#92bfff;--pz-cta:#0b1425;--pz-input:#0e1727;color-scheme:dark}
.tm-prism .hero .primary,.tm-prism .pz-crosslink a{background:var(--pz-action);border-color:var(--pz-action);color:#fff;box-shadow:none;border-radius:980px}
.tm-prism .hero .secondary{color:var(--pz-link);border-color:var(--pz-link);border-radius:980px}
html[data-color-mode=dark].tm-prism .hero .eyebrow{color:#a1b7ff}
html[data-color-mode=dark].tm-prism .hero .primary:hover{background:#2470ff;box-shadow:none}
html[data-color-mode=dark].tm-prism :where(.pz-crosslink,.admin-entry){background:var(--pz-cta);border-color:var(--pz-line)}
html[data-color-mode=dark].tm-prism .pz-crosslink p{color:var(--pz-ink)}
html[data-color-mode=dark].tm-prism .empty{background:#090e17;border-color:var(--pz-line)}
html[data-color-mode=dark].tm-prism .empty :where(h2,p){color:var(--pz-ink)}
html[data-color-mode=dark].tm-prism .pz-card span{color:#cedaf0}
html[data-color-mode=dark].tm-prism .field :where(input,select){background:var(--pz-input);color:var(--pz-ink);border-color:#627a9c}
html[data-color-mode=dark].tm-prism .field :where(input,select):focus{background:#152238}
html[data-color-mode=dark].tm-prism .creator-portrait{background:#14213a}
html[data-color-mode=dark].tm-prism .creator-card .primary{color:var(--pz-link);border-color:var(--pz-link);background:transparent}
html[data-color-mode=dark].tm-prism .creator-card .badge,html[data-color-mode=dark].tm-prism .chip{background:#1c2b43;color:#dbe8ff}
html[data-color-mode=dark].tm-prism .sidebar{background:#090e17}
.pz-caption{direction:inherit;text-align:center;bottom:0}
html[dir=rtl] .pz-caption,html[dir=rtl] .pz-card span{direction:rtl;letter-spacing:normal}
.pz-card{width:124px;padding:10px;border-radius:12px}
.pz-card span{font-size:11px;letter-spacing:0;line-height:1.5;color:#48597b}
.pz-ad-art{height:70px;border-radius:7px;background:linear-gradient(150deg,#3e58d6,#1d2b77);position:relative;overflow:hidden}
.pz-ad-art:before{content:'';position:absolute;width:72px;height:72px;border-radius:50%;top:20px;left:46px;border:9px solid #a2bcff}
.pz-ad-art:after{content:'';position:absolute;left:13px;top:17px;width:25px;height:25px;border-radius:50%;background:#ffb195}
.pz-video-art{height:84px;border-radius:7px;background:linear-gradient(155deg,#a9d4ef,#4559c4);display:grid;place-items:center}
.pz-video-art i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fffffff0}
.pz-video-art i:after{content:'';border-block:6px solid transparent;border-inline-start:9px solid #293ab3;margin-left:2px}
.pz-scene[data-motion=paused] :is(.pz-card,.pz-ring,.pz-spark){animation-play-state:paused}
.pz-orbit:disabled{opacity:.45;cursor:default;transform:none}
.filters-advanced{grid-column:1/-1;border-block-start:1px solid var(--pz-line);padding-block-start:12px}
.filters-advanced summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;color:var(--pz-link);font-size:15px;list-style:none}
.filters-advanced summary::-webkit-details-marker{display:none}
.filters-advanced summary:before{content:'+';font-size:22px;line-height:1}
.filters-advanced[open] summary:before{content:'−'}
.filters-advanced summary:focus-visible{outline:2px solid var(--pz-link);outline-offset:2px;border-radius:8px}
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-block:12px}
.tm-prism .search-actions{grid-column:1/-1;justify-content:flex-start}
.tm-prism .field :where(input,select){font-size:16px}
.pz-tilt:focus-within{transform:none!important}
@media(max-width:980px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
 .filter-grid{grid-template-columns:1fr}
 .tm-prism .hero{padding-top:24px;padding-bottom:36px}
 .tm-prism .hero h1{font-size:36px}
 .pz-stage{inset:38px 0 52px}
 .pz-caption strong{font-size:16px}.pz-caption small{font-size:11px}
 .pz-card{width:90px;padding:8px}.pz-card.a{left:0;top:1%}.pz-card.b{right:0;bottom:0}
 .pz-ad-art{height:46px}.pz-video-art{height:54px}.pz-card span{font-size:10px}
 .pz-orbit-controls{left:4px;bottom:51px;gap:4px}
 .pz-crosslink{margin:28px 18px 0;padding:22px 20px}
 .tm-prism .search-form{margin-block:24px;gap:14px}
}
@media(forced-colors:active){.pz-orbit-controls{display:none}.pz-crosslink{background:Canvas;border-color:CanvasText}.pz-crosslink p{color:CanvasText}.pz-crosslink a{background:ButtonFace;color:ButtonText}}
