.f1l1o3bf{font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif, Arial;font-style:normal;font-weight:400}.f1l1o3bf button, .f1l1o3bf input, .f1l1o3bf textarea{font-family:inherit}.f4ofdyf{border:0.5px solid var(--origin-color-border-base-subdued);border-radius:8px;cursor:pointer;height:24px;transition:width 150ms cubic-bezier(0.05, 0.6, 0, 1), height 150ms cubic-bezier(0.05, 0.6, 0, 1), border-radius 150ms cubic-bezier(0.05, 0.6, 0, 1);width:24px}.f137tu7e{flex-shrink:0;transform:scale(1);transition:transform 150ms cubic-bezier(0.05, 0.6, 0, 1)}[data-origin-mode="dark"] .f137tu7e{--origin-color-logo-grammarly-light:var(--origin-color-logo-grammarly-dark);--origin-color-logo-grammarly-primary:var(--origin-color-logo-grammarly-default)}.ftwgcg0{-moz-appearance:none;-webkit-appearance:none;align-items:flex-start;appearance:none;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;height:32px;justify-content:flex-start;padding:0;width:32px}.ftwgcg0:hover .f4ofdyf{border-radius:12px;height:32px;width:32px}.ftwgcg0:hover .f137tu7e{transform:scale(1.25)}.f13cnbb7 .f4ofdyf{border-radius:12px;height:32px;width:32px}.f13cnbb7 .f137tu7e{transform:scale(1.25)}.f8ia88a{--origin-color-button-ghost-content-default:#714cb6;--origin-color-button-ghost-content-states:#533192;--origin-color-button-primary-fill-active:#3f256f;--origin-color-button-primary-fill-default:#714cb6;--origin-color-button-primary-fill-hover:#533192;--origin-font-weight-heading-xsmall:600}[data-origin-mode="dark"] .f8ia88a{--origin-color-button-ghost-content-default:#d4c7ff;--origin-color-button-ghost-content-states:#bea1f5;--origin-color-button-primary-content-default:#141413;--origin-color-button-primary-fill-active:#e8e0ff;--origin-color-button-primary-fill-default:#bea1f5;--origin-color-button-primary-fill-hover:#d4c7ff}.f347vxz{font-weight:600}


        .offer-strip { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; background:linear-gradient(135deg,#fff7e6 0%,#fde7c7 100%); border:1.5px solid #f2b84b; border-radius:14px; padding:12px 16px; margin-bottom:20px; box-shadow:0 6px 22px rgba(217,119,6,.15); }
        .offer-strip-left { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; }
        .offer-strip-badge { background:linear-gradient(135deg,#b45309,#d97706); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.06em; padding:5px 10px; border-radius:6px; text-transform:uppercase; white-space:nowrap; }
        .offer-strip-text { color:#4a1d06; font-weight:700; font-size:.95rem; }
        .offer-strip-btn { background:linear-gradient(135deg,#7c2d12,#b45309); color:#fff; border:0; border-radius:999px; padding:9px 18px; font-weight:800; font-size:.85rem; cursor:pointer; box-shadow:0 4px 14px rgba(124,45,18,.35); animation:offerBtnPulse 2s infinite; white-space:nowrap; }
        @keyframes offerBtnPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }

        .offer-pop { position:fixed; inset:0; z-index:2147483000; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(15,5,2,.6); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }
        .offer-pop.is-open { opacity:1; visibility:visible; }
        .offer-confetti { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:2147483001; }
        .offer-pop-card { position:relative; width:100%; max-width:560px; max-height:calc(100vh - 32px); overflow-y:auto; background:radial-gradient(circle at 50% 0%,#5b1a0b 0%,#2a0a04 60%,#1a0602 100%); border:2px solid #f5c451; border-radius:22px; padding:30px 24px 22px; text-align:center; color:#fff; box-shadow:none; transform:scale(.8) translateY(30px); transition:transform .45s cubic-bezier(.34,1.56,.64,1); }
        .offer-pop.is-open .offer-pop-card { transform:scale(1) translateY(0); }
        .offer-pop-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; border:1.5px solid rgba(255,255,255,.4); background:rgba(255,255,255,.12); color:#fff; font-size:1.3rem; line-height:1; cursor:pointer; }
        .offer-pop-close:hover { background:rgba(255,255,255,.25); }
        .offer-pop-diya { font-size:2.6rem; line-height:1; animation:offerFloat 2.4s ease-in-out infinite; }
        @keyframes offerFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
        .offer-pop-badge { display:inline-block; margin:10px 0 8px; background:linear-gradient(135deg,#fde68a,#f59e0b,#fde68a); background-size:200% 100%; animation:offerShine 3s linear infinite; color:#3b0f02; font-weight:900; font-size:.85rem; letter-spacing:.12em; padding:6px 16px; border-radius:999px; text-transform:uppercase; }
        @keyframes offerShine { to { background-position:-200% 0; } }
        .offer-pop-title { font-size:1.55rem; font-weight:900; line-height:1.25; margin:4px 0 6px; color:#fff7d6; }
        .offer-pop-sub { color:#fde3b5; font-size:.95rem; margin:0 0 18px; }
        .offer-pop-packs { display:grid; gap:12px; text-align:left; }
        .offer-pack { position:relative; display:flex; align-items:center; gap:14px; width:100%; padding:14px 16px; border-radius:14px; cursor:pointer; border:2px solid; background:#fff; color:#1f2937; font-family:inherit; text-align:left; transition:transform .2s, box-shadow .2s; }
        .offer-pack:hover { transform:translateY(-2px); }
        .offer-pack-icon { font-size:1.8rem; flex-shrink:0; }
        .offer-pack-body { flex:1; min-width:0; }
        .offer-pack-tag { display:inline-block; font-size:.66rem; font-weight:900; letter-spacing:.08em; padding:2px 8px; border-radius:4px; color:#fff; margin-bottom:3px; }
        .offer-pack-title { display:block; font-size:1.12rem; font-weight:900; }
        .offer-pack-sub { display:block; font-size:.85rem; color:#4b5563; font-weight:600; }
        .offer-pack-cta { flex-shrink:0; font-size:.8rem; font-weight:800; color:#fff; padding:8px 12px; border-radius:999px; white-space:nowrap; }
        .offer-pack--sky { border-color:#0ea5e9; } 
        .offer-pack--sky .offer-pack-tag, .offer-pack--sky .offer-pack-cta { background:#0284c7; } .offer-pack--sky .offer-pack-title { color:#075985; }
        .offer-pack--gold { border-color:#f59e0b; background:#fffbeb; }
        .offer-pack--gold .offer-pack-tag, .offer-pack--gold .offer-pack-cta { background:#c2410c; } .offer-pack--gold .offer-pack-title { color:#9a3412; }
        .offer-pack--emerald { border-color:#10b981; } 
        .offer-pack--emerald .offer-pack-tag, .offer-pack--emerald .offer-pack-cta { background:#047857; } .offer-pack--emerald .offer-pack-title { color:#065f46; }
        .offer-pop-live { display:inline-flex; align-items:center; gap:8px; margin-top:16px; color:#86efac; font-weight:800; font-size:.8rem; letter-spacing:.06em; }
        .offer-pop-skip { display:block; margin:10px auto 0; background:none; border:0; color:#fcd9a8; text-decoration:underline; font-size:.85rem; cursor:pointer; }
        .offer-unlock-emoji { font-size:3rem; line-height:1; display:inline-block; animation:offerBounce .9s cubic-bezier(.34,1.56,.64,1) both; }
        @keyframes offerBounce { 0%{transform:scale(0) rotate(-30deg)} 100%{transform:scale(1) rotate(0)} }
        .offer-unlock-summary { background:#fff; color:#1f2937; border-radius:16px; padding:6px 16px; margin:4px 0 14px; text-align:left; border:2px solid #f5c451; }
        .offer-unlock-row { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 0; border-bottom:1px dashed #e5e7eb; font-size:.98rem; font-weight:700; }
        .offer-unlock-row:last-child { border-bottom:0; }
        .offer-unlock-row > span:first-child { color:#4b5563; }
        .offer-unlock-row--save > span:last-child { color:#047857; font-weight:900; }
        .offer-unlock-row--free > span:last-child { color:#c2410c; font-weight:900; }
        .offer-unlock-row--total { font-size:1.1rem; }
        .offer-unlock-row--total > span:last-child { color:#111827; font-weight:900; font-size:1.25rem; }
        .offer-unlock-row s { color:#9ca3af; font-weight:600; font-size:.9rem; margin-right:6px; }
        .offer-next { position:relative; overflow:hidden; margin:0 0 16px; padding:16px 16px 14px; border-radius:16px; text-align:left; color:#3b0f02; background:linear-gradient(135deg,#fff8db 0%,#fde68a 55%,#fbbf24 100%); border:2px solid #fff3c4; animation:offerNextIn .6s .25s cubic-bezier(.34,1.56,.64,1) both; }
        .offer-next::after { content:''; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent); transform:skewX(-20deg); animation:offerNextShine 2.8s 1s ease-in-out infinite; pointer-events:none; }
        @keyframes offerNextIn { from{opacity:0; transform:translateY(14px) scale(.96)} to{opacity:1; transform:none} }
        @keyframes offerNextShine { 0%{left:-60%} 60%,100%{left:130%} }
        .offer-next-label { display:inline-flex; align-items:center; gap:6px; background:#7c2d12; color:#fff; font-size:.7rem; font-weight:900; letter-spacing:.1em; padding:4px 10px; border-radius:999px; }
        .offer-next-main { margin:10px 0 2px; font-size:1.12rem; font-weight:800; line-height:1.35; }
        .offer-next-main b { color:#7c2d12; }
        .offer-next-gift { display:inline-block; margin-top:2px; font-size:1.35rem; font-weight:900; color:#9a3412; }

        /* Minimal step popups (after picking tickets): what you got + the one next offer */
        .offer-pop-card.offer-mini { max-width:340px; padding:28px 20px 16px; }
        .offer-mini-emoji { font-size:2.6rem; line-height:1; display:inline-block; animation:offerBounce .8s cubic-bezier(.34,1.56,.64,1) both; }
        .offer-mini-title { margin:10px 0 4px; font-size:1.35rem; font-weight:900; line-height:1.25; color:#fff7d6; }
        .offer-mini-sub { margin:0; font-size:.92rem; color:#fde3b5; font-weight:600; }
        .offer-mini-next { margin:18px 0 16px; padding:14px 12px; background:#fff; border-radius:14px; text-align:center; animation:offerNextIn .5s .15s cubic-bezier(.34,1.56,.64,1) both; }
        .offer-mini-next-label { display:inline-block; font-size:.66rem; font-weight:900; letter-spacing:.1em; color:#c2410c; background:#ffedd5; border-radius:999px; padding:3px 10px; }
        .offer-mini-next-need { margin-top:8px; font-size:.95rem; font-weight:700; color:#4b5563; }
        .offer-mini-next-gift { margin-top:2px; font-size:1.3rem; font-weight:900; color:#9a3412; }
        .offer-mini-btn { display:block; width:100%; border:0; border-radius:999px; padding:14px; font-weight:900; font-size:1rem; cursor:pointer; font-family:inherit; background:linear-gradient(135deg,#fde047,#f59e0b); color:#3b0f02; }
        .offer-mini-link { display:block; margin:10px auto 0; padding:6px; background:none; border:0; color:#fcd9a8; font-weight:700; font-size:.88rem; cursor:pointer; font-family:inherit; text-decoration:underline; text-underline-offset:3px; }

        /* Milestone offer line (e-commerce style): 2 = 10% OFF, 3 = 1 FREE, 5 = 2 FREE ... */
        .offer-ladder { text-align:left; display:flow-root; }
        .offer-ladder-msg { font-size:.92rem; font-weight:700; color:#4a1d06; margin-bottom:6px; }
        .offer-ladder-msg b { color:#b45309; }
        .offer-ladder-msg--done { color:#047857; }
        .offer-next .offer-ladder-msg { display:none; }
        .offer-ladder-track { position:relative; height:8px; margin:30px 34px 64px; background:#f1e4cc; border-radius:999px; }
        .offer-ladder-fill { position:absolute; inset:0 auto 0 0; width:0; border-radius:999px; background:linear-gradient(90deg,#38bdf8,#f97316,#22c55e); transition:width .7s cubic-bezier(.16,1,.3,1); }
        /* each step = colored circle + label stacked under it (never overlaps) */
        .offer-ladder-step { --c1:#38bdf8; --c2:#2563eb; position:absolute; top:-15px; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; width:84px; }
        .offer-ladder-step.tone-1 { --c1:#fb923c; --c2:#e11d48; }
        .offer-ladder-step.tone-2 { --c1:#4ade80; --c2:#059669; }
        .offer-ladder-step.tone-3 { --c1:#c084fc; --c2:#7c3aed; }
        .offer-ladder-dot { position:relative; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:.95rem; color:var(--c2); background:#fff; border:3px solid var(--c1); transition:transform .3s; }
        .offer-ladder-step.is-done .offer-ladder-dot,
        .offer-ladder-step.is-next .offer-ladder-dot { color:#fff; border-color:#fff; background:linear-gradient(135deg,var(--c1),var(--c2)); box-shadow:0 0 0 2.5px var(--c1); }
        .offer-ladder-step.is-next .offer-ladder-dot { transform:scale(1.1); }
        .offer-ladder-step.is-next .offer-ladder-dot::after { content:''; position:absolute; inset:-6px; border-radius:50%; border:2px solid var(--c1); animation:offerDotPulse 1.6s ease-out infinite; }
        @keyframes offerDotPulse { 0%{transform:scale(.85); opacity:.9} 100%{transform:scale(1.35); opacity:0} }
        .offer-ladder-label { margin-top:7px; text-align:center; line-height:1.2; }
        .offer-ladder-label small { display:block; font-size:.7rem; font-weight:700; color:#8a6a4a; white-space:nowrap; }
        .offer-ladder-label strong { display:block; font-size:.82rem; font-weight:900; color:var(--c2); white-space:nowrap; }
        .offer-ladder-wrap { background:#fffaf0; border:1.5px solid #f2d39b; border-radius:14px; padding:12px 14px 0; margin-bottom:14px; }

        /* Offer section on the page: headline + always-visible offer pipeline + expandable offer list */
        .offer-box { position:relative; overflow:hidden; margin-bottom:20px; border-radius:18px; border:1.5px solid #e8b04a; background:linear-gradient(135deg,#4a0d1f 0%,#2b0814 55%,#1c0510 100%); }
        .offer-box::before { content:''; position:absolute; right:-60px; top:-60px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle,rgba(250,204,21,.22) 0%,transparent 70%); pointer-events:none; }
        .offer-box-top { position:relative; padding:16px 18px 12px; }
        .offer-box-badge { display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,#fde68a,#f59e0b); color:#3b0f02; font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:999px; }
        .offer-box-title { margin:10px 0 0; color:#fff7e0; font-weight:800; font-size:1.08rem; line-height:1.4; }
        .offer-box-pipeline { position:relative; margin:0 14px; padding:14px 14px 2px; background:#fffaf0; border-radius:14px; }
        .offer-box-toggle { width:100%; display:flex; align-items:center; justify-content:center; gap:6px; padding:12px; background:none; border:0; color:#fcd34d; font-weight:800; font-size:.88rem; cursor:pointer; font-family:inherit; }
        .offer-box-toggle svg { transition:transform .3s; }
        .offer-box.is-open .offer-box-toggle svg { transform:rotate(180deg); }
        .offer-box-body { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
        .offer-box.is-open .offer-box-body { grid-template-rows:1fr; }
        .offer-box-inner { overflow:hidden; min-height:0; }
        .offer-box-content { padding:0 14px 14px; }
        .offer-box-list { display:grid; gap:8px; }
        .offer-row { display:flex; align-items:center; gap:12px; width:100%; padding:10px 12px; background:#fff; border:1.5px solid #f1e4cc; border-radius:12px; cursor:pointer; font-family:inherit; text-align:left; transition:border-color .2s, transform .2s; }
        .offer-row:hover { border-color:#f59e0b; transform:translateY(-1px); }
        .offer-row-qty { flex-shrink:0; min-width:64px; text-align:center; background:#7c2d12; color:#fff; font-weight:900; font-size:.8rem; border-radius:8px; padding:6px 8px; }
        .offer-row-text { flex:1; min-width:0; font-weight:800; color:#1f2937; font-size:.95rem; }
        .offer-row-text small { display:block; color:#6b7280; font-weight:600; font-size:.78rem; }
        .offer-row-cta { flex-shrink:0; color:#c2410c; font-weight:800; font-size:.82rem; }
        .offer-tier { display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px dashed #e5e7eb; }
        .offer-tier:last-child { border-bottom:0; }
        .offer-tier-qty { flex-shrink:0; min-width:54px; text-align:center; background:#7c2d12; color:#fff; font-weight:900; font-size:.85rem; border-radius:8px; padding:6px 8px; }
        .offer-tier-text { flex:1; font-weight:800; color:#1f2937; font-size:.98rem; }
        .offer-tier-text small { display:block; color:#6b7280; font-weight:600; font-size:.8rem; }
        .offer-tier--next { background:#fffbeb; margin:0 -16px; padding:11px 16px; }
        .offer-tier--next .offer-tier-qty { background:linear-gradient(135deg,#f59e0b,#c2410c); }
        .offer-unlock-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
        .offer-unlock-btn { border:0; border-radius:999px; padding:13px 14px; font-weight:900; font-size:.95rem; cursor:pointer; font-family:inherit; }
        .offer-unlock-btn--primary { background:linear-gradient(135deg,#fde047,#f59e0b); color:#3b0f02; }
        .offer-unlock-btn--ghost { background:rgba(255,255,255,.12); color:#fff; border:1.5px solid rgba(255,255,255,.45); }
        @media (max-width:480px) {
            .offer-unlock-actions { grid-template-columns:1fr; }
            .offer-pop-card { padding:26px 14px 18px; }
            .offer-pop-title { font-size:1.25rem; }
            .offer-pack { flex-wrap:wrap; padding:12px; }
            .offer-pack-cta { width:100%; text-align:center; }
            .offer-ladder-step { width:70px; }
            .offer-pop-card.offer-mini { padding:24px 16px 14px; }
            .offer-mini-title { font-size:1.2rem; }
            .offer-ladder-track { margin-left:28px; margin-right:32px; }
            .offer-ladder-dot { width:34px; height:34px; font-size:.85rem; }
            .offer-ladder-step { top:-13px; }
            .offer-ladder-label strong { font-size:.76rem; }
            .offer-box-top { padding:14px 14px 10px; }
            .offer-box-title { font-size:.98rem; }
            .offer-box-pipeline, .offer-box-content { margin-left:10px; margin-right:10px; }
            .offer-box-pipeline { padding:12px 10px 0; }
            .offer-box-content { padding:0 0 12px; }
            .offer-row { padding:9px 10px; gap:10px; }
            .offer-row-qty { min-width:56px; font-size:.74rem; }
            .offer-row-text { font-size:.88rem; }
            .offer-ladder-label small { font-size:.64rem; }
        }
        @media (prefers-reduced-motion: reduce) {
            .offer-pop-diya, .offer-pop-badge, .offer-unlock-emoji, .offer-next, .offer-next::after, .offer-mini-emoji, .offer-mini-next, .offer-ladder-step.is-next .offer-ladder-dot::after { animation:none; }
        }
    