/* Partner program: public landing (/partners), application, terms. Loaded after site.css (same tokens + fonts).
   Hover lifts use the `translate` property (never `transform`): GSAP reveals animate transform and clear it. */
.pl { --pl-display: 'Bricolage Grotesque', 'Inter Tight', sans-serif; }
.pl-sec { padding-top: 120px; }
.pl-head { max-width: 760px; margin-bottom: 48px; }
.pl-head .s-h2 { text-wrap: balance; }
.pl-link { color: var(--accent-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pl-mono { font-family: 'Geist Mono', monospace; letter-spacing: .04em; text-transform: uppercase; }
.pl-mono::placeholder { text-transform: none; }

/* Hero */
.pl-hero { padding-top: 64px; padding-bottom: 40px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 56px; align-items: center; }
.pl-hero-title { font-family: var(--pl-display); font-weight: 700; font-size: clamp(42px, 6.2vw, 88px); line-height: .98; letter-spacing: -0.045em; margin: 0 0 28px; text-wrap: balance; }
.pl-hl { display: inline-block; background: var(--accent); color: var(--on-accent); padding: 0 .22em .04em; border-radius: .26em; margin: 0 .04em; rotate: -2deg; }
.pl-hero-lead { font-size: 20px; line-height: 1.55; color: var(--muted); max-width: 540px; margin: 0 0 36px; text-wrap: pretty; }
.pl-hero-login { margin: 26px 0 0; font-size: 14px; color: var(--muted); }
.pl-hero-login a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.pl-stage { position: relative; min-height: 560px; display: flex; align-items: center; justify-content: center; }
.pl-glow { position: absolute; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, var(--accent-soft) 0 55%, transparent 70%); }
.pl-glow::after { content: ""; position: absolute; inset: -40px; border-radius: 50%; border: 2px dashed color-mix(in oklch, var(--accent-ink) 30%, transparent); }
@media (prefers-reduced-motion: no-preference) { .pl-glow::after { animation: pl-spin 60s linear infinite; } }
@keyframes pl-spin { to { rotate: 360deg; } }
/* Floating chips: compositor loop (was a GSAP tween per frame); starts once the GSAP pop-in has finished */
@keyframes pl-float { to { transform: translateY(-10px); } }
.s-anim [data-pl-float] { animation: pl-float var(--pl-float-d, 2.4s) cubic-bezier(.37,0,.63,1) 1.9s infinite alternate; }
.pl-card-dark { position: relative; width: min(360px, 88%); padding: 26px; border-radius: 30px; background: var(--dark); color: #fff; box-shadow: 0 50px 90px -40px rgba(10,20,15,.55); }
.pl-card-top { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--dark-muted); }
.pl-live { display: inline-flex; align-items: center; gap: 6px; font-family: 'Geist Mono', monospace; font-size: 11px; letter-spacing: .08em; color: var(--accent); }
.pl-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px color-mix(in oklch, var(--accent) 25%, transparent); }
.pl-card-amount { font-family: var(--pl-display); font-weight: 700; font-size: 52px; letter-spacing: -0.045em; line-height: 1; margin: 14px 0 6px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pl-card-sub { font-size: 13px; color: var(--dark-muted); }
.pl-mini-bars { display: flex; align-items: flex-end; gap: 5px; height: 84px; margin: 24px 0 14px; }
.pl-mini-bars i { flex: 1; border-radius: 5px 5px 2px 2px; background: var(--dark-2); }
.pl-mini-bars i.is-now { background: var(--accent); }
.pl-card-foot { display: flex; justify-content: space-between; font-size: 12px; color: var(--dark-muted); }
.pl-chip { position: absolute; display: flex; align-items: center; gap: 12px; padding: 11px 18px 11px 11px; border-radius: 20px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 22px 44px -20px rgba(0,0,0,.28); z-index: 2; }
.pl-chip > span:last-child { display: flex; flex-direction: column; }
.pl-chip-1 { top: 36px; left: -6px; }
.pl-chip-2 { bottom: 70px; right: -8px; }
.pl-chip-av { width: 38px; height: 38px; border-radius: 12px; background: var(--pop); color: #1A1608; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.pl-chip-eur { width: 38px; height: 38px; border-radius: 50%; background: var(--accent); color: var(--on-accent); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pl-chip-t { font-size: 14px; font-weight: 600; white-space: nowrap; }
.pl-chip-s { font-size: 12px; color: var(--muted); white-space: nowrap; }
.pl-ticket { position: absolute; bottom: 4px; left: 6%; display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 16px; border-radius: 16px; background: var(--pop-soft); border: 1.5px dashed var(--pop-ink); z-index: 2; rotate: -3deg; }
.pl-ticket-l { font-size: 12px; color: var(--pop-ink); }
.pl-ticket-code { font-family: 'Geist Mono', monospace; font-weight: 500; font-size: 16px; letter-spacing: .06em; color: #1A1608; }
.pl-ticket-copy { font-size: 12px; font-weight: 600; padding: 6px 10px; border-radius: 999px; background: var(--ink); color: #fff; }

/* Steps */
.pl-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pl-step { position: relative; padding: 30px; border-radius: 30px; background: var(--surface); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 14px; min-height: 300px; transition: translate .3s, box-shadow .3s; }
.pl-step:hover { translate: 0 -4px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.18); }
.pl-step-accent { background: var(--accent); border-color: transparent; color: var(--on-accent); }
.pl-step-accent p { color: color-mix(in oklch, var(--on-accent) 75%, transparent) !important; }
.pl-step-n { font-family: 'Geist Mono', monospace; font-size: 13px; color: var(--accent-ink); }
.pl-step-accent .pl-step-n { color: var(--on-accent); opacity: .7; }
.pl-step-ic { align-self: flex-start; width: 64px; height: 64px; border-radius: 20px; display: flex; align-items: center; justify-content: center; margin: 8px 0 auto; font-family: var(--pl-display); font-weight: 800; font-size: 28px; }
.pl-step-ic-1 { background: var(--accent-soft); }
.pl-step-ic-1 i { width: 26px; height: 32px; border-radius: 5px; border: 3px solid var(--accent-ink); background: linear-gradient(var(--accent-ink), var(--accent-ink)) 50% 9px / 12px 3px no-repeat, linear-gradient(var(--accent-ink), var(--accent-ink)) 50% 16px / 12px 3px no-repeat; }
.pl-step-ic-2 { width: auto; padding: 0 16px; background: var(--ink); color: var(--accent); font-family: 'Geist Mono', monospace; font-weight: 500; font-size: 17px; }
.pl-step-ic-3 { background: var(--ink); color: var(--accent); }
.pl-step-t { font-family: var(--pl-display); font-weight: 600; font-size: 26px; letter-spacing: -0.02em; }
.pl-step p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--muted); }

/* Calculator */
.pl-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; padding: clamp(24px, 4.5vw, 56px); border-radius: 40px; background: var(--dark); color: #fff; }
.pl-calc-title { font-family: var(--pl-display); font-weight: 700; font-size: clamp(34px, 4vw, 54px); letter-spacing: -0.04em; line-height: 1.02; margin: 0 0 14px; }
.pl-calc-lead { font-size: 17px; line-height: 1.55; color: var(--dark-muted); margin: 0 0 32px; max-width: 460px; }
.pl-calc-field { border: 0; padding: 0; margin: 0 0 28px; min-width: 0; }
.pl-calc-field legend, .pl-calc-lab { font-size: 14px; color: var(--dark-muted); margin-bottom: 12px; padding: 0; }
.pl-calc-lab { display: flex; justify-content: space-between; align-items: baseline; }
.pl-calc-lab output { font-family: var(--pl-display); font-weight: 700; font-size: 34px; letter-spacing: -0.03em; color: #fff; line-height: 1; }
.pl-seg { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 6px; padding: 6px; border-radius: 20px; background: var(--dark-2); }
.pl-seg-opt { position: relative; cursor: pointer; }
.pl-seg-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.pl-seg-opt span { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 11px 6px; border-radius: 15px; color: var(--dark-muted); transition: background .2s, color .2s; text-align: center; }
.pl-seg-opt b { font-weight: 600; font-size: 15px; color: inherit; }
.pl-seg-opt small { font-size: 12px; opacity: .85; white-space: nowrap; }
.pl-seg-opt input:checked + span { background: var(--accent); color: var(--on-accent); }
.pl-seg-opt input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.pl-range { -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 8px; background: linear-gradient(90deg, var(--accent) var(--fill, 10%), var(--dark-2) var(--fill, 10%)); outline: none; margin: 6px 0 0; }
.pl-range::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; border-radius: 50%; background: #fff; border: 6px solid var(--accent); cursor: grab; box-shadow: 0 6px 16px -6px rgba(0,0,0,.6); }
.pl-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 6px solid var(--accent); cursor: grab; }
.pl-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 5px color-mix(in oklch, var(--accent) 40%, transparent); }
.pl-range-scale { display: flex; justify-content: space-between; font-family: 'Geist Mono', monospace; font-size: 11px; color: var(--dark-muted); margin-top: 10px; }
.pl-calc-out { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pl-calc-box { padding: 24px 26px; border-radius: 26px; background: var(--dark-2); }
.pl-calc-box-big { background: var(--accent); color: var(--on-accent); flex: 1; display: flex; flex-direction: column; justify-content: flex-end; }
.pl-calc-k { font-size: 14px; opacity: .8; }
.pl-calc-v { font-family: var(--pl-display); font-weight: 700; font-size: clamp(40px, 5vw, 68px); letter-spacing: -0.045em; line-height: 1.05; margin: 6px 0 4px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pl-calc-box-big .pl-calc-v { font-size: clamp(48px, 6.4vw, 92px); }
.pl-calc-s { font-size: 13px; opacity: .75; }
.pl-calc-note { margin: 4px 2px 0; font-size: 13px; line-height: 1.55; color: var(--dark-muted); }

/* What the business gets */
.pl-gets { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 16px; align-items: stretch; }
.pl-gets-card { padding: clamp(26px, 4vw, 48px); border-radius: 36px; background: var(--surface); border: 1px solid var(--line); }
.pl-gets-title { font-family: var(--pl-display); font-weight: 700; font-size: clamp(32px, 3.8vw, 52px); letter-spacing: -0.04em; line-height: 1.03; margin: 0 0 14px; text-wrap: balance; }
.pl-gets-lead { font-size: 17px; line-height: 1.55; color: var(--muted); margin: 0 0 28px; max-width: 560px; }
.pl-gets-list { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 12px 24px; font-size: 16px; line-height: 1.45; }
.pl-gets-list li { display: flex; gap: 12px; align-items: flex-start; }
.pl-gets-list li::before { content: ""; flex: none; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: radial-gradient(circle, var(--accent-ink) 0 3.5px, var(--accent-soft) 4px); }
.pl-coupon { position: relative; padding: 32px 30px; border-radius: 36px; background: var(--ink); color: #fff; display: flex; flex-direction: column; overflow: hidden; min-height: 380px; }
.pl-coupon::before { content: ""; position: absolute; right: -80px; top: -80px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, color-mix(in oklch, var(--accent) 45%, transparent), transparent 70%); }
.pl-coupon-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; position: relative; }
.pl-coupon-tag { font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: var(--accent); color: var(--on-accent); white-space: nowrap; }
.pl-coupon-big { font-family: var(--pl-display); font-weight: 800; font-size: clamp(76px, 9vw, 120px); letter-spacing: -0.06em; line-height: .9; margin-top: auto; color: var(--accent); position: relative; }
.pl-coupon-sub { font-size: 18px; margin-top: 8px; color: #fff; }
.pl-coupon-code { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 22px; padding: 12px 14px; border-radius: 14px; border: 1.5px dashed rgba(255,255,255,.35); font-size: 13px; color: var(--dark-muted); }
.pl-coupon-code b { font-family: 'Geist Mono', monospace; font-weight: 500; font-size: 16px; letter-spacing: .06em; color: #fff; }
.pl-coupon-cut { height: 0; border-top: 2px dashed rgba(255,255,255,.18); margin: 22px -30px 16px; position: relative; }
.pl-coupon-cut::before, .pl-coupon-cut::after { content: ""; position: absolute; top: -13px; width: 24px; height: 24px; border-radius: 50%; background: var(--bg); }
.pl-coupon-cut::before { left: -12px; } .pl-coupon-cut::after { right: -12px; }
.pl-coupon-foot { font-size: 13px; color: var(--dark-muted); line-height: 1.5; }

/* Who it is for */
.pl-who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pl-who-card { padding: 28px; border-radius: 28px; background: var(--surface); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; transition: translate .3s, box-shadow .3s, border-color .3s; }
.pl-who-card:hover { translate: 0 -4px; box-shadow: 0 30px 60px -30px rgba(0,0,0,.18); }
.pl-who-t { font-family: var(--pl-display); font-weight: 600; font-size: 22px; letter-spacing: -0.02em; }
.pl-who-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted); }
.pl-who-ic { width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.pl-who-ic i { display: block; }
.pl-who-acc .pl-who-ic { background: var(--accent-soft); }
.pl-who-acc .pl-who-ic i { width: 22px; height: 26px; border-radius: 4px; border: 2.5px solid var(--accent-ink); background: repeating-linear-gradient(var(--accent-ink) 0 2px, transparent 2px 6px) 50% 60% / 10px 12px no-repeat; }
.pl-who-pos .pl-who-ic { background: var(--ink); }
.pl-who-pos .pl-who-ic i { width: 24px; height: 18px; border-radius: 4px; border: 2.5px solid var(--accent); border-bottom-width: 6px; }
.pl-who-mkt .pl-who-ic { background: var(--pop-soft); }
.pl-who-mkt .pl-who-ic i { width: 0; height: 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-bottom: 22px solid var(--pop-ink); rotate: 90deg; }
.pl-who-sup .pl-who-ic { background: var(--accent-soft); }
.pl-who-sup .pl-who-ic i { width: 24px; height: 20px; border: 2.5px solid var(--accent-ink); border-top: 0; border-radius: 0 0 10px 10px; box-shadow: 8px -4px 0 -5px var(--accent-ink); }
.pl-who-inf .pl-who-ic { background: var(--pop); }
.pl-who-inf .pl-who-ic i { width: 22px; height: 22px; border-radius: 7px; border: 2.5px solid #1A1608; background: radial-gradient(circle, transparent 0 4px, #1A1608 4.5px 6.5px, transparent 7px); }
.pl-who-cta { background: var(--accent-soft); border-color: transparent; justify-content: flex-end; }
body.site a.pl-who-cta:hover { color: var(--ink); }
.pl-who-arrow { margin-top: 8px; font-weight: 600; color: var(--accent-ink); }

/* Payout terms (dark band) */
.pl-dark-sec { margin-top: 120px; padding: 110px 0; background: var(--dark); color: #fff; border-radius: 48px; }
.pl-head-dark .s-h2 { color: #fff; }
.pl-terms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pl-term { padding: 26px; border-radius: 26px; background: var(--dark-2); }
.pl-term-n { font-family: var(--pl-display); font-weight: 700; font-size: 44px; letter-spacing: -0.04em; line-height: 1; color: var(--accent); white-space: nowrap; }
.pl-term-n small { font-size: 18px; letter-spacing: -0.01em; color: var(--dark-muted); font-weight: 600; }
.pl-term-t { font-weight: 600; font-size: 17px; margin: 18px 0 6px; }
.pl-term p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--dark-muted); }

/* FAQ */
.pl-faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.pl-faq { display: flex; flex-direction: column; gap: 10px; }
.pl-faq-item { border-radius: 22px; background: var(--surface); border: 1px solid var(--line); transition: border-color .2s; }
.pl-faq-item[open] { border-color: var(--ink); }
.pl-faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 22px; font-weight: 600; font-size: 17px; line-height: 1.35; }
.pl-faq-item summary::-webkit-details-marker { display: none; }
.pl-faq-item summary:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; border-radius: 22px; }
.pl-faq-item summary i { flex: none; position: relative; width: 30px; height: 30px; border-radius: 50%; background: var(--bg); }
.pl-faq-item summary i::before, .pl-faq-item summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--ink); border-radius: 2px; transition: rotate .25s; }
.pl-faq-item summary i::after { rotate: 90deg; }
.pl-faq-item[open] summary i { background: var(--accent); }
.pl-faq-item[open] summary i::after { rotate: 0deg; }
.pl-faq-a { padding: 0 22px 20px; }
.pl-faq-a p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--muted); max-width: 64ch; }

/* Application */
.pl-apply-sec { padding-bottom: 140px; }
.pl-apply-sum { margin-top: auto; padding: 24px 26px; border-radius: 26px; background: var(--dark); color: #fff; display: flex; flex-direction: column; gap: 12px; }
.pl-apply-row { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; padding-bottom: 12px; border-bottom: 1px solid var(--dark-2); }
.pl-apply-row:last-child { border-bottom: 0; padding-bottom: 0; }
.pl-apply-row span { color: var(--dark-muted); }
.pl-apply-row b { font-weight: 600; text-align: right; }
.pl-opt { font-weight: 400; color: var(--muted); font-size: 13px; }
.pl-textarea { height: auto; min-height: 120px; padding: 14px 18px; line-height: 1.5; resize: vertical; }
.pl-err { font-size: 13px; color: oklch(0.55 0.18 25); margin-top: -2px; }
.pl-err:empty { display: none; }
.pl-channels { border: 1px solid var(--line); border-radius: 22px; padding: 18px 18px 14px; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 14px; transition: border-color .2s; }
.pl-channels legend { padding: 0 6px; margin-left: -6px; }
.pl-channels.is-invalid { border-color: oklch(0.55 0.18 25); }
.pl-channels-h { margin: -6px 0 0; font-size: 14px; color: var(--muted); }

/* Applied + terms pages */
.pl-done { max-width: 720px; margin: 0 auto; padding: 96px 24px 140px; text-align: center; }
.pl-done-ic { width: 96px; height: 96px; margin: 0 auto 28px; border-radius: 50%; background: var(--accent); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 14px var(--accent-soft); }
.pl-done-ic i { width: 34px; height: 18px; border-left: 6px solid var(--on-accent); border-bottom: 6px solid var(--on-accent); rotate: -45deg; translate: 0 -4px; }
.pl-done h1 { font-family: var(--pl-display, 'Bricolage Grotesque', 'Inter Tight', sans-serif); font-weight: 700; font-size: clamp(38px, 5vw, 60px); letter-spacing: -0.04em; line-height: 1.02; margin: 0 0 18px; }
.pl-done p { font-size: 18px; line-height: 1.6; color: var(--muted); margin: 0 auto 14px; max-width: 560px; }
.pl-done-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 40px 0; text-align: left; }
.pl-done-step { padding: 20px; border-radius: 22px; background: var(--surface); border: 1px solid var(--line); font-size: 14px; line-height: 1.5; color: var(--muted); }
.pl-done-step b { display: block; color: var(--ink); font-size: 15px; margin-bottom: 4px; }
.pl-done-step.is-done { background: var(--accent-soft); border-color: transparent; }
.pl-done-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.s-legal pre.pl-terms-custom { white-space: pre-wrap; font-family: inherit; font-size: 16px; line-height: 1.65; margin: 0; }

/* Nav link to the program on every site page lives in site.css */

@media (max-width: 1080px) {
  .pl-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pl-stage { min-height: 500px; }
  .pl-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pl-who { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pl-steps, .pl-calc, .pl-gets, .pl-faq-grid { grid-template-columns: minmax(0, 1fr); }
  .pl-step { min-height: 0; }
  .pl-step-ic { margin-bottom: 8px; }
  .pl-faq-grid { gap: 8px; }
  .pl-calc { gap: 28px; }
}
@media (max-width: 600px) {
  .pl-sec { padding-top: 84px; }
  .pl-head { margin-bottom: 32px; }
  .pl-hero { padding-top: 40px; }
  .pl-hero-lead { font-size: 18px; }
  .pl-stage { min-height: 440px; margin: 0 -8px; }
  .pl-glow { width: 320px; height: 320px; }
  .pl-card-dark { padding: 20px; border-radius: 24px; width: min(300px, 84%); }
  .pl-card-amount { font-size: 40px; }
  .pl-mini-bars { height: 64px; }
  .pl-chip { padding: 8px 12px 8px 8px; gap: 9px; border-radius: 16px; }
  .pl-chip-av, .pl-chip-eur { width: 32px; height: 32px; }
  .pl-chip-1 { top: 8px; left: 0; }
  .pl-chip-2 { bottom: 64px; right: 0; }
  .pl-chip-t { font-size: 13px; } .pl-chip-s { font-size: 11px; }
  .pl-ticket { left: 2%; }
  .pl-who, .pl-terms { grid-template-columns: minmax(0, 1fr); }
  .pl-dark-sec { margin-top: 84px; padding: 72px 0; border-radius: 32px; }
  .pl-calc { border-radius: 30px; }
  .pl-coupon { min-height: 320px; border-radius: 30px; }
  .pl-gets-card { border-radius: 30px; }
  .pl-faq-item summary { padding: 18px; font-size: 16px; }
  .pl-faq-a { padding: 0 18px 18px; }
  .pl-done-steps { grid-template-columns: minmax(0, 1fr); }
  .pl-apply-sec { padding-bottom: 96px; }
}
@media (prefers-reduced-motion: reduce) { .pl-step, .pl-who-card { transition: none; } }
@media (max-width: 600px) {
  .pl-chip-2 { display: none; }
  .pl-seg { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 16px; }
  .pl-seg-opt span { padding: 9px 2px; border-radius: 12px; }
  .pl-seg-opt small { white-space: normal; font-size: 11px; }
  .s-pill { font-size: 13px; }
}
