/* Academy — estilo iOS Core */
.theme-academy .header .logo small { color: var(--accent); font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; letter-spacing: .04em; }
.theme-academy .on-dark .tag { background: rgba(255,255,255,.1); color: #fff; box-shadow: none; }
.theme-academy .mark { color: #111111; }

.a-hero { padding: 80px 0 100px; background: radial-gradient(1200px 600px at 85% 20%, #FBE3EC 0%, transparent 60%), var(--bg); }
.a-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .a-hero-grid { grid-template-columns: 1fr; } }
.alunos-pill { display: inline-flex; align-items: center; gap: 12px; background: #fff; border-radius: 999px; padding: 8px 18px 8px 8px; box-shadow: 0 8px 24px rgba(0,0,0,.06); font-size: 15px; margin-top: 6px; }
.avatars { display: flex; }
.avatars i { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #fff; margin-left: -10px; background: linear-gradient(135deg, #F6C9DA, #E59AB9); }
.avatars i:first-child { margin-left: 0; }
.avatars i:nth-child(2) { background: linear-gradient(135deg, #FBE3EC, #F6C9DA); }
.avatars i:nth-child(3) { background: linear-gradient(135deg, #D7E8FF, #0A84FF); }
.avatars i:nth-child(4) { background: linear-gradient(135deg, #E5DDD5, #A68B7C); }

.a-stage { position: relative; min-height: 520px; }
.a-photo { position: absolute; inset: 20px 40px 20px 60px; border-radius: 28px; background: linear-gradient(170deg, #E9DFD6, #CDBBAE 55%, #A68B7C); box-shadow: 0 30px 60px rgba(0,0,0,.15); display: grid; place-items: center; color: rgba(255,255,255,.85); text-align: center; font-size: 14px; }
.a-stage .ios-notif { position: absolute; width: 300px; }
.a-stage .n1 { top: 50px; left: 0; transform: rotate(-2deg); }
.a-stage .n2 { top: 130px; right: 0; transform: rotate(1.5deg); }
.a-stage .b1 { position: absolute; bottom: 120px; left: 20px; box-shadow: 0 10px 24px rgba(0,0,0,.1); }
.a-stage .b2 { position: absolute; bottom: 60px; right: 10px; box-shadow: 0 10px 24px rgba(0,0,0,.1); }
@media (max-width: 520px) { .a-stage { min-height: 460px; } .a-stage .ios-notif { width: 260px; } .a-photo { inset: 20px 10px; } }

.theme-academy .marquee { background: var(--accent-soft); color: #111111; }

.phones { display: flex; justify-content: center; align-items: center; gap: 28px; margin-top: 56px; flex-wrap: wrap; }
.phone.tall { transform: translateY(-24px) scale(1.06); }
@media (max-width: 960px) { .phones { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding: 30px 8px; scroll-snap-type: x mandatory; } .phone { scroll-snap-align: center; } .phone.tall { transform: none; } }
.saved { display: inline-block; background: #fff; color: #111111; border-radius: 12px; padding: 8px 14px; font-weight: 700; font-size: 14px; transform: rotate(-3deg); box-shadow: 0 8px 20px rgba(0,0,0,.2); }

.roteiro { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .roteiro { grid-template-columns: 1fr; } }
.roteiro .ios-note { transform: rotate(1.5deg); padding: 26px 28px; }
.roteiro .ios-note ol { padding-left: 20px; margin: 0; }
.roteiro .ios-note li { margin: 10px 0; }

.ladder { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 48px; align-items: stretch; }
@media (max-width: 1060px) { .ladder { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ladder { grid-template-columns: 1fr; } }
.step { background: #fff; border-radius: var(--radius); padding: 24px 20px; text-decoration: none; display: flex; flex-direction: column; border: 1.5px dashed rgba(0,0,0,.1); position: relative; transition: transform .2s; }
.step:hover { transform: translateY(-4px); }
.step .pr { font-weight: 800; font-size: 26px; letter-spacing: -0.03em; margin-bottom: 10px; }
.step h3 { font-size: 18px; }
.step p { font-size: 14px; color: var(--muted); }
.step .go { margin-top: auto; font-weight: 700; color: var(--accent); font-size: 14px; }
.step.star { background: #111111; color: #fff; border: 0; box-shadow: 0 20px 40px rgba(232,98,143,.35); }
.step.star p { color: #C7C7CC; }
.step.star .go { color: var(--accent-soft); }
.badge { position: absolute; top: -12px; left: 20px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 999px; }

.founder-a { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .founder-a { grid-template-columns: 1fr; } }
.numbers { display: grid; gap: 14px; }
.numbers div { background: rgba(255,255,255,.07); border-radius: 18px; padding: 20px 22px; }
.numbers b { display: block; font-size: 40px; font-weight: 800; letter-spacing: -0.03em; color: var(--accent-soft); }
.numbers div > span { font-size: 14px; color: #C7C7CC; }

.final { background: linear-gradient(180deg, var(--bg), #FBE3EC); }

/* Página SFA */
.sfa-hero { padding: 80px 0 90px; text-align: center; background: radial-gradient(900px 500px at 50% 0%, #FBE3EC, transparent 70%), var(--bg); }
.sfa-hero h1 { max-width: 900px; margin-inline: auto; }
.stars { font-weight: 700; margin-top: 10px; }
.stars span { color: #F5A623; letter-spacing: 2px; }
.sfa-stats { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 40px; }
.sfa-stats div { background: #fff; border-radius: 18px; padding: 16px 24px; box-shadow: 0 8px 24px rgba(0,0,0,.06); min-width: 160px; }
.sfa-stats b { display: block; font-size: 34px; font-weight: 800; letter-spacing: -0.03em; }
.sfa-stats div > span { font-size: 13px; color: var(--muted); }
.sfa-stats .hl { background: #111111; color: #fff; }
.sfa-stats .hl span { color: #C7C7CC; }

.chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 36px; }
.chip { background: #fff; border-radius: 999px; padding: 12px 20px; font-weight: 700; box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.chip:nth-child(odd) { transform: rotate(-1.5deg); }
.chip:nth-child(even) { transform: rotate(1.5deg); background: var(--accent-soft); }

.forwho { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
@media (max-width: 900px) { .forwho { grid-template-columns: 1fr; } }
.forwho ul { list-style: none; padding: 0; margin: 0; }
.forwho li { padding: 14px 0 14px 36px; position: relative; border-bottom: 1px solid rgba(0,0,0,.08); }
.forwho li::before { content: "✓"; position: absolute; left: 0; top: 13px; width: 24px; height: 24px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 13px; display: grid; place-items: center; font-weight: 800; }
.chatbox { background: #fff; border-radius: 28px; padding: 24px; box-shadow: 0 20px 50px rgba(0,0,0,.08); display: flex; flex-direction: column; gap: 10px; }
.chatbox .who { text-align: center; font-size: 12px; color: #8E8E93; margin-bottom: 6px; }

.phases { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 44px; counter-reset: ph; }
@media (max-width: 900px) { .phases { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) { .phases { grid-template-columns: repeat(2, 1fr); } }
.phases div { background: rgba(255,255,255,.08); border-radius: 18px; padding: 20px 16px; text-align: center; font-weight: 700; }
.phases div::before { counter-increment: ph; content: "0" counter(ph); display: block; font-size: 13px; color: var(--accent-soft); margin-bottom: 6px; font-weight: 600; }

.modules { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 720px) { .modules { grid-template-columns: 1fr; } }
.modules div { background: #fff; border-radius: 16px; padding: 16px 18px; display: flex; gap: 14px; align-items: center; font-weight: 600; border: 1.5px dashed rgba(0,0,0,.08); }
.modules span { width: 34px; height: 34px; border-radius: 10px; background: var(--accent-soft); display: grid; place-items: center; font-size: 13px; font-weight: 800; flex: none; }

.aff { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
@media (max-width: 900px) { .aff { grid-template-columns: 1fr; } }
.big85 { font-size: clamp(90px, 16vw, 180px); font-weight: 800; letter-spacing: -0.06em; line-height: .9; color: var(--accent); }
.aff .poll { width: 100%; max-width: 320px; }

.price-wrap { display: grid; place-items: center; }
.price { background: #fff; border-radius: 32px; padding: 40px 36px; max-width: 520px; width: 100%; box-shadow: 0 30px 70px rgba(232,98,143,.25); text-align: center; position: relative; }
.price .old { text-decoration: line-through; color: #8E8E93; font-size: 22px; font-weight: 700; }
.price .now { font-size: 84px; font-weight: 800; letter-spacing: -0.05em; line-height: 1; margin: 6px 0; }
.price .save { display: inline-block; background: var(--accent-2); border-radius: 8px; padding: 4px 12px; font-weight: 700; font-size: 14px; transform: rotate(-2deg); }
.price ul { text-align: left; list-style: none; padding: 0; margin: 28px 0; }
.price li { padding: 9px 0 9px 32px; position: relative; border-bottom: 1px solid rgba(0,0,0,.06); }
.price li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 800; }
.price .btn { width: 100%; font-size: 18px; padding: 20px; }
.price .fine { font-size: 13px; color: var(--muted); margin-top: 14px; }
.price .cdbox { display: flex; justify-content: center; gap: 8px; margin: 18px 0 0; }
.price .cdbox div { background: #F2F2F7; border-radius: 12px; padding: 8px 10px; min-width: 62px; }
.price .cdbox b { display: block; font-size: 24px; font-weight: 800; }
.price .cdbox span { font-size: 11px; color: #8E8E93; text-transform: uppercase; letter-spacing: .06em; }

.bonus .card { text-align: left; }
.disclaimer { font-size: 13px; color: var(--muted); text-align: center; max-width: 640px; margin: 28px auto 0; }
.on-dark .disclaimer { color: #8E8E93; }

/* v2 — fotos reais e 161 em destaque */
.big-alunos { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; background: #fff; border-radius: 24px; padding: 14px 24px 14px 18px; box-shadow: 0 14px 34px rgba(232,98,143,.18); margin-top: 8px; max-width: 520px; }
.big-alunos b { font-size: clamp(64px, 9vw, 96px); font-weight: 800; letter-spacing: -0.06em; line-height: .9; color: var(--accent); }
.big-alunos span { font-weight: 700; font-size: 17px; line-height: 1.3; flex: 1; min-width: 160px; }
.a-photo { overflow: hidden; }
.a-photo img { width: 100%; height: 100%; object-fit: cover; }
.dms { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 48px; align-items: start; }
@media (max-width: 900px) { .dms { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .dms { grid-template-columns: 1fr; } }
.dms figure, .proof figure { margin: 0; background: #fff; border-radius: 22px; padding: 12px; box-shadow: 0 14px 34px rgba(0,0,0,.08); }
.dms figure:nth-child(odd) { transform: rotate(-1.5deg); }
.dms figure:nth-child(even) { transform: rotate(1.5deg) translateY(16px); }
.dms img, .proof img { width: 100%; border-radius: 14px; }
.proof { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 48px; }
@media (max-width: 720px) { .proof { grid-template-columns: 1fr; } }
.ig-sec { background: linear-gradient(180deg, var(--bg), #FBE3EC 60%, var(--bg)); }
.ig-grid { display: grid; grid-template-columns: auto 1fr; gap: 64px; align-items: center; }
.ig-grid .phone { transform: rotate(-3deg); }
@media (max-width: 800px) { .ig-grid { grid-template-columns: 1fr; justify-items: center; text-align: center; } .ig-grid .btns { justify-content: center; } }
.thumb { border-radius: 14px; overflow: hidden; aspect-ratio: 4/3; margin-bottom: 16px; background: #F2F2F7; }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.step .pr s { font-size: 15px; color: #8E8E93; font-weight: 600; margin-left: 4px; }
.step.star .pr s { color: #8E8E93; }
.founder-photo { width: 180px; height: 220px; object-fit: cover; border-radius: 22px; margin-bottom: 24px; transform: rotate(-2deg); box-shadow: 0 14px 34px rgba(0,0,0,.3); }
.sfa-hero-img { width: min(520px, 100%); border-radius: 28px; margin: 40px auto 0; box-shadow: 0 30px 60px rgba(0,0,0,.15); }
.sfa-stats .hl b { color: var(--accent-soft); }

/* ---------- Faceless Shop (layout original do facelessbymaria) ---------- */
.shop-hero, .shop-grid-sec, .pd { font-family: "Outfit", sans-serif; background: #F7F4EF; }
.shop-hero { padding: 72px 0 30px; background: radial-gradient(900px 400px at 0% 0%, #EFE9DE, transparent 60%), #F7F4EF; }
.shop-h { font-family: "Outfit", sans-serif; font-weight: 400; letter-spacing: -0.03em; font-size: clamp(44px, 7vw, 84px); line-height: 1.02; }
.shop-h b { font-weight: 700; }
.gpill { display: inline-block; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; padding: 9px 16px; border-radius: 999px; background: linear-gradient(90deg, #F1E3D3, #E4EBD5); margin-bottom: 22px; font-weight: 500; }
.cats { display: flex; gap: 14px; overflow-x: auto; padding: 18px 2px 8px; margin-top: 18px; scrollbar-width: none; }
.cat { flex: none; background: none; border: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 10px; font: 400 14px "Outfit", sans-serif; color: #6B6862; }
.cat span { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; font-size: 22px; background: #fff; box-shadow: inset 0 0 0 2px #E6E1D8; color: #111111; }
.cat.on { color: #111111; }
.cat.on span { box-shadow: inset 0 0 0 3px #C9B48E, 0 6px 16px rgba(0,0,0,.06); }
.shop-grid-sec { padding: 30px 0 90px; }
.pgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 960px) { .pgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .pgrid { grid-template-columns: 1fr; } }
.pcard { background: #FCFBF8; border: 1px solid #E9E4DA; border-radius: 26px; padding: 12px; text-decoration: none; color: #111111; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.pcard:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.08); }
.pimg { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 4/5; }
.pimg img, .pd-img img { width: 100%; height: 100%; object-fit: cover; }
.pbadge { position: absolute; top: 12px; left: 12px; background: rgba(240,235,222,.92); border-radius: 999px; padding: 5px 12px; font-size: 12px; }
.pover { position: absolute; inset: auto 0 0 0; padding: 70px 20px 22px; background: linear-gradient(transparent, rgba(0,0,0,.55)); color: #fff; }
.pover small { display: block; font-size: 12px; letter-spacing: .2em; opacity: .9; margin-bottom: 4px; }
.pover b { font-weight: 400; font-size: 24px; line-height: 1.2; letter-spacing: -0.01em; }
.pmeta { padding: 14px 10px 6px; display: flex; flex-direction: column; flex: 1; }
.pstars { font-size: 13px; color: #6B6862; }
.pstars em { font-style: normal; color: #111111; }
.pmeta p { color: #6B6862; font-size: 14px; margin: 6px 0 14px; }
.prow { display: flex; justify-content: space-between; align-items: baseline; margin-top: auto; }
.pprice { font-size: 26px; font-weight: 500; }
.pprice s, .pd-price s { font-size: 14px; color: #9A958C; margin-right: 8px; }
.pgo { font-size: 13px; letter-spacing: .12em; }
.pd { padding: 60px 0 40px; }
.pd-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: start; }
@media (max-width: 900px) { .pd-grid { grid-template-columns: 1fr; } }
.pd-img { position: sticky; top: 100px; border-radius: 26px; overflow: hidden; aspect-ratio: 4/5; }
@media (max-width: 900px) { .pd-img { position: relative; top: 0; } }
.back { display: block; width: fit-content; color: #8E8A82; text-decoration: none; margin-bottom: 18px; }
.pd-info .shop-h { font-size: clamp(40px, 5.5vw, 68px); }
.pd-sub { font-size: 24px; color: #8E8A82; font-weight: 300; margin: -6px 0 12px; }
.pd-price { margin: 20px 0 4px; }
.pd-price b { font-size: 64px; font-weight: 500; letter-spacing: -0.03em; }
.small { font-size: 14px; }
.btn-buy { width: 100%; background: #111111; color: #fff; font: 500 17px "Outfit", sans-serif; padding: 20px; margin: 14px 0 8px; }
.pd-info h3 { font-family: "Outfit", sans-serif; font-weight: 500; font-size: 22px; margin-top: 36px; }
.ticks { list-style: none; padding: 0; margin: 0; }
.ticks li { padding: 10px 0 10px 30px; position: relative; border-bottom: 1px solid #ECE7DD; }
.ticks li::before { content: "✓"; position: absolute; left: 0; color: #A88F5F; font-weight: 700; }
.peek { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 12px 0; }
.peek img { border-radius: 14px; box-shadow: 0 8px 20px rgba(0,0,0,.08); aspect-ratio: 3/4; object-fit: cover; }
.upsell { display: block; margin: 26px 0 0; padding: 18px 20px; border-radius: 18px; background: linear-gradient(90deg, #F1E3D3, #E4EBD5); text-decoration: none; color: #111111; font-weight: 500; }
.upsell small { display: block; font-size: 11px; letter-spacing: .2em; margin-bottom: 4px; }

/* ---------- Shop v2: equilíbrio entre o layout do Lovable e o branding iOS Core da Academy ---------- */
.shop-hero, .shop-grid-sec, .pd { font-family: "Plus Jakarta Sans", sans-serif; background: var(--bg); }
.shop-hero { background: radial-gradient(1000px 480px at 90% 0%, #FBE3EC 0%, transparent 60%), var(--bg); }
.shop-h { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 500; letter-spacing: -0.04em; }
.shop-h b { font-weight: 800; }
.shop-h b, .pd-info .shop-h { color: #111111; }
.gpill { background: linear-gradient(90deg, #F6C9DA, #FBE3EC); color: #111111; font-weight: 700; letter-spacing: .14em; box-shadow: 0 6px 18px rgba(232,98,143,.15); transform: rotate(-1.5deg); }
.cat { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 600; }
.cat span { box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04); }
.cat.on span { background: #111111; color: #fff; box-shadow: 0 0 0 3px #F6C9DA, 0 8px 18px rgba(232,98,143,.25); }
.pcard { background: #fff; border: 0; border-radius: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.05); }
.pcard:hover { box-shadow: 0 20px 44px rgba(232,98,143,.18); }
.pbadge { background: rgba(255,255,255,.9); backdrop-filter: blur(12px); font-weight: 600; color: #111111; box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.pover b { font-weight: 700; letter-spacing: -0.02em; }
.pover small { font-weight: 700; }
.pstars { color: #8E8E93; }
.pstars em, .pstars::first-letter { color: #111111; }
.pprice { font-weight: 800; letter-spacing: -0.03em; }
.pgo { font-weight: 800; color: var(--accent); }
.pd-price b { font-weight: 800; }
.pd-sub { font-weight: 500; }
.btn-buy { background: var(--accent); font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; box-shadow: 0 14px 30px rgba(232,98,143,.3); }
.pd-info h3 { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; letter-spacing: -0.02em; }
.ticks li { border-bottom-color: rgba(0,0,0,.07); }
.ticks li::before { content: "✓"; width: 20px; height: 20px; top: 11px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 11px; display: grid; place-items: center; }
.upsell { background: #111111; color: #fff; }
.upsell small { color: var(--accent-soft); }
.peek img { border-radius: 16px; }
.pd-notif { margin: 18px 0 0; max-width: 340px; }
@media (max-width: 900px) { .pd-img { aspect-ratio: 4/3; max-width: 640px; width: 100%; margin: 0 auto; } }
.sfa-hero h1 { font-size: clamp(40px, 6vw, 72px); }
.sfa-hero .lead { margin-inline: auto; }
.sfa-hero .btns { justify-content: center; }
.sfa-hero .alunos-pill { margin-inline: auto; }
.founder-a .founder-photo { width: 140px; height: 170px; }

/* Prints da Skool: computador + telemóvel */
.browser { max-width: 1000px; margin: 56px auto 0; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 40px 90px rgba(0,0,0,.45); }
.b-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; background: #F2F2F7; border-bottom: 1px solid #E5E5EA; }
.b-bar i { width: 11px; height: 11px; border-radius: 50%; background: #FF5F57; }
.b-bar i:nth-child(2) { background: #FEBC2E; } .b-bar i:nth-child(3) { background: #28C840; }
.b-bar span { margin: 0 auto; background: #fff; border-radius: 8px; padding: 5px 16px; font-size: 12px; color: #6E6E73; }
.browser img { width: 100%; display: block; }
.browser + .phones { margin-top: -90px; position: relative; }
.browser + .phones .phone { width: 220px; }
@media (max-width: 960px) { .browser + .phones { margin-top: 24px; } }

/* Comunidade: print do computador com efeito 3D */
.skool-stage { position: relative; max-width: 1040px; margin: 64px auto 0; perspective: 1600px; }
.skool-stage .browser { margin: 0; transform: rotateX(var(--rx, 18deg)) scale(var(--sc, .92)); transform-origin: 50% 0; transition: transform .15s linear; box-shadow: 0 60px 120px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06); }
.sk-glow { position: absolute; inset: 10% 8% -6%; background: radial-gradient(closest-side, rgba(232,98,143,.55), transparent); filter: blur(40px); z-index: -1; }
.sk-float { position: absolute; background: rgba(255,255,255,.95); color: #111111; border-radius: 18px; padding: 14px 18px; box-shadow: 0 20px 50px rgba(0,0,0,.35); display: flex; align-items: center; gap: 10px; font-size: 14px; animation: floaty 6s ease-in-out infinite; z-index: 2; }
.sk-float b { font-size: 26px; letter-spacing: -0.03em; color: #E59AB9; }
.sk-float.f1 { left: -28px; top: 34%; flex-direction: column; align-items: flex-start; gap: 0; }
.sk-float.f2 { right: -24px; top: 16%; animation-delay: -2s; }
.sk-float.f3 { right: 6%; bottom: -26px; animation-delay: -4s; max-width: 300px; line-height: 1.35; }
.sk-float.f3 b { font-size: 14px; color: #111111; }
@keyframes floaty { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (max-width: 900px) { .skool-stage .browser { transform: none; } .sk-float.f1 { left: 8px; top: auto; bottom: -30px; } .sk-float.f2 { right: 8px; top: -22px; } .sk-float.f3 { display: none; } }
@media (prefers-reduced-motion: reduce) { .sk-float { animation: none; } .skool-stage .browser { transform: none; } }
/* Afiliados 85% */
.aff-sec { background: linear-gradient(180deg, #fff, #FBE3EC); }
.aff-sec .big85 { font-size: clamp(110px, 18vw, 200px); line-height: .9; margin: 6px 0 10px; background: linear-gradient(135deg, #E59AB9, #EFAFC8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.aff-grid { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 16px; margin-top: 40px; }
@media (max-width: 900px) { .aff-grid { grid-template-columns: 1fr; } }
.aff-card, .aff-calc { background: #fff; border-radius: 24px; padding: 26px; box-shadow: 0 14px 40px rgba(232,98,143,.12); }
.aff-card span { font-size: 13px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.aff-card b { display: block; font-size: 46px; font-weight: 800; letter-spacing: -0.04em; margin: 6px 0; }
.aff-card em { font-style: normal; font-size: 15px; color: var(--muted); }
.aff-card em strong { color: #E59AB9; font-size: 20px; }
.aff-card.hl { background: #111111; color: #fff; }
.aff-card.hl em { color: #C7C7CC; }
.aff-calc label { font-weight: 700; font-size: 15px; display: block; margin-bottom: 14px; }
.aff-calc input { width: 100%; accent-color: #E59AB9; }
.aff-res { margin-top: 14px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.aff-res b { font-size: 44px; font-weight: 800; letter-spacing: -0.04em; color: #E59AB9; }
.aff-res small, .aff-res span { color: var(--muted); }
.aff-band { padding: 40px 0; }
.aff-band-in { background: #111111; color: #fff; border-radius: 32px; padding: 40px; display: grid; grid-template-columns: 1.4fr auto auto; gap: 30px; align-items: center; }
.aff-band-in .lead { color: #C7C7CC; margin: 0; }
.aff-band-in .tag { background: rgba(255,255,255,.1); color: #fff; box-shadow: none; }
.aff-mini b { display: block; font-size: 72px; font-weight: 800; letter-spacing: -0.05em; color: #F6C9DA; line-height: 1; }
.aff-mini span { color: #C7C7CC; font-size: 14px; }
@media (max-width: 900px) { .aff-band-in { grid-template-columns: 1fr; padding: 28px; } }
/* Banco de vídeos: página pública */
.vl-hero { padding: 70px 0 90px; overflow: hidden; }
.vl-g { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; } @media (max-width: 900px) { .vl-g { grid-template-columns: 1fr; } }
.vl-g > * { min-width: 0; }
.vl-phones { position: relative; height: 520px; }
.vl-ph { position: absolute; width: 210px; aspect-ratio: 9/19; border-radius: 34px; background: #111; padding: 8px; box-shadow: 0 40px 80px rgba(0,0,0,.25); animation: vfloat 6s ease-in-out infinite; }
.vl-ph i { display: block; width: 100%; height: 100%; border-radius: 27px; background: linear-gradient(160deg, #F9DCE6, #F1EDE7 60%, #F3EEE6); background-size: cover; background-position: center; }
.vl-ph:nth-child(1) { left: 6%; top: 50px; transform: rotate(-8deg); }
.vl-ph:nth-child(2) { left: 34%; top: 0; z-index: 2; animation-delay: -2s; }
.vl-ph:nth-child(3) { left: 62%; top: 60px; transform: rotate(8deg); animation-delay: -4s; }
.vl-ph video { display: block; width: 100%; height: 100%; border-radius: 27px; object-fit: cover; background: #222; }
.vl-ph:nth-child(2) i { background: linear-gradient(160deg, #F1EDE7, #F9DCE6 60%, #D7F0E5); background-size: cover; }
@keyframes vfloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -16px; } }
@media (max-width: 560px) { .vl-phones { height: 380px; } .vl-ph { width: 150px; } }
.vl-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 36px; } @media (max-width: 760px) { .vl-steps { grid-template-columns: 1fr; } }
.vl-steps > div { background: #fff; border-radius: 24px; padding: 28px; box-shadow: 0 12px 34px rgba(0,0,0,.06); }
.vl-steps b { font-size: 34px; opacity: .25; }
/* SFA: módulos em acordeão + 85% */
.mod-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; } @media (max-width: 800px) { .mod-list { grid-template-columns: 1fr; } }
.mod-acc { background: #fff; border-radius: 20px; box-shadow: 0 8px 26px rgba(0,0,0,.06); overflow: hidden; transition: box-shadow .25s; }
.mod-acc[open] { box-shadow: 0 16px 40px rgba(232,98,143,.16); }
.mod-acc summary { list-style: none; display: flex; gap: 14px; align-items: center; padding: 16px 18px; cursor: pointer; } .mod-acc summary::-webkit-details-marker { display: none; }
.mod-acc summary div { flex: 1; min-width: 0; } .mod-acc small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #E59AB9; }
.mod-acc b { display: block; font-size: 17px; } .mod-acc em { display: block; font-style: normal; font-size: 14px; color: var(--muted); line-height: 1.4; margin-top: 2px; }
.mod-pl { font-style: normal; font-size: 22px; color: #E59AB9; transition: transform .25s; } .mod-acc[open] .mod-pl { transform: rotate(45deg); }
.mod-acc ul { margin: 0; padding: 0 18px 16px 78px; list-style: none; } .mod-acc li { padding: 6px 0 6px 22px; position: relative; font-size: 15px; } .mod-acc li::before { content: "✓"; position: absolute; left: 0; color: #E59AB9; font-weight: 800; }
.mod-aff { display: block; margin: 0 18px 16px 78px; font-weight: 700; color: #E59AB9; }
@media (max-width: 520px) { .mod-acc ul, .mod-aff { padding-left: 18px; margin-left: 0; } .mod-aff { margin-left: 18px; } }
.pill85 { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; background: #fff; border-radius: 999px; padding: 8px 18px 8px 8px; text-decoration: none; color: var(--ink); box-shadow: 0 12px 30px rgba(232,98,143,.18); font-size: 14px; max-width: 100%; animation: p85 3s ease-in-out infinite; }
.pill85 .ios { width: 36px; height: 36px; border-radius: 11px; font-size: 17px; } .pill85 i { font-style: normal; font-weight: 800; color: #E59AB9; }
@keyframes p85 { 50% { box-shadow: 0 12px 30px rgba(232,98,143,.35); } }
.peek.peek-r { grid-template-columns: 1fr 1fr; } .peek.peek-r img { aspect-ratio: auto; object-fit: contain; background: #111111; width: 100%; border-radius: 16px; } .peek.peek-r img:first-child { grid-column: 1 / -1; }
.cam-sec { padding: 70px 0 40px; }
.cam-grid { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 18px; margin-top: 34px; align-items: stretch; } @media (max-width: 900px) { .cam-grid { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; } }
.cam { position: relative; display: flex; flex-direction: column; gap: 6px; background: #fff; border-radius: 28px; padding: 28px; text-decoration: none; color: #111111; box-shadow: 0 14px 40px rgba(0,0,0,.07); transition: transform .3s, box-shadow .3s; }
.cam:hover { transform: translateY(-6px); box-shadow: 0 26px 60px rgba(232,98,143,.18); }
.cam small { margin-top: 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8E8E93; } .cam h3 { font-size: 22px; margin: 2px 0; } .cam p { color: #6E6E73; margin: 0; flex: 1; font-size: 15px; }
.cam b { font-size: 26px; margin-top: 12px; } .cam b s { font-size: 16px; color: #8E8E93; font-weight: 600; } .cam i { font-style: normal; font-weight: 700; color: #E59AB9; }
.cam.hl { background: linear-gradient(160deg, #FFF, #FDF0F4); box-shadow: 0 0 0 2px #E59AB9, 0 24px 60px rgba(232,98,143,.22); }
.cam-badge { position: absolute; top: 18px; right: 18px; background: #E59AB9; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; }
