/* ══ Ezzo Hub Partners ═════════════════════════════════════════════════
   The program page and each partner's dashboard, on the site's light
   Frosty look (landing.css, .lx--light). Full width, solid white cards,
   ink type, one violet accent, and the partner kit's real creatives as the
   imagery. Nothing on this page scrolls sideways: tables turn into stacked
   cards when they don't fit (see partners.js). Everything is under .pt. */

.pt {
  --pt-card: #ffffff; --pt-edge: rgba(90, 80, 150, .13); --pt-soft: #f6f3ff;
  --pt-shadow: 0 24px 48px -30px rgba(90, 80, 170, .45), 0 2px 6px rgba(90, 80, 170, .06);
  --lx-muted: #646a8c;          /* 4.9:1 on white, readable at small sizes */
  --lx-ink-2: #4d5276;
  --pt-gutter: clamp(16px, 3.6vw, 64px);
}
.pt [hidden] { display: none !important; }
.pt .lx-wrap { width: calc(100% - 2 * var(--pt-gutter)); max-width: none; }
.pt .lx-nav { position: sticky; top: 0; z-index: 40; }
.pt h1, .pt h2, .pt h3 { text-wrap: balance; }
.pt p, .pt li { text-wrap: pretty; }
.pt main { padding-bottom: 10px; }
.pt-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pt :focus-visible { outline: 3px solid #7651f0; outline-offset: 3px; }
.pt-hero svg, .pt-band-stats svg, .pt-points svg, .pt-perk svg, .pt-toast svg, .pt-step-art svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ── Hero ── */
.pt-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 5vw, 96px); align-items: center; padding: clamp(40px, 5vw, 88px) 0 clamp(24px, 3vw, 48px); }
.pt-h1 { font-size: clamp(32px, 3.1vw, 62px); line-height: 1.04; font-weight: 800; letter-spacing: -.04em; }
.pt-h1 > span { display: block; }
.pt-lead { margin-top: 24px !important; font-size: clamp(16.5px, 1.25vw, 20px); line-height: 1.6; color: var(--lx-ink-2); max-width: 640px; }
.pt-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.pt-hero-facts { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 30px 0 0; }
.pt-hero-facts li { display: inline-flex; align-items: center; gap: 9px; padding: 9px 16px 9px 10px; border-radius: 999px; background: rgba(255, 255, 255, .8); border: 1px solid var(--pt-edge); font-size: 14.5px; color: var(--lx-ink-2); white-space: nowrap; }
.pt-hero-facts svg { width: 26px; height: 26px; padding: 4px; border-radius: 50%; background: #efeaff; color: #7651f0; box-sizing: border-box; }
.pt-hero-facts b { color: var(--lx-ink); font-family: var(--lx-display); }

.pt-hero-art { position: relative; }
.pt-stage { position: relative; height: clamp(420px, 40vw, 600px); max-width: 620px; margin-inline: auto; }
.pt-creative { position: absolute; top: 0; width: 48%; height: auto; border-radius: 26px; box-shadow: 0 40px 80px -36px rgba(40, 20, 100, .55), 0 0 0 1px rgba(255, 255, 255, .6); }
.pt-creative--front { right: 8%; transform: rotate(4deg); z-index: 2; }
.pt-creative--back { right: 40%; top: 6%; transform: rotate(-7deg); z-index: 1; }
.pt-mock { position: absolute; left: 0; bottom: 4%; z-index: 3; width: min(310px, 56%); padding: 18px 18px 12px; border-radius: 22px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: 0 40px 70px -34px rgba(60, 40, 140, .55); box-sizing: border-box; }
.pt-mock-top { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: var(--lx-muted); }
.pt-mock-dot { width: 8px; height: 8px; border-radius: 50%; background: #23a873; box-shadow: 0 0 0 4px rgba(35, 168, 115, .15); }
.pt-mock-label { margin-top: 12px; font-size: 12.5px; color: var(--lx-ink-2); }
.pt-mock-big { font-family: var(--lx-display); font-weight: 800; font-size: 34px; letter-spacing: -.03em; }
.pt-mock-big.is-bump { animation: ptBump .6s var(--lx-ease); }
@keyframes ptBump { 40% { transform: scale(1.06); color: #23a873; } }
.pt-mock-chart { width: 100%; height: 64px; display: block; margin: 6px 0 8px; }
.pt-mock-line { stroke-dasharray: 520; stroke-dashoffset: 520; animation: ptDraw 2.2s .3s var(--lx-ease) forwards; }
@keyframes ptDraw { to { stroke-dashoffset: 0; } }
.pt-mock-row { display: flex; justify-content: space-between; padding: 8px 0; border-top: 1px solid var(--pt-edge); font-size: 13.5px; color: var(--lx-ink-2); }
.pt-mock-row b { color: var(--lx-ink); }
.pt-toast { position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; border-radius: 16px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); font-size: 13px; white-space: nowrap; }
.pt-toast > span { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: #e7f8f0; color: #1b8a5c; }
.pt-toast--b > span { background: #efeaff; color: #7651f0; }
.pt-toast svg { width: 20px; height: 20px; }
.pt-toast b { display: block; font-size: 13.5px; }
.pt-toast small { color: var(--lx-muted); }
.pt-toast--a { right: 0; top: 42%; animation: ptFloat 6s ease-in-out infinite; }
.pt-toast--b { left: 4%; top: 2%; animation: ptFloat 7s 1s ease-in-out infinite; }
@keyframes ptFloat { 50% { transform: translateY(-8px); } }
.pt-mock-note { margin-top: 14px !important; text-align: center; font-size: 12.5px; color: var(--lx-muted); }

/* ── Stats band ── */
.pt-band-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(8px, 2vw, 24px); border-radius: 24px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); overflow: hidden; }
.pt-band-stats > div { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 22px 26px; border-right: 1px solid var(--pt-edge); }
.pt-band-stats > div:last-child { border-right: 0; }
.pt-band-stats svg { grid-row: span 2; width: 46px; height: 46px; padding: 11px; box-sizing: border-box; border-radius: 14px; background: linear-gradient(160deg, #efeaff, #f8e9f3); color: #7651f0; }
.pt-band-stats b { font-family: var(--lx-display); font-size: clamp(22px, 1.9vw, 28px); letter-spacing: -.03em; white-space: nowrap; }
.pt-band-stats > div > span { font-size: 14px; color: var(--lx-ink-2); }

/* ── Sections ── */
.pt-sec { padding-top: clamp(72px, 7vw, 120px); }
.pt-sec-head { max-width: 900px; margin: 0 auto clamp(32px, 3.2vw, 52px); text-align: center; }
.pt-sec-sub { margin-top: 14px !important; font-size: 17px; color: var(--lx-ink-2); }
.pt-h2 { font-size: clamp(30px, 3.3vw, 50px); line-height: 1.08; font-weight: 800; letter-spacing: -.035em; }
.pt-h2 > span { display: block; }
.pt-text { margin-top: 18px !important; font-size: 17px; line-height: 1.65; color: var(--lx-ink-2); max-width: 620px; }

.pt-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 96px); align-items: center; }
.pt-points { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 16px; }
.pt-points li { display: grid; grid-template-columns: 30px 1fr; gap: 14px; align-items: start; font-size: 16px; line-height: 1.55; color: var(--lx-ink-2); }
.pt-points b { color: var(--lx-ink); }
.pt-points svg { width: 30px; height: 30px; padding: 7px; box-sizing: border-box; border-radius: 50%; background: #23a873; color: #fff; stroke-width: 2.8; }
.pt-points--tight { gap: 10px; }
.pt-points--tight li { font-weight: 600; color: var(--lx-ink); align-items: center; }
.pt-split-art { position: relative; min-height: clamp(380px, 34vw, 540px); }
.pt-tile { position: absolute; height: auto; border-radius: 22px; box-shadow: 0 36px 70px -34px rgba(40, 20, 100, .5), 0 0 0 1px rgba(255, 255, 255, .7); }
.pt-tile--a { width: 58%; left: 0; top: 0; transform: rotate(-3deg); }
.pt-tile--b { width: 40%; right: 0; top: 26%; transform: rotate(4deg); }

.pt-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pt-steps li { position: relative; display: flex; flex-direction: column; padding: 22px 24px 26px; border-radius: 24px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); }
.pt-step-art { height: 160px; margin-bottom: 18px; border-radius: 18px; background: linear-gradient(160deg, #f1edff, #fbeef6); display: grid; place-items: center; overflow: hidden; position: relative; }
.pt-step-art--form { display: flex; flex-direction: column; justify-content: center; align-items: stretch; gap: 9px; padding: 0 22%; }
.pt-step-art--form i { display: block; height: 14px; border-radius: 7px; background: #fff; box-shadow: 0 2px 6px rgba(90, 80, 170, .12); }
.pt-step-art--form i.short { width: 60%; }
.pt-step-art--form em { align-self: flex-start; margin-top: 4px; padding: 6px 14px; border-radius: 99px; background: linear-gradient(135deg, #7651f0, #b06bd8); color: #fff; font: 700 12px var(--lx-body); font-style: normal; }
.pt-step-art--share img { position: absolute; height: auto; border-radius: 10px; box-shadow: 0 14px 28px -14px rgba(40, 20, 100, .5); }
.pt-step-art--share img:nth-child(1) { width: 34%; left: 9%; top: 22%; transform: rotate(-8deg); }
.pt-step-art--share img:nth-child(2) { width: 27%; left: 36.5%; top: 10%; z-index: 2; }
.pt-step-art--share img:nth-child(3) { width: 34%; right: 9%; top: 22%; transform: rotate(8deg); }
.pt-step-art--paid div { display: grid; gap: 2px; padding: 14px 22px; border-radius: 16px; background: #fff; box-shadow: 0 14px 30px -16px rgba(40, 20, 100, .45); text-align: left; min-width: 58%; }
.pt-step-art--paid span { font-size: 12px; color: var(--lx-muted); font-weight: 600; }
.pt-step-art--paid b { font: 800 28px var(--lx-display); letter-spacing: -.03em; }
.pt-step-art--paid small { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 700; color: #1b8a5c; }
.pt-step-art--paid svg { width: 16px; height: 16px; stroke-width: 2.6; }
.pt-step-num { position: absolute; top: 34px; left: 36px; width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; font: 800 14px var(--lx-display); color: #fff; background: var(--lx-grad); box-shadow: 0 8px 16px -8px rgba(118, 81, 240, .8); }
.pt-steps h3 { font-size: 20px; margin-bottom: 8px; }
.pt-steps p { color: var(--lx-ink-2); font-size: 15.5px; line-height: 1.6; }

.pt-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 72px); align-items: center; padding: clamp(28px, 4vw, 56px); border-radius: 32px; background: linear-gradient(135deg, #2a2160 0%, #4a2f9e 55%, #8a3f9e 100%); color: #fff; box-shadow: 0 40px 80px -40px rgba(60, 30, 140, .8); }
.pt-calc .pt-h2 { color: #fff; }
.pt-calc .pt-h2 > span:last-child { color: #d9ccff; }
.pt-calc-copy p { margin-top: 16px; color: rgba(255, 255, 255, .88); font-size: 16.5px; line-height: 1.6; }
.pt-calc-copy .pt-fine { font-size: 13.5px; color: rgba(255, 255, 255, .76); }
.pt-calc-card { padding: clamp(22px, 2.5vw, 34px); border-radius: 24px; background: #fff; color: var(--lx-ink); }
.pt-calc-card label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-weight: 600; font-size: 15.5px; }
.pt-calc-card label b { font: 800 26px var(--lx-display); color: #5b3fd6; }
.pt-calc-card input[type=range] { --fill: 10%; width: 100%; margin: 18px 0 24px; height: 10px; border-radius: 99px; -webkit-appearance: none; appearance: none; background: linear-gradient(90deg, #7651f0 var(--fill), #e9e5fb var(--fill)); outline-offset: 6px; }
.pt-calc-card input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 3px solid #7651f0; box-shadow: 0 6px 14px -4px rgba(118, 81, 240, .6); cursor: pointer; }
.pt-calc-card input[type=range]::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 3px solid #7651f0; cursor: pointer; }
.pt-calc-out { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pt-calc-out div { padding: 18px 20px; border-radius: 18px; background: var(--pt-soft); }
.pt-calc-out span { display: block; font-size: 13.5px; color: var(--lx-ink-2); }
.pt-calc-out b { font-family: var(--lx-display); font-size: clamp(28px, 2.6vw, 40px); letter-spacing: -.03em; white-space: nowrap; }

.pt-showcase { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 22px); align-items: center; }
.pt-showcase figure { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.pt-showcase img { width: 100%; height: auto; border-radius: 18px; box-shadow: 0 30px 60px -34px rgba(40, 20, 100, .55), 0 0 0 1px rgba(255, 255, 255, .7); transition: transform .4s var(--lx-ease); }
.pt-showcase figure:hover img { transform: translateY(-6px); }
.pt-showcase figcaption { font-size: 13.5px; font-weight: 600; color: var(--lx-muted); text-align: center; }

.pt-perks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pt-perk { padding: 28px; border-radius: 24px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); transition: transform .3s var(--lx-ease), box-shadow .3s; }
.pt-perk:hover { transform: translateY(-4px); box-shadow: 0 30px 56px -30px rgba(90, 80, 170, .55); }
.pt-perk i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--lx-grad); color: #fff; margin-bottom: 18px; box-shadow: 0 12px 22px -12px rgba(118, 81, 240, .8); }
.pt-perk i svg { width: 26px; height: 26px; }
.pt-perk h3 { font-size: 19px; margin-bottom: 8px; }
.pt-perk p { color: var(--lx-ink-2); font-size: 15.5px; line-height: 1.6; }

/* ── Apply ── */
.pt-apply { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 88px); align-items: start; }
.pt-apply-img { display: block; width: min(360px, 78%); height: auto; margin: 36px 0 0 12px; border-radius: 22px; transform: rotate(-3deg); box-shadow: 0 36px 70px -34px rgba(40, 20, 100, .5), 0 0 0 1px rgba(255, 255, 255, .7); }
.pt-form { display: grid; gap: 16px; padding: clamp(22px, 3vw, 38px); border-radius: 28px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); }
.pt-form h2 { font-size: 20px; }
.pt-form label { display: grid; gap: 7px; font-size: 14px; font-weight: 600; color: var(--lx-ink); }
.pt-opt { font-weight: 500; color: var(--lx-muted); font-size: 12.5px; margin-left: 4px; }
.pt-form input:not([type=checkbox]), .pt-form select, .pt-form textarea, .pt-builder input, .pt-builder select, #ptSigninForm input {
  width: 100%; box-sizing: border-box; font: 500 16px/1.4 var(--lx-body); color: var(--lx-ink); padding: 13px 15px; border-radius: 14px;
  border: 1.5px solid #d9d3f0; background-color: #fff; outline: none; transition: border-color .2s, box-shadow .2s; min-height: 50px;
}
.pt-form select, .pt-builder select {
  -webkit-appearance: none; appearance: none; padding-right: 42px; cursor: pointer; text-overflow: ellipsis;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234d5276' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 15px center;
}
.pt-form select option, .pt-builder select option { color: #1e2240; background: #fff; }
.pt-form ::placeholder, .pt-builder ::placeholder, #ptSigninForm ::placeholder { color: #7c81a3; opacity: 1; }
.pt-form textarea { resize: vertical; min-height: 96px; }
.pt-form input:focus, .pt-form select:focus, .pt-form textarea:focus, .pt-builder input:focus, .pt-builder select:focus, #ptSigninForm input:focus { border-color: #7651f0; box-shadow: 0 0 0 4px rgba(118, 81, 240, .16); }
.pt-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pt-agree { display: flex !important; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; color: var(--lx-ink-2) !important; line-height: 1.5; }
.pt-agree input { margin-top: 2px; width: 20px; height: 20px; accent-color: #7651f0; flex: 0 0 auto; }
.pt-form .lx-btn--primary { justify-self: start; }
.pt-form-msg { min-height: 1.2em; font-size: 14.5px; color: var(--lx-ink-2); }
.pt-form-msg.is-err { color: #b8244f; font-weight: 600; }
.pt-done, .pt-closed { text-align: center; padding: 30px 8px; }
.pt-done i { font-size: 44px; font-style: normal; }
.pt-done h3 { font-size: 26px; margin: 12px 0 8px; }
.pt-done p { color: var(--lx-ink-2); }

/* ── Terms ── */
.pt-terms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pt-term { padding: 26px; border-radius: 22px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); }
.pt-term strong { display: block; font-family: var(--lx-display); font-size: clamp(28px, 2.4vw, 36px); letter-spacing: -.03em; line-height: 1.1; margin-bottom: 10px; color: var(--lx-ink); white-space: nowrap; }
.pt-term p { color: var(--lx-ink-2); font-size: 15px; line-height: 1.55; }
.pt-terms-full { margin-top: 18px; border-radius: 22px; background: var(--pt-card); border: 1px solid var(--pt-edge); }
.pt-terms-full summary { cursor: pointer; padding: 20px 24px; font-weight: 700; font-family: var(--lx-display); }
.pt-terms-full > div { padding: 0 24px 22px; display: grid; gap: 12px; color: var(--lx-ink-2); font-size: 15.5px; line-height: 1.6; }
.pt-terms-full b { color: var(--lx-ink); }

.pt-band { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: 24px; padding: clamp(36px, 4.5vw, 64px) clamp(28px, 5vw, 80px); border-radius: 32px; background: var(--lx-grad); color: #fff; box-shadow: 0 40px 80px -40px rgba(118, 81, 240, .8); overflow: hidden; }
.pt-band h2 { color: #fff; font-size: clamp(30px, 3.4vw, 50px); }
.pt-band p { margin: 12px 0 26px; opacity: .95; font-size: 18px; }
.pt-band .lx-btn { background: #fff !important; color: #1e2240; border-color: #fff !important; }
.pt-band-art { position: relative; height: clamp(200px, 18vw, 280px); }
.pt-band-art img { position: absolute; height: 125%; width: auto; border-radius: 18px; box-shadow: 0 30px 60px -28px rgba(20, 10, 60, .7); }
.pt-band-art img:nth-child(1) { right: 34%; top: -6%; transform: rotate(-6deg); }
.pt-band-art img:nth-child(2) { right: 2%; top: 4%; transform: rotate(6deg); }

/* ── Sign-in dialog ── */
.pt-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; background: rgba(30, 34, 64, .42); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-family: 'Inter', system-ui, sans-serif; }
.pt-modal[hidden] { display: none; }
.pt-modal-card { position: relative; width: min(460px, 100%); padding: 32px; border-radius: 26px; background: #fff; color: #1e2240; box-shadow: 0 40px 80px -30px rgba(30, 34, 64, .5); box-sizing: border-box; }
.pt-modal-card h2 { font-family: 'Sora', sans-serif; font-size: 23px; margin: 0 0 8px; }
.pt-modal-card p { margin: 0 0 16px; color: #4d5276; font-size: 15px; line-height: 1.55; }
.pt-modal-x { position: absolute; right: 14px; top: 12px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: #f3f1fd; font-size: 20px; cursor: pointer; color: #1e2240; }
#ptSigninForm { display: grid; gap: 12px; margin-bottom: 8px; }
#ptSigninForm .lx-btn { font-family: 'Inter', sans-serif; }
#ptSigninMsg { margin: 6px 0 0; min-height: 1.2em; }

/* ══ Dashboard ══ */
.pt-loading { padding: 120px 0; text-align: center; color: var(--lx-ink-2); display: flex; flex-direction: column; align-items: center; gap: 16px; }
.pt-loading span { width: 34px; height: 34px; border-radius: 50%; border: 3px solid #e2ddf5; border-top-color: #7651f0; animation: ptSpin .8s linear infinite; }
@keyframes ptSpin { to { transform: rotate(360deg); } }
.pt-wait { max-width: 640px; margin: 0 auto; padding: 100px 0 40px; text-align: center; }
.pt-wait i { font-size: 44px; font-style: normal; }
.pt-wait h1 { font-size: clamp(26px, 3vw, 36px); margin: 12px 0; }
.pt-wait p { color: var(--lx-ink-2); }

.pt-app-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; margin: 28px 0 18px; padding: clamp(22px, 2.6vw, 34px); border-radius: 28px; background: linear-gradient(135deg, #2a2160 0%, #4a2f9e 55%, #8a3f9e 100%); color: #fff; box-shadow: 0 34px 70px -40px rgba(60, 30, 140, .85); position: relative; overflow: hidden; }
.pt-app-head::after { content: ''; position: absolute; right: -60px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .16), transparent 70%); pointer-events: none; }
.pt-app-hi { color: #ded3ff; font-weight: 600; font-size: 15px; }
.pt-app-head h1 { color: #fff; font-size: clamp(26px, 2.8vw, 40px); letter-spacing: -.03em; margin-top: 4px; }
.pt-app-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.pt-app-meta span { padding: 6px 12px; border-radius: 99px; background: rgba(255, 255, 255, .16); font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; }
.pt-app-code { position: relative; z-index: 1; display: grid; gap: 10px; padding: 16px 18px; border-radius: 20px; background: #fff; color: var(--lx-ink); min-width: 270px; }
.pt-app-code-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pt-app-code-row > span { font-size: 12.5px; color: var(--lx-muted); font-weight: 600; }
.pt-app-code b { font-family: var(--lx-display); font-size: 22px; letter-spacing: .05em; color: #5b3fd6; }
.pt-app-code-btns { display: flex; gap: 8px; }
.pt-app-code .lx-btn { flex: 1; min-height: 40px; padding: 0 14px; font-size: 13.5px; justify-content: center; }
.pt-banner { margin-bottom: 16px; padding: 13px 18px; border-radius: 16px; background: #fff4e5; border: 1px solid #f0c98a; color: #6b4004; font-size: 14.5px; }
.pt-banner--admin { background: #eef0ff; border-color: #c9bcfb; color: #2f2280; }
.pt-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; margin-bottom: 18px; border-radius: 20px; background: rgba(255, 255, 255, .85); border: 1px solid var(--pt-edge); }
.pt-tabs button { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; background: none; padding: 11px 16px; border-radius: 14px; font: 600 14.5px var(--lx-body); color: var(--lx-ink-2); cursor: pointer; transition: background .2s, color .2s; white-space: nowrap; }
.pt-tabs button:hover { color: var(--lx-ink); background: rgba(118, 81, 240, .06); }
.pt-tabs button.is-on { background: #fff; color: var(--lx-ink); box-shadow: 0 8px 20px -10px rgba(90, 80, 170, .5); }
.pt-tabs button span { font-size: 16px; }

.pt-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.pt-stat { position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 20px 22px; border-radius: 22px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); }
.pt-stat i { grid-row: span 3; width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; font-style: normal; font-size: 22px; background: color-mix(in srgb, var(--tone) 14%, #fff); }
.pt-stat span { font-size: 13.5px; font-weight: 600; color: var(--lx-ink-2); }
.pt-stat b { font-family: var(--lx-display); font-size: clamp(24px, 2vw, 30px); letter-spacing: -.03em; white-space: nowrap; line-height: 1.2; }
.pt-stat small { font-size: 12.5px; color: var(--lx-muted); line-height: 1.4; }

.pt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.pt-card { display: flex; flex-direction: column; padding: 24px; border-radius: 24px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); min-width: 0; }
.pt-card--wide { grid-column: span 2; }
.pt-card--full { grid-column: 1 / -1; }
.pt-card--flat { margin-bottom: 16px; }
.pt-card h2 { font-size: 18px; margin-bottom: 14px; }
.pt-card p { color: var(--lx-ink-2); font-size: 15px; line-height: 1.6; }
.pt-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.pt-card-head h2 { margin: 0; }
.pt-note { font-size: 13px !important; color: var(--lx-muted) !important; margin-top: auto !important; padding-top: 12px; }
.pt-legend { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--lx-ink-2); }
.pt-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; margin-left: 8px; }
.pt-legend i.b { background: #b9a8fb; } .pt-legend i.s { background: #23a873; border-radius: 50%; }
.pt-chart { width: 100%; height: auto; display: block; }
.pt-chart-bar { fill: #c9bcfb; transition: fill .2s; } .pt-chart-bar:hover { fill: #7651f0; }
.pt-chart-sale { fill: #23a873; stroke: #fff; stroke-width: 2; }
.pt-chart-axis { stroke: var(--pt-edge); }
.pt-chart-label { font: 600 11px var(--lx-body); fill: var(--lx-muted); }
.pt-funnel { display: grid; gap: 14px; }
.pt-funnel-row { display: flex; justify-content: space-between; font-size: 14.5px; margin-bottom: 6px; color: var(--lx-ink-2); }
.pt-funnel-row b { font-family: var(--lx-display); color: var(--lx-ink); }
.pt-funnel-track, .pt-progress-track { height: 10px; border-radius: 99px; background: #f0edfb; overflow: hidden; }
.pt-funnel-track i, .pt-progress-track i { display: block; height: 100%; border-radius: 99px; }
.pt-progress-track i { background: var(--lx-grad); }
.pt-rate { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.pt-rate b { font-family: var(--lx-display); font-size: 48px; letter-spacing: -.03em; color: #5b3fd6; line-height: 1; }
.pt-rate span { color: var(--lx-ink-2); font-size: 15px; }
.pt-progress { margin-top: 16px; }
.pt-progress-head { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; color: var(--lx-ink-2); margin-bottom: 7px; }
.pt-earned { display: grid; gap: 4px; }
.pt-earned div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--pt-edge); font-size: 15px; color: var(--lx-ink-2); }
.pt-earned div:last-child { border-bottom: 0; }
.pt-earned b { font-family: var(--lx-display); color: var(--lx-ink); }
.pt-terms-list { margin: 0; display: grid; gap: 0; }
.pt-terms-list div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--pt-edge); font-size: 14.5px; }
.pt-terms-list div:last-child { border-bottom: 0; }
.pt-terms-list dt { color: var(--lx-ink-2); flex: 0 0 auto; }
.pt-terms-list dd { margin: 0; text-align: right; font-weight: 600; color: var(--lx-ink); }

.pt-builder { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 16px 0 6px; }
.pt-builder label { display: grid; gap: 7px; font-size: 14px; font-weight: 600; }
.pt-linkbox { display: flex; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.pt-linkbox input { flex: 1 1 260px; min-width: 0; font: 600 15px var(--lx-body); padding: 13px 15px; border-radius: 14px; border: 1.5px solid #d9d3f0; background: var(--pt-soft); color: var(--lx-ink); min-height: 50px; box-sizing: border-box; }
.pt-share { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.pt-share a { padding: 8px 15px; border-radius: 99px; background: #f1ecff; color: #4a2fc0; text-decoration: none; font-size: 14px; font-weight: 600; }
.pt-share a:hover { background: #e5dcff; }
.pt-code { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; margin-bottom: 10px; border-radius: 18px; border: 2px dashed #c3b4fb; background: #faf8ff; }
.pt-code > div { display: flex; flex-direction: column; min-width: 0; }
.pt-code b { font-family: var(--lx-display); font-size: 24px; letter-spacing: .06em; color: #5b3fd6; overflow-wrap: anywhere; }
.pt-code small { font-size: 13px; color: var(--lx-muted); margin-top: 2px; }
.pt-caption { padding: 16px; border-radius: 16px; background: var(--pt-soft); font-size: 14.5px !important; line-height: 1.6; margin-bottom: 14px; overflow-wrap: anywhere; }

/* Tables: a table when it fits, stacked label/value cards when it doesn't
   (partners.js adds .is-stacked), so nothing ever scrolls sideways. */
.pt-table-wrap { width: 100%; }
.pt-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pt-table th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--lx-muted); padding: 10px 12px; border-bottom: 1px solid var(--pt-edge); white-space: nowrap; }
.pt-table td { padding: 12px; border-bottom: 1px solid var(--pt-edge); color: var(--lx-ink-2); vertical-align: top; overflow-wrap: anywhere; }
.pt-table td b { color: var(--lx-ink); }
.pt-table tr:last-child td { border-bottom: 0; }
.pt-table .num { text-align: right; white-space: nowrap; }
.pt-table .mono { font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size: 13px; }
.pt-table small { color: var(--lx-muted); }
.pt-table.is-stacked thead { display: none; }
.pt-table.is-stacked, .pt-table.is-stacked tbody, .pt-table.is-stacked tr, .pt-table.is-stacked td { display: block; width: 100%; box-sizing: border-box; }
.pt-table.is-stacked tr { padding: 10px 14px; margin-bottom: 10px; border-radius: 16px; background: var(--pt-soft); border: 1px solid var(--pt-edge); }
.pt-table.is-stacked td { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 4px 10px; padding: 7px 0; border-bottom: 1px dashed var(--pt-edge); text-align: right; }
.pt-table.is-stacked td:last-child { border-bottom: 0; }
.pt-table.is-stacked td::before { content: attr(data-label); flex: 0 0 auto; margin-right: auto; text-align: left; font: 700 12px var(--lx-body); text-transform: uppercase; letter-spacing: .04em; color: var(--lx-muted); }
.pt-table.is-stacked td.num { white-space: normal; }
.pt-pill { display: inline-block; padding: 3px 11px; border-radius: 99px; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.pt-pill--pending, .pt-pill--review { background: #fbe6f1; color: #8f1f59; }
.pt-pill--available, .pt-pill--approved { background: #ffeccc; color: #6f3f00; }
.pt-pill--paid { background: #dcf3e8; color: #0d5f3e; }
.pt-pill--reversed, .pt-pill--rejected { background: #ecebf3; color: #4d5276; }

.pt-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.pt-chips button { padding: 9px 16px; border-radius: 99px; border: 1.5px solid #d9d3f0; background: #fff; font: 600 14px var(--lx-body); color: var(--lx-ink-2); cursor: pointer; }
.pt-chips button.is-on { border-color: transparent; background: var(--lx-grad); color: #fff; }
.pt-sub { font-size: 19px; margin: 28px 0 14px; }
.pt-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; align-items: start; }
.pt-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.pt-asset { margin: 0; border-radius: 20px; overflow: hidden; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); display: flex; flex-direction: column; }
.pt-asset-img { display: flex; align-items: center; justify-content: center; height: 220px; background: linear-gradient(160deg, #f1edff, #fbeef6); padding: 14px; box-sizing: border-box; overflow: hidden; }
.pt-asset-img img { display: block; max-width: 100%; max-height: 192px; width: auto; height: auto; object-fit: contain; border-radius: 8px; box-shadow: 0 10px 24px -14px rgba(30, 34, 64, .45); }
.pt-asset video { width: 100%; aspect-ratio: 9 / 16; max-height: 380px; background: #1e2240; object-fit: cover; display: block; }
.pt-asset figcaption { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; font-size: 13.5px; }
.pt-asset figcaption > span:first-child { min-width: 0; }
.pt-asset figcaption b { display: block; color: var(--lx-ink); font-size: 14px; }
.pt-asset figcaption small { color: var(--lx-muted); }
.pt-asset figcaption a, .pt-dl a { color: #4a2fc0; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pt-dl { display: flex; gap: 12px; }
.pt-files { display: flex; flex-wrap: wrap; gap: 8px; }
.pt-files a { padding: 10px 15px; border-radius: 13px; background: var(--pt-card); border: 1px solid var(--pt-edge); color: var(--lx-ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.pt-files a:hover { border-color: #c3b4fb; }
.pt-rules { margin-top: 24px; }
.pt-rules ul { margin: 0; padding-left: 20px; color: var(--lx-ink-2); display: grid; gap: 8px; font-size: 15px; }

.pt-flash { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; z-index: 200; padding: 12px 20px; border-radius: 99px; background: #1e2240; color: #fff; font: 600 14.5px 'Inter', sans-serif; transition: opacity .25s, transform .25s; pointer-events: none; max-width: calc(100% - 32px); }
.pt-flash.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ── Smaller screens ── */
@media (max-width: 1180px) {
  .pt-showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pt-showcase figure:nth-child(n+4) { display: none; }
  .pt-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
  .pt-hero, .pt-calc, .pt-apply, .pt-split { grid-template-columns: 1fr; }
  .pt-hero-art { max-width: 560px; width: 100%; margin-inline: auto; }
  .pt-perks, .pt-steps { grid-template-columns: 1fr 1fr; }
  .pt-band-stats { grid-template-columns: 1fr 1fr; }
  .pt-band-stats > div:nth-child(2) { border-right: 0; }
  .pt-band-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--pt-edge); }
  .pt-grid { grid-template-columns: 1fr 1fr; }
  .pt-card--wide { grid-column: 1 / -1; }
  .pt-apply-img { display: none; }
  .pt-band { grid-template-columns: 1fr; text-align: center; }
  .pt-band-art { display: none; }
  .pt-split-art { max-width: 560px; width: 100%; margin-inline: auto; }
}
@media (max-width: 680px) {
  .pt-perks, .pt-steps, .pt-terms, .pt-grid, .pt-builder, .pt-form-row, .pt-stats { grid-template-columns: 1fr; }
  .pt-band-stats { grid-template-columns: 1fr; }
  .pt-band-stats > div { border-right: 0; border-bottom: 1px solid var(--pt-edge); }
  .pt-band-stats > div:last-child { border-bottom: 0; }
  .pt-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-showcase figure:nth-child(3) { display: none; }
  .pt-stage { height: 430px; }
  .pt-mock { width: 64%; }
  .pt-toast--b { left: 0; }
  .pt-split-art { min-height: 340px; }
  .pt .lx-nav-end .lx-btn:not(.lx-btn--primary)[data-public] { display: none; }
  .pt-app-head { grid-template-columns: 1fr; }
  .pt-app-code { min-width: 0; }
  .pt-tabs button { flex: 1 1 calc(50% - 6px); }
  .pt-hero-facts li { white-space: normal; }
  .pt-calc-out { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .pt-toast, .pt-mock-line, .pt-mock-big.is-bump { animation: none !important; }
  .pt-mock-line { stroke-dashoffset: 0; }
  .pt-perk, .pt-showcase img { transition: none; }
}

/* Label text and its hint stay on one line, so neighbouring fields align. */
.pt-form label > span:first-child, .pt-builder label > span:first-child { display: block; }
.pt-mini-link { display: flex; gap: 8px; margin-top: auto; padding-top: 16px; }
.pt-mini-link input { flex: 1; min-width: 0; font: 600 13.5px var(--lx-body); padding: 10px 12px; border-radius: 12px; border: 1.5px solid #d9d3f0; background: var(--pt-soft); color: var(--lx-ink); }
.pt-mini-link .lx-btn { min-height: 42px; padding: 0 16px; font-size: 13.5px; }
.pt-next { margin-top: 18px; padding: 14px 16px; border-radius: 16px; background: var(--pt-soft); }
.pt-next .pt-progress-head { margin-bottom: 8px; }
.pt-next .pt-progress-head b { color: var(--lx-ink); }
/* Phone hero: one creative, the dashboard card and one note, no crowding. */
@media (max-width: 680px) {
  .pt-stage { height: 400px; max-width: 360px; }
  .pt-creative--back, .pt-toast--b { display: none; }
  .pt-creative--front { width: 58%; right: 4%; transform: rotate(3deg); }
  .pt-mock { width: 60%; bottom: 0; padding: 14px 14px 8px; }
  .pt-mock-big { font-size: 26px; }
  .pt-toast--a { top: 6%; right: auto; left: 0; }
  .pt-band-stats { grid-template-columns: 1fr 1fr; }
  .pt-band-stats > div { grid-template-columns: 1fr; padding: 18px; border-bottom: 1px solid var(--pt-edge); }
  .pt-band-stats > div:nth-child(odd) { border-right: 1px solid var(--pt-edge); }
  .pt-band-stats > div:nth-last-child(-n+2) { border-bottom: 0; }
  .pt-band-stats svg { grid-row: auto; margin-bottom: 10px; width: 40px; height: 40px; padding: 9px; }
}

/* ── Calmer flow (Oct 17): one panel for perks, terms tucked under the form ── */
.pt-perks { gap: 0; padding: clamp(6px, 1vw, 12px); border-radius: 30px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); }
.pt-perk { background: none; border: 0; box-shadow: none; border-radius: 22px; padding: clamp(20px, 2.2vw, 30px); }
.pt-perk:hover { transform: none; box-shadow: none; background: var(--pt-soft); }
.pt-perk i { width: 46px; height: 46px; border-radius: 14px; margin-bottom: 14px; }
.pt-perk i svg { width: 23px; height: 23px; }
.pt-form .pt-terms-full { margin-top: 2px; background: var(--pt-soft); border: 1px solid var(--pt-edge); border-radius: 16px; }
.pt-form .pt-terms-full summary { padding: 14px 18px; font: 600 14.5px var(--lx-body); color: var(--lx-ink); }
.pt-form .pt-terms-full > div { padding: 0 18px 16px; font-size: 14px; }
.pt-sec#apply { padding-bottom: clamp(24px, 3vw, 48px); }

/* ══ One-screen landing (Oct 17) ═══════════════════════════════════════
   The pitch on the left, the form on the right, all inside one laptop
   screen. Spacing and type scale with the window height as well as its
   width, so nothing needs a scroll from 1280x720 up. */
.pt { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.pt > main { flex: 1 0 auto; }
.pt-land { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); gap: clamp(28px, 4.5vw, 96px); align-items: center; padding: clamp(10px, 3vh, 44px) 0; }
.pt-land .pt-h1 { font-size: clamp(30px, min(3.3vw, 6.4vh), 64px); }
.pt-land .pt-lead { margin-top: clamp(10px, 2.2vh, 22px) !important; font-size: clamp(15px, min(1.15vw, 2.2vh), 19px); max-width: 640px; }

.pt-keys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(16px, 3.4vh, 34px) 0 0; border-radius: 22px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: var(--pt-shadow); overflow: hidden; }
.pt-keys > div { display: flex; flex-direction: column; gap: 2px; padding: clamp(12px, 2.2vh, 20px) clamp(12px, 1.3vw, 20px); border-right: 1px solid var(--pt-edge); min-width: 0; }
.pt-keys > div:last-child { border-right: 0; }
.pt-keys dt { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lx-muted); }
.pt-keys dd { margin: 2px 0 0; font: 800 clamp(20px, min(1.9vw, 3.6vh), 30px) var(--lx-display); letter-spacing: -.03em; color: var(--lx-ink); white-space: nowrap; }
.pt-keys > div > span { font-size: 13px; line-height: 1.35; color: var(--lx-ink-2); }

.pt-flow { list-style: none; margin: clamp(16px, 3.2vh, 32px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 24px); }
.pt-flow li { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.pt-flow i { flex: 0 0 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font: 800 15px var(--lx-display); font-style: normal; color: #fff; background: var(--lx-grad); box-shadow: 0 10px 18px -10px rgba(118, 81, 240, .8); }
.pt-flow b { display: block; font-size: 15.5px; color: var(--lx-ink); margin-bottom: 2px; }
.pt-flow li > div > span { display: block; font-size: 13.5px; line-height: 1.45; color: var(--lx-ink-2); }

.pt-strip { display: flex; align-items: center; gap: clamp(16px, 2vw, 28px); margin: clamp(16px, 3.4vh, 34px) 0 0; padding: clamp(12px, 1.8vh, 18px) clamp(14px, 1.6vw, 22px); border-radius: 22px; background: rgba(255, 255, 255, .62); border: 1px solid var(--pt-edge); }
.pt-strip-imgs { display: flex; align-items: center; flex: 0 0 auto; padding-left: 4px; }
.pt-strip-imgs img { height: clamp(64px, 11vh, 118px); width: auto; border-radius: 10px; box-shadow: 0 14px 26px -16px rgba(40, 20, 100, .55), 0 0 0 1px rgba(255, 255, 255, .8); margin-left: -16px; }
.pt-strip-imgs img:first-child { margin-left: 0; transform: rotate(-5deg); }
.pt-strip-imgs img:nth-child(2) { transform: rotate(3deg); z-index: 1; }
.pt-strip-imgs img:nth-child(3) { transform: rotate(-2deg); z-index: 2; }
.pt-strip-imgs img:nth-child(4) { transform: rotate(5deg); z-index: 3; }
.pt-strip figcaption { font-size: 14px; line-height: 1.5; color: var(--lx-ink-2); }
.pt-strip figcaption b { color: var(--lx-ink); }

.pt-form-card { position: relative; overflow: hidden; padding: clamp(20px, 3.4vh, 38px) clamp(20px, 2.4vw, 38px); border-radius: 30px; background: var(--pt-card); border: 1px solid var(--pt-edge); box-shadow: 0 40px 80px -46px rgba(70, 50, 160, .6), 0 2px 8px rgba(90, 80, 170, .06); }
.pt-form-card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--lx-grad); }
.pt-form-card h2 { font-size: clamp(21px, min(1.7vw, 3.2vh), 27px); letter-spacing: -.02em; }
.pt-form-sub { margin: 6px 0 clamp(14px, 2.6vh, 24px) !important; font-size: 14.5px; color: var(--lx-ink-2); }
.pt-form-card .pt-form { padding: 0; border: 0; box-shadow: none; border-radius: 0; background: none; gap: clamp(10px, 1.9vh, 16px); }
.pt-form-card .pt-form input:not([type=checkbox]), .pt-form-card .pt-form select { min-height: clamp(44px, 6.2vh, 50px); padding-top: 10px; padding-bottom: 10px; }
.pt-form-card .pt-submit { justify-self: stretch; justify-content: center; width: 100%; min-height: 52px; }
.pt-form-card .pt-agree { font-size: 13.5px; }
.pt-form-card .pt-form-msg:empty { display: none; }
.pt-form-foot { margin-top: clamp(12px, 2vh, 18px) !important; text-align: center; font-size: 14px; color: var(--lx-ink-2); }
.pt-link { border: 0; background: none; padding: 0; font: 700 14px var(--lx-body); color: #5b3fd6; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

.pt-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 20px; padding: 14px 0 18px; border-top: 1px solid var(--pt-edge); font-size: 13px; color: var(--lx-muted); }
.pt-foot nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.pt-foot a { color: var(--lx-muted); text-decoration: none; }
.pt-foot a:hover { color: var(--lx-ink); }

.pt-modal-card--wide { width: min(660px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; }
.pt-terms-body p { margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: #4d5276; }
.pt-terms-body b { color: #1e2240; }

/* Short laptop screens: the creatives strip gives way so nothing scrolls. */
@media (min-width: 1001px) and (max-height: 780px) { .pt-strip { display: none; } }
@media (max-width: 1180px) and (min-width: 1001px) {
  .pt-keys { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-keys > div:nth-child(2) { border-right: 0; }
  .pt-keys > div:nth-child(-n+2) { border-bottom: 1px solid var(--pt-edge); }
}
@media (max-width: 1000px) {
  .pt-land { grid-template-columns: 1fr; align-items: start; padding-top: 20px; }
  .pt-land-form { max-width: 620px; width: 100%; margin-inline: auto; }
}
@media (max-width: 680px) {
  .pt-keys { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-keys > div:nth-child(2) { border-right: 0; }
  .pt-keys > div:nth-child(-n+2) { border-bottom: 1px solid var(--pt-edge); }
  .pt-flow { grid-template-columns: 1fr; }
  .pt-strip { flex-direction: column; align-items: flex-start; }
  .pt-foot { justify-content: center; text-align: center; }
}
.pt-lead b, .pt-flow span span { white-space: nowrap; }

/* Three key numbers (Oct 17). */
.pt-keys { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.pt-keys > div { border-bottom: 0 !important; border-right: 1px solid var(--pt-edge) !important; }
.pt-keys > div:last-child { border-right: 0 !important; }
@media (max-width: 520px) {
  .pt-keys { grid-template-columns: 1fr !important; }
  .pt-keys > div { border-right: 0 !important; border-bottom: 1px solid var(--pt-edge) !important; }
  .pt-keys > div:last-child { border-bottom: 0 !important; }
}
.pt-tier-badge { display: inline-block; padding: 4px 12px; border-radius: 99px; font-size: 12.5px; font-weight: 800; letter-spacing: .03em; color: #fff; background: var(--lx-grad); }

/* Earnings slider in the pitch (replaces the creatives strip). */
.pt-earn { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px clamp(16px, 2vw, 28px); margin: clamp(16px, 3.2vh, 32px) 0 0; padding: clamp(14px, 2.2vh, 20px) clamp(16px, 1.8vw, 24px); border-radius: 22px; background: linear-gradient(135deg, #2a2160 0%, #4a2f9e 55%, #8a3f9e 100%); color: #fff; box-shadow: 0 30px 60px -36px rgba(60, 30, 140, .8); }
.pt-earn-in label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14.5px; font-weight: 600; color: rgba(255, 255, 255, .9); }
.pt-earn-in label b { font: 800 22px var(--lx-display); color: #fff; }
.pt-earn input[type=range] { --fill: 10%; width: 100%; margin: 12px 0 2px; height: 8px; border-radius: 99px; -webkit-appearance: none; appearance: none; background: linear-gradient(90deg, #fff var(--fill), rgba(255, 255, 255, .25) var(--fill)); outline-offset: 6px; }
.pt-earn input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 3px solid #b39cff; box-shadow: 0 6px 14px -4px rgba(0, 0, 0, .4); cursor: pointer; }
.pt-earn input[type=range]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 3px solid #b39cff; cursor: pointer; }
.pt-earn-out { display: flex; gap: 10px; }
.pt-earn-out div { padding: 10px 16px; border-radius: 16px; background: #fff; color: var(--lx-ink); min-width: 120px; }
.pt-earn-out span { display: block; font-size: 12px; font-weight: 600; color: var(--lx-ink-2); }
.pt-earn-out b { font: 800 clamp(20px, min(1.8vw, 3.4vh), 28px) var(--lx-display); letter-spacing: -.03em; white-space: nowrap; }
.pt-earn-note { grid-column: 1 / -1; font-size: 12px !important; color: rgba(255, 255, 255, .75); }
@media (max-width: 680px) { .pt-earn { grid-template-columns: 1fr; } .pt-earn-out div { flex: 1; min-width: 0; } }

/* Form and pitch share one height: the pitch spreads its groups evenly,
   and the form keeps the agreement and button at the bottom of its card. */
@media (min-width: 1001px) {
  .pt-land { align-items: stretch; align-content: center; }
  .pt-land-pitch { display: flex; flex-direction: column; justify-content: space-between; gap: clamp(18px, 3.6vh, 40px); }
  .pt-land-pitch > * { margin-top: 0 !important; }
  .pt-land-form { display: flex; }
  .pt-form-card { flex: 1; display: flex; flex-direction: column; }
  .pt-form-card .pt-form { flex: 1; display: flex; flex-direction: column; }
  .pt-form-card .pt-agree { margin-top: auto; }
}

/* Tier ladder in the form card. */
.pt-ladder { padding: clamp(12px, 2vh, 18px) clamp(12px, 1.2vw, 18px); border-radius: 18px; background: var(--pt-soft); border: 1px solid var(--pt-edge); }
.pt-ladder:empty { display: none; }
.pt-ladder-title { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lx-muted); margin-bottom: 10px !important; }
.pt-ladder ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; }
.pt-ladder ol li { display: flex; flex-direction: column; gap: 1px; padding: 10px 12px; border-radius: 14px; background: #fff; border: 1px solid var(--pt-edge); position: relative; overflow: hidden; }
.pt-ladder ol li::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--lx-grad); opacity: calc(.35 + var(--i) * .22); }
.pt-ladder ol li span { font-size: 12.5px; font-weight: 700; color: var(--lx-ink-2); }
.pt-ladder ol li b { font: 800 clamp(18px, min(1.5vw, 3vh), 24px) var(--lx-display); letter-spacing: -.02em; color: var(--lx-ink); }
.pt-ladder ol li small { font-size: 11.5px; line-height: 1.35; color: var(--lx-muted); }
.pt-ladder-perks { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 14px; color: var(--lx-ink-2); }
@media (min-width: 1001px) {
  .pt-form-card .pt-ladder { margin-block: auto; }
  .pt-form-card .pt-agree { margin-top: 0; }
}
.pt-ladder ol { grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 6px; }
.pt-ladder ol li { padding: 9px 10px; border-radius: 12px; min-width: 0; }
.pt-ladder ol li span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 1001px) and (max-height: 860px) {
  .pt-form-sub { margin-bottom: 12px !important; }
  .pt-form-card .pt-form { gap: 10px; }
  .pt-form-card h2 { font-size: 21px; }
  .pt-ladder { padding: 10px 12px; }
  .pt-ladder-title { margin-bottom: 6px !important; font-size: 11px; }
  .pt-ladder ol li { padding: 7px 9px; }
  .pt-ladder ol li b { font-size: 18px; }
  .pt-ladder ol li small { font-size: 10.5px; }
  .pt-earn-note { display: none; }
  .pt-land .pt-lead { font-size: 15px; }
}
@media (min-width: 1001px) and (max-height: 740px) {
  .pt-ladder-title, .pt-form-sub { display: none; }
  .pt-form-card { padding-top: 18px; padding-bottom: 16px; }
  .pt-form-foot { margin-top: 8px !important; }
  .pt-land-pitch { gap: 14px; }
}
@media (min-width: 1001px) and (max-width: 1180px) {
  .pt-ladder ol li small { display: none; }
}
@media (min-width: 1001px) and (max-width: 1180px) and (max-height: 820px) {
  .pt-land h1 { font-size: clamp(30px, 4.6vh, 38px); }
  .pt-land .pt-lead { font-size: 14.5px; }
  .pt-land-pitch { gap: 12px; }
  .pt-form-card .pt-form { gap: 8px; }
}
@media (min-width: 1001px) and (max-width: 1180px) {
  .pt-form-card { padding-inline: 20px; }
  .pt-form-row { gap: 10px; }
  .pt-form label { font-size: 13px; }
  .pt-form label > span:first-child { white-space: nowrap; }
  .pt-opt { font-size: 11.5px; margin-left: 2px; }
  .pt-ladder { padding-inline: 8px; }
  .pt-ladder ol li { padding: 7px 7px; }
  .pt-ladder ol li span { font-size: 11.5px; }
}
@media (max-width: 560px) {
  .pt-ladder ol { grid-template-columns: 1fr 1fr; }
}

/* The sign-in and terms dialogs (and the toast) sit outside #lx, so they
   never received the page's colour settings: the gradient button rendered
   as white text on a white card. They get the same light values here. */
.pt-modal, .pt-flash {
  --lx-ink: #1e2240; --lx-ink-2: #4d5276; --lx-muted: #646a8c;
  --lx-violet: #8b6cf6; --lx-lilac: #6f4ce2;
  --lx-grad: linear-gradient(135deg, #7651f0 0%, #8b6cf6 45%, #d46fb0 100%);
  --lx-line: rgba(90, 80, 150, .12); --lx-line-2: rgba(90, 80, 150, .18);
  --lx-ease: cubic-bezier(.22, 1, .36, 1);
  --lx-display: 'Sora', 'Inter', system-ui, sans-serif;
  --lx-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
