/* Partiu Futuro — matrícula em etapas, identidade 2026 */
:root{--pf-purple:#683df1;--pf-deep:#27165d;--pf-ink:#101633;--pf-muted:#66718e;--pf-line:#e9e3f5;--pf-paper:#fff;--pf-bg:#fbf9ff;--pf-yellow:#ffcf44}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.pf-enroll-page{margin:0;min-height:100vh;background:radial-gradient(ellipse 800px 420px at 3% 6%,#e9e1ff 0%,transparent 75%),radial-gradient(ellipse 700px 420px at 99% 77%,#e6fff5 0%,transparent 75%),#fcfaff;color:var(--pf-ink);font-family:'Nunito Sans',sans-serif}
.pf-enroll-page button,.pf-enroll-page input,.pf-enroll-page select{font:inherit}
.pf-enroll-page a{color:inherit}
.pf-enroll-shell{max-width:1160px;margin:0 auto;padding:18px clamp(18px,4vw,42px) 24px}
.pf-enroll-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e4dcf4;padding:5px 0 15px}
.pf-enroll-brand{display:inline-flex;align-items:center;width:160px;max-width:50%}
.pf-enroll-brand img{display:block;max-width:100%;max-height:64px;width:100%;height:auto;object-fit:contain}
.pf-enroll-back{font-size:13px;font-weight:900;text-decoration:none;color:#5633c3!important}
.pf-enroll-back:hover{text-decoration:underline}
.pf-enroll-intro{margin:38px 0 25px;max-width:710px}
.pf-enroll-eyebrow,.pf-enroll-section-tag{display:inline-flex;align-items:center;gap:8px;color:#673dd5;font:900 11px/1.35 'Nunito Sans',sans-serif;letter-spacing:.105em}
.pf-enroll-eyebrow>span{color:#efa900}
.pf-enroll-intro h1{font:900 clamp(33px,4vw,51px)/1.1 'Nunito Sans',Sora,sans-serif;letter-spacing:-.055em;color:#101633;margin:10px 0 9px}
.pf-enroll-dot{color:var(--pf-purple)}
.pf-enroll-intro p{margin:0;line-height:1.55;color:#65718b;font-weight:700;font-size:14px}
.pf-enroll-layout{display:grid;grid-template-columns:minmax(270px,.79fr) minmax(0,1.42fr);align-items:start;gap:23px}
.pf-enroll-card{border:1px solid #e8e0f7;border-radius:25px;background:#fff;box-shadow:0 13px 38px #2f165d0d;overflow:hidden}
.pf-enroll-course{position:sticky;top:20px}
.pf-enroll-course-top{position:relative;padding:27px 25px 26px;background:linear-gradient(138deg,#ede5ff,#f7f4ff 65%,#f0f9ff);border-bottom:1px solid #e8def9}
.pf-enroll-course-mark{position:absolute;right:20px;top:15px;font-size:35px;color:#d0baff}
.pf-enroll-course h2{font:900 clamp(24px,2.8vw,32px)/1.13 'Nunito Sans',sans-serif;letter-spacing:-.045em;margin:20px 0 18px;color:#1e1647;overflow-wrap:anywhere}
.pf-enroll-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.pf-enroll-tags span{background:#fff;border:1px solid #e4d8ff;border-radius:999px;color:#512bac;font-size:11px;font-weight:900;padding:8px 11px}
.pf-enroll-course-meta{margin:16px 0 0;color:#655979;font-size:12px;font-weight:750}
.pf-enroll-course-bottom{padding:25px}
.pf-enroll-muted{display:block;color:#6e6b87;font-size:11px;font-weight:900;letter-spacing:.02em}
.pf-enroll-price{font:900 clamp(30px,3vw,39px)/1.05 Sora,'Nunito Sans',sans-serif;color:#4b28c0;letter-spacing:-.065em;margin:8px 0 0;font-variant-numeric:tabular-nums}
.pf-enroll-price small{font:800 12px/1.25 'Nunito Sans',sans-serif;color:#7a7098;letter-spacing:0}
.pf-enroll-price--text{font-size:27px}
.pf-enroll-price-note{display:inline-block;margin-top:11px;padding:6px 9px;background:#fff3c9;border-radius:7px;font:900 11px 'Nunito Sans',sans-serif;color:#77530c}
.pf-enroll-disclaimer{font-size:12px;line-height:1.55;color:#68748d;margin:14px 0 20px}
.pf-enroll-free{display:flex;gap:9px;align-items:center;padding:13px;border-radius:11px;background:#effbf6;color:#196143;font-size:12px;font-weight:900}
.pf-enroll-free span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#0d9361;color:#fff;font-size:13px}
.pf-enroll-main{padding:0 28px 27px;min-height:520px}
.pf-enroll-steps{list-style:none;display:flex;margin:0 -28px 28px;padding:24px 25px;border-bottom:1px solid var(--pf-line);gap:9px;counter-reset:none}
.pf-enroll-steps li{flex:1;display:flex;align-items:center;gap:9px;font-weight:900;font-size:12px;color:#a19aaf;min-width:0}
.pf-enroll-steps li:not(:last-child):after{content:"";height:2px;background:#e8e1f5;flex:1;min-width:10px;margin-left:4px}
.pf-enroll-num{display:grid;place-items:center;width:33px;height:33px;border:1px solid #e2daf3;border-radius:50%;background:#f7f4fd;color:#817b9f;font:900 12px 'Nunito Sans',sans-serif;flex:none}
.pf-enroll-steps li[aria-current="step"]{color:#512dc4}
.pf-enroll-steps li[aria-current="step"] .pf-enroll-num{background:var(--pf-purple);color:#fff;border-color:var(--pf-purple);box-shadow:0 4px 13px #683df146}
.pf-enroll-steps li.is-complete .pf-enroll-num{background:#e9f8f1;border-color:#b6e8d0;color:#168154}
.pf-enroll-panel h2{font:900 clamp(23px,2.8vw,29px)/1.18 'Nunito Sans',sans-serif;color:var(--pf-ink);letter-spacing:-.04em;margin:11px 0 10px}
.pf-enroll-desc{font-size:13px;line-height:1.6;color:#64728b;font-weight:700;margin:0 0 23px}
.pf-enroll-choice{display:flex;align-items:center;gap:14px;padding:21px;border:1px solid #dacdf8;background:#faf8ff;border-radius:16px}
.pf-enroll-choice-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#ede5ff;color:#633bdd;font-size:19px;flex:none}
.pf-enroll-choice strong{display:block;color:#25164e;font-size:18px;line-height:1.3}
.pf-enroll-choice small{display:block;color:#675d83;margin-top:5px;font-size:12px;line-height:1.4}
.pf-enroll-change{display:inline-block;margin:17px 0 0;color:#6040d6!important;font:900 12px 'Nunito Sans',sans-serif;text-underline-offset:4px}
.pf-enroll-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pf-enroll-field-grid--place{grid-template-columns:minmax(100px,.4fr) minmax(0,1fr)}
.pf-enroll-field{margin-bottom:16px;min-width:0}
.pf-enroll-field label{display:block;margin:0 0 7px;color:#303053;font-size:12px;font-weight:900}
.pf-enroll-field label span{color:#f06575}
.pf-enroll-field input,.pf-enroll-field select{width:100%;min-height:49px;padding:12px 14px;background:#fff;border:1px solid #ddd7ed;border-radius:12px;outline:0;color:#222341;font-size:13px;font-weight:700;transition:border-color .2s,box-shadow .2s}
.pf-enroll-field input::placeholder{color:#a09aaf;font-weight:600}
.pf-enroll-field input:focus,.pf-enroll-field select:focus{border-color:var(--pf-purple);box-shadow:0 0 0 4px #683df121}
.pf-enroll-field select:disabled{background:#f7f5fc;color:#a4a0b0}
.pf-enroll-error{display:block;margin-top:6px;color:#af2641;font-weight:800;font-size:11px}
.pf-enroll-locale-title{font:900 14px 'Nunito Sans',sans-serif;color:#292043;padding:12px 0;border-top:1px solid #eee9f7;margin:5px 0 4px}
.pf-enroll-hint{display:block;font-size:11px;font-weight:650;line-height:1.6;color:#7d8196}
.pf-enroll-hint--center{text-align:center;margin:13px 0 0}
.pf-enroll-actions{display:flex;justify-content:flex-end;margin-top:25px;gap:10px}
.pf-enroll-actions--pair{justify-content:space-between}
.pf-enroll-primary,.pf-enroll-secondary{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:49px;padding:13px 20px;border:0;border-radius:13px;font:900 13px 'Nunito Sans',sans-serif;cursor:pointer;transition:transform .2s,background .2s;white-space:normal;text-align:center}
.pf-enroll-primary{background:#683df1;color:#fff;box-shadow:0 8px 17px #683df129}
.pf-enroll-primary:hover{background:#512dcc;transform:translateY(-1px)}
.pf-enroll-secondary{color:#5536be;background:#f0eafb}
.pf-enroll-secondary:hover{background:#e4d8ff}
.pf-enroll-primary:focus-visible,.pf-enroll-secondary:focus-visible,.pf-enroll-back:focus-visible,.pf-enroll-change:focus-visible{outline:3px solid #ffc92c;outline-offset:3px}
.pf-enroll-js-only{display:none}
.pf-enroll-ready .pf-enroll-js-only{display:inline-flex}
.pf-enroll-ready [data-pf-step]{display:none}
.pf-enroll-ready [data-pf-step].is-active{display:block;animation:pf-step-in .28s ease both}
@keyframes pf-step-in{from{opacity:.3;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.pf-enroll-review{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px;background:#f9f7ff;border:1px solid #ebe3f8;border-radius:15px;margin-bottom:19px}
.pf-enroll-review>div{min-width:0}
.pf-enroll-review>div:first-child,.pf-enroll-review>div:nth-child(2){grid-column:1/-1}
.pf-enroll-review small{display:block;color:#796c92;font-size:11px;font-weight:900;margin-bottom:3px}
.pf-enroll-review strong{display:block;color:#291d4e;font-size:13px;font-weight:900;overflow-wrap:anywhere}
.pf-enroll-consent{display:flex;align-items:flex-start;gap:12px;background:#fbfaff;border:1px solid #e9e2f7;padding:15px;border-radius:13px;margin:17px 0}
.pf-enroll-consent input{margin:3px 0 0;flex:none;width:18px;height:18px;accent-color:var(--pf-purple)}
.pf-enroll-consent label{font-size:12px;font-weight:650;color:#505572;line-height:1.6;cursor:pointer}
.pf-enroll-consent label strong{color:#362168}
.pf-enroll-alert{margin:0 0 18px;padding:12px 15px;border-radius:11px;background:#fff0f3;color:#9e2040;font-size:12px;line-height:1.5}
.pf-enroll-alert strong,.pf-enroll-alert span{display:block}
.pf-enroll-footer{padding:25px 0;color:#858298;font-size:11px;text-align:center;font-weight:700}
@media(max-width:860px){.pf-enroll-layout{grid-template-columns:1fr}.pf-enroll-course{position:static}.pf-enroll-course-top{padding:23px}.pf-enroll-course-bottom{padding:21px}.pf-enroll-course h2{font-size:27px}}
@media(max-width:580px){.pf-enroll-shell{padding:10px 15px 23px}.pf-enroll-header{padding-bottom:9px}.pf-enroll-brand{width:140px}.pf-enroll-intro{margin:26px 0 20px}.pf-enroll-layout{gap:16px}.pf-enroll-card{border-radius:19px}.pf-enroll-main{padding:0 18px 20px}.pf-enroll-steps{margin:0 -18px 23px;padding:16px 12px;gap:4px}.pf-enroll-steps li{font-size:10px;gap:5px}.pf-enroll-steps li:not(:last-child):after{margin-left:0;min-width:5px}.pf-enroll-num{width:29px;height:29px}.pf-enroll-field-grid{grid-template-columns:1fr;gap:0}.pf-enroll-field-grid--place{grid-template-columns:minmax(90px,.4fr) minmax(0,1fr);gap:10px}.pf-enroll-actions--pair .pf-enroll-primary{flex:1}.pf-enroll-primary,.pf-enroll-secondary{padding:12px;font-size:12px}.pf-enroll-review{grid-template-columns:1fr}.pf-enroll-review>div{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pf-enroll-ready [data-pf-step].is-active{animation:none}.pf-enroll-primary,.pf-enroll-secondary{transition:none}}

/* Página final — confirmação coerente com as três etapas */
.pf-enroll-success{max-width:720px;margin:56px auto 18px;padding:clamp(25px,4vw,52px);background:#fff;border:1px solid #e7dffa;border-radius:29px;box-shadow:0 16px 42px #31165b13;text-align:center}
.pf-enroll-success-icon{display:grid;place-items:center;width:67px;height:67px;margin:0 auto 20px;border-radius:22px;background:#e8fbf2;color:#139364;font-size:31px;font-weight:900}
.pf-enroll-success h1{margin:10px 0;color:#111733;font:900 clamp(31px,5vw,46px)/1.15 'Nunito Sans',sans-serif;letter-spacing:-.055em}
.pf-enroll-success-lead{margin:0 auto 24px;max-width:530px;color:#68738c;line-height:1.65;font-size:14px;font-weight:700}
.pf-enroll-success-course{text-align:left;border:1px solid #e7dcff;background:#faf8ff;border-radius:18px;padding:22px}
.pf-enroll-success-course>strong{display:block;font-size:22px;line-height:1.2;color:#211648;font-weight:900;margin:9px 0 8px}
.pf-enroll-success-course>span:not(.pf-enroll-section-tag),.pf-enroll-success-course>small{display:block;color:#675f83;font-size:12px;line-height:1.5;font-weight:750}
.pf-enroll-success-course>small{margin-top:9px;color:#4c2cc4;font-weight:900}
.pf-enroll-success-steps{text-align:left;display:grid;gap:15px;margin:24px 0}
.pf-enroll-success-steps>div{display:flex;align-items:center;gap:13px}
.pf-enroll-success-steps>div>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#efeaff;color:#5f39d3;font-size:13px;font-weight:900;flex:none}
.pf-enroll-success-steps>div:first-child>span{background:#e7f9f1;color:#0d9765}
.pf-enroll-success-steps strong,.pf-enroll-success-steps small{display:block}
.pf-enroll-success-steps strong{color:#29234c;font-size:13px;font-weight:900}
.pf-enroll-success-steps small{color:#7a7891;font-size:12px;margin-top:3px}
.pf-enroll-success-action{display:inline-flex;text-decoration:none;margin-top:23px}
