/* Scoreapps 2.0 Partner landing v3 — extends partner-scoreapps-2.css */

/* Launch offer badge + hero */
.hero-v3 { min-height: auto; padding: 132px 0 72px; }
.hero-v3 .hero-copy { max-width: 1040px; margin-inline: auto; text-align: center; }
.launch-badge {
    display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px;
    margin: 0 auto 26px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; padding: 9px 18px 9px 12px;
    background: linear-gradient(120deg, rgba(255,55,199,.16), rgba(63,124,255,.16));
    color: #fff; font-size: .9rem; font-weight: 800; line-height: 1.3; text-decoration: none;
}
.launch-badge:hover { border-color: rgba(255,255,255,.34); }
.launch-badge .launch-flag { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; background: var(--pink); color: #fff; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.launch-badge .launch-left { color: #9fe8df; }
.launch-badge s { color: #b3bdd6; font-weight: 600; }
.hero-v3 h1 { max-width: 980px; margin-inline: auto; font-size: clamp(2.55rem, 5.6vw, 5rem); }
.hero-v3 h1 .no-pay { white-space: nowrap; background: linear-gradient(120deg, #7dffd8, #20c8bb); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.hero-sub { max-width: 780px; margin: 0 auto; color: #c9d1e6; font-size: clamp(1.05rem, 1.9vw, 1.32rem); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 30px; }
.hero-actions .button { min-width: 250px; }
.hero-actions .button-primary { font-size: 1.08rem; }
.hero-actions .launch-cta { width: auto; min-width: 340px; min-height: 64px; flex-direction: row; padding: 16px 36px; }
.button-whatsapp { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.06); color: #fff; }
.button-whatsapp:hover { background: rgba(255,255,255,.12); transform: translateY(-2px); }
.hero-micro { margin: 16px 0 0; color: #8c96ae; font-size: .84rem; font-weight: 650; }
.hero-micro strong { color: #7dffd8; }

/* Inline VSL */
.vsl { position: relative; max-width: 960px; margin: 46px auto 0; }
.vsl-player { position: relative; display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; padding: 0; background: #030711; box-shadow: 0 40px 100px rgba(0,0,0,.5), 0 0 55px rgba(63,124,255,.2); cursor: pointer; }
.vsl-player img, .vsl-player video { display: block; width: 100%; height: 100%; object-fit: cover; }
.vsl-player [data-video-main] { position: relative; z-index: 0; object-fit: contain; }
.vsl-cover-motion { position: absolute; inset: 0; z-index: 1; object-fit: cover; pointer-events: none; transition: opacity .18s ease, visibility .18s ease; }
.vsl-cover-motion[hidden], .vsl-player.is-playing .vsl-cover-motion { opacity: 0; visibility: hidden; }
.vsl-start { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; border: 0; padding: 0; color: #fff; background: linear-gradient(0deg, rgba(3,7,17,.35), transparent 60%); cursor: pointer; }
.vsl-start[hidden], .vsl-error[hidden], .vsl-cover-motion[hidden] { display: none; }
.vsl-start:focus-visible { outline: 3px solid #7dffd8; outline-offset: -5px; }
.vsl-error { text-align: center; color: #fff; }
.vsl-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vsl-player .play-button { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.vsl-caption { margin: 14px 0 0; color: #8c96ae; font-size: .82rem; text-align: center; }

/* Ask & done */
.ask { padding: 110px 0 100px; }
.ask .section-heading { margin-bottom: 44px; }
.ask-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: stretch; }
.screen { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: linear-gradient(145deg, rgba(27,35,66,.98), rgba(8,13,29,.98)); box-shadow: 0 40px 100px rgba(0,0,0,.5), 0 0 70px rgba(63,124,255,.17); }
.screen-top { display: flex; align-items: center; gap: 7px; height: 46px; border-bottom: 1px solid rgba(255,255,255,.08); padding: 0 16px; }
.screen-top i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.18); }
.screen-top span { margin-left: auto; color: #8aa2d8; font-size: .64rem; font-weight: 850; letter-spacing: .12em; }
.screen-body { padding: 22px; }
.screen-body h4 { margin: 0 0 14px; color: #fff; font-size: .9rem; font-weight: 850; }
.lead-row { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 11px 14px; margin-bottom: 8px; background: rgba(255,255,255,.035); opacity: 0; transform: translateY(8px); transition: opacity .5s ease, transform .5s ease; }
.lead-row.is-shown { opacity: 1; transform: none; }
.lead-row strong { color: #fff; font-size: .86rem; }
.lead-row small { display: block; color: #8c96ae; font-size: .72rem; }
.lead-tag { border-radius: 999px; padding: 4px 9px; font-size: .66rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.lead-tag.bad { background: rgba(255,55,199,.16); color: #ff9ae2; }
.lead-tag.seo { background: rgba(255,178,55,.16); color: #ffd28a; }
.lead-tag.ok { background: rgba(32,200,187,.16); color: #7dffd8; }
.screen-progress { margin-top: 16px; display: grid; gap: 8px; }
.screen-progress div { display: flex; justify-content: space-between; color: #aeb7cd; font-size: .78rem; opacity: 0; transition: opacity .5s ease; }
.screen-progress div.is-shown { opacity: 1; }
.screen-progress div b { color: #7dffd8; }
.phone { position: relative; max-width: 380px; margin: 0 auto; border: 1px solid rgba(255,255,255,.14); border-radius: 34px; padding: 14px; background: #0a0f1f; box-shadow: 0 40px 100px rgba(0,0,0,.5); }
.phone-top { display: flex; align-items: center; gap: 10px; padding: 6px 8px 14px; color: #fff; font-size: .82rem; font-weight: 800; }
.phone-top i { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #10a37f, #7dffd8); }
.phone-top small { display: block; color: #7dffd8; font-size: .66rem; font-weight: 650; }
.chat { display: grid; gap: 10px; min-height: 440px; padding: 4px 4px 8px; }
.msg { max-width: 88%; border-radius: 16px; padding: 10px 14px; font-size: .86rem; line-height: 1.45; opacity: 0; transform: translateY(10px); transition: opacity .45s ease, transform .45s ease; }
.msg.is-shown { opacity: 1; transform: none; }
.msg.user { justify-self: end; background: linear-gradient(120deg, #3f7cff, #655bf4); color: #fff; border-bottom-right-radius: 4px; }
.msg.ai { justify-self: start; background: rgba(255,255,255,.08); color: #e6ebfa; border-bottom-left-radius: 4px; }
.msg.ai b { color: #7dffd8; font-weight: 900; }
.msg.user::before { content: ""; display: inline-block; width: 13px; height: 13px; margin: 0 7px -1px 0; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 15a4 4 0 0 0 4-4V6a4 4 0 0 0-8 0v5a4 4 0 0 0 4 4Zm6-4a6 6 0 0 1-12 0H4a8 8 0 0 0 7 7.93V22h2v-3.07A8 8 0 0 0 20 11h-2Z'/></svg>") center/contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 15a4 4 0 0 0 4-4V6a4 4 0 0 0-8 0v5a4 4 0 0 0 4 4Zm6-4a6 6 0 0 1-12 0H4a8 8 0 0 0 7 7.93V22h2v-3.07A8 8 0 0 0 20 11h-2Z'/></svg>") center/contain no-repeat; opacity: .85; }
.ask-note { margin: 30px auto 0; max-width: 820px; color: #aeb7cd; font-size: .95rem; text-align: center; }
.ask-note strong { color: #fff; }

/* What it does */
.does { padding: 110px 0; }
.does-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.do-card { border: 1px solid var(--line); border-radius: 20px; padding: 28px; background: #fff; box-shadow: 0 18px 48px rgba(27,41,89,.06); }
.do-card .card-icon { display: inline-grid; place-items: center; min-width: 44px; height: 44px; margin-bottom: 18px; border-radius: 12px; padding: 0 10px; background: linear-gradient(135deg, var(--blue), var(--purple)); color: #fff; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.do-card h3 { margin: 0 0 10px; font-size: 1.22rem; font-weight: 900; letter-spacing: -.02em; }
.do-card p { margin: 0; color: var(--muted); font-size: .96rem; }
.do-card strong { display: block; margin-top: 14px; color: #1d5fe0; font-size: .84rem; }
.does-own { margin-top: 26px; border: 1px solid rgba(63,124,255,.25); border-radius: 20px; padding: 26px 30px; background: linear-gradient(120deg, rgba(63,124,255,.08), rgba(32,200,187,.08)); font-size: 1.02rem; }
.does-own strong { color: #11162a; }

/* Real projects slider */
.projects { padding: 110px 0; }
.projects .section-heading { margin-bottom: 44px; }
.projects-slider { position: relative; }
.projects-rail { display: flex; gap: 24px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; margin: -6px; padding: 6px; }
.projects-rail::-webkit-scrollbar { display: none; }
.projects-rail:focus-visible { outline: 3px solid #89aaff; outline-offset: 2px; border-radius: 28px; }
.project-slide { display: grid; flex: 0 0 100%; grid-template-columns: 1.15fr .85fr; gap: 36px; align-items: center; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 26px; padding: 24px; background: linear-gradient(145deg, rgba(27,35,66,.96), rgba(8,13,29,.98)); box-shadow: 0 40px 100px rgba(0,0,0,.45), 0 0 70px rgba(63,124,255,.14); }
.project-media { margin: 0; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 18px; background: #0a0f1f; }
.project-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.project-copy { padding-right: 12px; }
.project-kind { margin: 0 0 12px; color: #7dffd8; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.project-copy h3 { margin: 0 0 12px; color: #fff; font-size: clamp(1.35rem, 2.1vw, 1.8rem); font-weight: 900; letter-spacing: -.02em; line-height: 1.2; }
.project-text { margin: 0; color: #c9d1e6; font-size: .98rem; line-height: 1.6; }
.project-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.project-tags li { border: 1px solid rgba(255,255,255,.1); border-radius: 999px; padding: 6px 12px; background: rgba(255,255,255,.07); color: #e6ebfa; font-size: .76rem; font-weight: 800; }
.project-client { margin: 18px 0 0; color: #8c96ae; font-size: .8rem; font-weight: 700; }
.project-client b { color: #fff; }
.projects-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; }
.projects-nav button { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; padding: 0; background: rgba(255,255,255,.06); color: #fff; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.projects-nav button:hover { background: rgba(255,255,255,.15); transform: translateY(-1px); }
.projects-dots { display: flex; align-items: center; gap: 8px; }
.projects-dots button { width: 10px; height: 10px; border: 0; border-radius: 999px; padding: 0; background: rgba(255,255,255,.28); cursor: pointer; transition: width .25s ease, background .25s ease; }
.projects-dots button[aria-current="true"] { width: 30px; background: linear-gradient(90deg, #7dffd8, #3f7cff); }
.projects-count { min-width: 52px; color: #8c96ae; font-size: .82rem; font-weight: 800; text-align: center; font-variant-numeric: tabular-nums; }
.projects .centered-cta { margin-top: 44px; }

/* Earnings */
.earn { padding: 110px 0; }
.earn-shell { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.earn-card { border: 1px solid var(--line); border-radius: 22px; padding: 32px; background: #fff; box-shadow: 0 18px 48px rgba(27,41,89,.07); }
.earn-card h3 { margin: 0 0 6px; font-size: 1.15rem; }
.earn-card > p { margin: 0 0 20px; color: var(--muted); font-size: .9rem; }
.earn-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.earn-list li { display: grid; grid-template-columns: 1fr auto; gap: 8px; border-bottom: 1px solid var(--line); padding: 10px 0; font-size: .95rem; }
.earn-list li span:last-child { font-weight: 850; white-space: nowrap; }
.earn-list li small { display: block; color: var(--muted); font-size: .78rem; }
.earn-switch { display: inline-flex; gap: 6px; margin-bottom: 20px; border: 1px solid var(--line); border-radius: 999px; padding: 5px; background: #f1f4fb; }
.earn-switch button { border: 0; border-radius: 999px; padding: 9px 18px; background: transparent; color: var(--muted); font-size: .88rem; font-weight: 850; cursor: pointer; }
.earn-switch button.is-active { background: #fff; color: #11162a; box-shadow: 0 6px 18px rgba(27,41,89,.12); }
.earn-result { display: grid; gap: 12px; }
.earn-result div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.earn-result span { color: var(--muted); font-size: .92rem; }
.earn-result strong { font-size: 1.25rem; font-weight: 900; }
.earn-total { margin-top: 8px; border-top: 2px solid #11162a; padding-top: 14px; }
.earn-total strong { background: var(--gradient); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-size: 2.3rem; letter-spacing: -.04em; }
.earn-licence { margin-top: 18px; border-radius: 14px; padding: 14px 16px; background: rgba(32,200,187,.12); color: #0d6b62; font-size: .92rem; font-weight: 750; }
.earn-note { margin: 22px 0 0; color: var(--muted); font-size: .76rem; text-align: center; }

/* Guarantee (reuses .risk-guarantee from v2 css) */
.guarantee { padding: 110px 0; }
.guarantee .risk-guarantee { margin-top: 0; }
.risk-guarantee-copy .risk-plan-intro { margin: 0 0 16px; color: #fff; font-size: 1.08rem; font-weight: 850; }
.risk-plan { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 26px; padding: 0; list-style: none; }
.risk-plan li { display: grid; gap: 6px; align-content: start; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 16px 18px; background: rgba(255,255,255,.045); }
.risk-plan li span { color: #7dffd8; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.risk-plan li p { margin: 0; color: #dbe3f5; font-size: .9rem; font-weight: 650; line-height: 1.5; }

/* Proof */
.proof { padding: 100px 0; }
.proof .proof-strip { margin-bottom: 44px; border-radius: 18px; }
.proof .proof-grid div:first-child { border-left: 0; }
.proof .proof-grid div:last-child { border-right: 0; }

/* Offer stack */
.stack { padding: 110px 0; }
.stack .stack-why { max-width: 900px; font-size: clamp(1rem, 1.7vw, 1.15rem); }
.stack .stack-why strong { color: #fff; }
.stack-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; align-items: start; }
.stack-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.stack-list li { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 15px 18px; background: rgba(255,255,255,.045); color: #e6ebfa; font-size: .95rem; }
.stack-list li::before { content: "✓"; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 999px; background: linear-gradient(135deg, var(--blue), var(--cyan)); color: #fff; font-size: 12px; font-weight: 900; }
.stack-list li small { display: block; color: #8c96ae; font-size: .78rem; }
.stack-list li em { font-style: normal; color: #7dffd8; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.stack-list li.new { border-color: rgba(125,255,216,.35); }
.price-card { position: sticky; top: 110px; overflow: hidden; border: 1px solid rgba(142,184,255,.28); border-radius: 26px; padding: 34px; background: linear-gradient(145deg, #121c3b, #090f22); box-shadow: 0 36px 100px rgba(11,21,54,.4); }
.price-card .eyebrow { margin-bottom: 14px; }
.price-old { display: grid; gap: 4px; margin-bottom: 18px; color: #b3bdd6; font-size: .92rem; }
.price-old s { color: #8c96ae; }
.price-new { display: flex; align-items: baseline; gap: 10px; }
.price-new strong { background: linear-gradient(120deg, #7dffd8, #20c8bb); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; font-size: 4.2rem; font-weight: 950; letter-spacing: -.06em; line-height: .9; }
.price-new span { color: #fff; font-size: 1rem; font-weight: 800; }
.price-forever { margin: 10px 0 0; color: #fff; font-size: 1rem; font-weight: 850; }
.price-forever small { display: block; margin-top: 4px; color: #8c96ae; font-size: .8rem; font-weight: 600; }
.price-saving { display: inline-flex; margin-top: 16px; border-radius: 999px; padding: 6px 12px; background: rgba(255,55,199,.18); color: #ff9ae2; font-size: .74rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.price-card .button { width: 100%; margin-top: 24px; }
.price-card .price-note { margin: 12px 0 0; color: #7f8aa4; font-size: .74rem; text-align: center; }

/* Sticky mobile CTA */
.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1050; display: none; align-items: center; gap: 12px; border-top: 1px solid rgba(255,255,255,.14); padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(8,11,23,.96); backdrop-filter: blur(10px); transform: translateY(110%); transition: transform .3s ease; }
.sticky-cta.is-visible { transform: none; }
.sticky-cta div { flex: 1; min-width: 0; color: #fff; font-size: .78rem; line-height: 1.25; }
.sticky-cta div b { display: block; color: #7dffd8; font-size: .92rem; }
.sticky-cta .button { min-height: 46px; padding: 10px 16px; font-size: .88rem; white-space: nowrap; }
body.has-sticky .sa-whatsapp-widget { bottom: max(84px, calc(84px + env(safe-area-inset-bottom))); }

/* Responsive */
@media (max-width: 1080px) {
    .ask-grid, .earn-shell, .stack-grid { grid-template-columns: 1fr; }
    .project-slide { grid-template-columns: 1fr; gap: 22px; }
    .project-copy { padding-right: 0; }
    .price-card { position: static; }
    .does-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
    .hero-v3 { padding: 108px 0 56px; }
    .hero-v3 h1 { font-size: clamp(2.1rem, 9.4vw, 2.7rem); }
    .hero-v3 h1 .no-pay { white-space: normal; }
    .launch-badge { font-size: .8rem; padding: 8px 12px; }
    .launch-badge s { display: none; }
    .hero-actions { flex-direction: column; align-items: stretch; margin-top: 22px; }
    .hero-actions .button { min-width: 0; width: 100%; }
    .vsl { margin-top: 32px; }
    .vsl-player { border-radius: 16px; }
    .ask, .does, .projects, .earn, .guarantee, .proof, .stack { padding: 72px 0; }
    .does-grid { grid-template-columns: 1fr; }
    .projects .section-heading { margin-bottom: 30px; }
    .projects-rail { gap: 14px; }
    .project-slide { gap: 16px; border-radius: 20px; padding: 12px 12px 20px; }
    .project-media { border-radius: 14px; }
    .project-copy { padding: 0 6px; }
    .project-copy h3 { font-size: 1.3rem; }
    .project-text { font-size: .93rem; }
    .projects-nav { gap: 12px; margin-top: 18px; }
    .projects-nav button { width: 42px; height: 42px; }
    .projects .centered-cta { margin-top: 32px; }
    .risk-plan { grid-template-columns: 1fr; }
    .screen { display: none; }
    .chat { min-height: 0; }
    .price-new strong { font-size: 3.4rem; }
    .earn-card { min-width: 0; padding: 24px 20px; }
    .earn-list li { grid-template-columns: 1fr; gap: 2px; }
    .earn-list li span:last-child { white-space: normal; }
    .stack-list li { grid-template-columns: auto 1fr; }
    .stack-list li em { grid-column: 2; }
    .sticky-cta { display: flex; }
    .proof .proof-grid { grid-template-columns: repeat(2, 1fr); }
    .proof .proof-grid div { border: 0; min-height: 90px; }
}

@media (prefers-reduced-motion: reduce) {
    .vsl-cover-motion { transition: none; }
    .msg, .lead-row, .screen-progress div { transition: none; opacity: 1; transform: none; }
    .sticky-cta { transition: none; }
    .projects-nav button, .projects-dots button { transition: none; }
}
