/* Bússola de Marketing Farmer: estilos isolados dentro de .bf-app */
.bf-app{--bg:#f5f2f8; --surface:#ffffff; --surface-2:#f0ebf6; --ink:#2b1a2a; --muted:#6f5f72; --line:#e2d9ea;
  --plum:#43263f; --purple:#6235c9; --purple-soft:#ebe3fb; --green:#24986a; --green-soft:#dcf3e9; --warn:#b4542e; --warn-soft:#fbe8df; --on-accent:#ffffff;
  --band:#43263f; --band-ink:#ffffff;
  --display:"Nunito","Varela Round",ui-rounded,system-ui,sans-serif;
  --body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;}
.bf-app *{box-sizing:border-box}
.bf-app{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55}
.bf-app .wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.bf-app .band{background:var(--band);color:var(--band-ink)}
.bf-app .band .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px;flex-wrap:wrap}
.bf-app .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:18px}
.bf-app .brand svg{width:30px;height:30px}
.bf-app .proto{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:4px 10px;opacity:.85}
.bf-app main .wrap{padding-block:28px 56px}
.bf-app .grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
@media (max-width:900px){.bf-app .grid{grid-template-columns:minmax(0,1fr)}}
.bf-app .panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;min-width:0}
@media (max-width:520px){.bf-app .panel{padding:20px}}
.bf-app .sticky{position:sticky;top:calc(env(safe-area-inset-top,0px) + 16px)}
@media (max-width:900px){.bf-app .sticky{position:static}}
.bf-app .eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.bf-app h1{font-family:var(--display);font-weight:900;font-size:clamp(28px,4vw,38px);line-height:1.1;margin:6px 0 10px;color:var(--plum);text-wrap:balance}
.bf-app h2{font-family:var(--display);font-weight:900;font-size:clamp(22px,3vw,28px);line-height:1.15;margin:0;color:var(--plum);text-wrap:balance}
.bf-app .lede{color:var(--muted);max-width:54ch;margin:0}
.bf-app .compass-box{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-top:18px}
.bf-app .compass{width:100%;max-width:360px;aspect-ratio:1;height:auto}
.bf-app .compass .lbl{font-family:var(--body);font-size:11px;font-weight:600;fill:var(--muted)}
.bf-app .compass .lbl.rec{fill:var(--ink);font-weight:700;font-size:12px}
.bf-app .compass .lbl.off{fill:var(--muted);opacity:.55}
.bf-app .compass .card{font-family:var(--display);font-weight:900;font-size:13px;fill:var(--muted);letter-spacing:.1em}
.bf-app .compass .sector{font-family:var(--body);font-size:9px;font-weight:700;letter-spacing:.14em;fill:var(--purple)}
.bf-app .compass .sector.s{fill:var(--muted)}
.bf-app #needle{transform-origin:170px 170px}
.bf-app .spin #needle{animation:spin 1.6s cubic-bezier(.2,.9,.25,1.12) both}
.bf-app .idle #needle{animation:idle 6s ease-in-out infinite}
@keyframes spin{from{transform:rotate(-520deg)}to{transform:rotate(0deg)}}
@keyframes idle{0%,100%{transform:rotate(-24deg)}50%{transform:rotate(28deg)}}
.bf-app .dial-labels{transition:opacity .6s .9s}
.bf-app .spin .dial-labels{animation:fade .8s .8s both}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.bf-app .spin #needle,.bf-app .idle #needle,.bf-app .spin .dial-labels{animation:none}}
.bf-app .legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--muted)}
.bf-app .legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.bf-app form{display:flex;flex-direction:column;gap:24px}
.bf-app .contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:640px){.bf-app .contact{grid-template-columns:minmax(0,1fr)}}
.bf-app .field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.bf-app .field input{width:100%;font:500 14px var(--body);color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:11px 12px}
.bf-app .field input:focus-visible{outline:3px solid var(--green);outline-offset:1px;border-color:var(--purple)}
.bf-app .field.err input{border-color:var(--warn)}
.bf-app fieldset{border:0;margin:0;padding:0;min-width:0}
.bf-app legend{font-weight:700;font-size:15px;margin-bottom:4px;padding:0;color:var(--ink)}
.bf-app .hint{font-size:12px;color:var(--muted);margin:0 0 10px}
.bf-app .qnum{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--purple);color:var(--on-accent);font-family:var(--display);font-weight:900;font-size:13px;margin-right:8px;vertical-align:1px}
.bf-app .opts{display:flex;flex-wrap:wrap;gap:8px}
.bf-app .opt{position:relative}
.bf-app .opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.bf-app .opt span{display:block;padding:9px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:13.5px;font-weight:500;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.bf-app .opt span small{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.bf-app .opt:hover span{border-color:var(--purple)}
.bf-app .opt input:checked + span{background:var(--purple);border-color:var(--purple);color:var(--on-accent);font-weight:600}
.bf-app .opt input:checked + span small{color:var(--on-accent);opacity:.85}
.bf-app .opt input:focus-visible + span{outline:3px solid var(--green);outline-offset:2px}
.bf-app .opt.check input:checked + span::before{content:"✓ ";font-weight:700}
.bf-app .example{font-size:12px;color:var(--purple);background:var(--purple-soft);border-radius:10px;padding:8px 12px}
.bf-app .btn{appearance:none;border:0;border-radius:12px;padding:14px 22px;font:700 15px var(--body);background:var(--green);color:#0c241a;cursor:pointer;align-self:flex-start}
.bf-app .btn:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
.bf-app .btn.ghost{background:transparent;color:var(--purple);border:1.5px solid var(--purple);padding:10px 16px;font-size:13px}
.bf-app .formerr{color:var(--warn);font-size:13px;font-weight:600;min-height:1em;margin:0}
.bf-app .stage{display:inline-flex;gap:6px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);background:var(--purple-soft);padding:4px 10px;border-radius:999px}
.bf-app .funnel{display:flex;gap:4px;margin:14px 0 4px;flex-wrap:wrap}
.bf-app .funnel span{font-size:11px;font-weight:600;padding:4px 9px;border-radius:8px;background:var(--surface-2);color:var(--muted)}
.bf-app .funnel span.on{background:var(--purple);color:var(--on-accent)}
.bf-app .why{margin:10px 0 0;color:var(--muted);font-size:14px;max-width:60ch}
.bf-app .section{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.bf-app .section h3{margin:0;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bf-app .step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:14px 16px;border-radius:14px;background:var(--surface-2)}
.bf-app .step.first{background:var(--purple-soft)}
.bf-app .rank{font-family:var(--display);font-weight:900;font-size:22px;color:var(--purple);width:24px;text-align:center;grid-row:span 3}
.bf-app .step h4{margin:0;font-size:15.5px;font-weight:700;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bf-app .grp{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px}
.bf-app .step p{margin:0;font-size:13px;color:var(--muted)}
.bf-app .step ul{margin:4px 0 0;padding-left:18px;font-size:13px}
.bf-app .cost{font-size:12px;font-weight:600;margin-top:6px;font-variant-numeric:tabular-nums}
.bf-app .cost.paid{color:var(--purple)}
.bf-app .cost.free{color:var(--green)}
.bf-app .budget{border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.bf-app .split{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--surface-2)}
.bf-app .split .m{background:var(--purple)}
.bf-app .split .e{background:var(--green)}
.bf-app .rows{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;font-size:13.5px;font-variant-numeric:tabular-nums}
.bf-app .rows b{font-family:var(--display);font-weight:900}
.bf-app .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
.bf-app .small{font-size:12px;color:var(--muted);margin:0}
.bf-app .later{display:flex;flex-wrap:wrap;gap:6px}
.bf-app .later span{font-size:12.5px;padding:5px 10px;border-radius:10px;background:var(--surface-2);color:var(--muted)}
.bf-app .note{font-size:13px;background:var(--warn-soft);color:var(--ink);border-radius:12px;padding:10px 14px}
.bf-app .note b{color:var(--warn)}
.bf-app .cta{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:16px;background:var(--plum);color:var(--bg);margin-top:22px}
.bf-app .cta strong{font-family:var(--display);font-size:19px;font-weight:900;text-wrap:balance}
.bf-app .cta p{margin:0;font-size:14px}
.bf-app .cta ul{margin:0;padding-left:18px;font-size:14px}
.bf-app .toast{font-size:12px;opacity:.85;min-height:1em}
.bf-app .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.bf-app details.logic{border-top:1px dashed var(--line);padding-top:14px;margin-top:22px}
.bf-app details.logic summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--purple);list-style:none}
.bf-app details.logic summary::-webkit-details-marker{display:none}
.bf-app details.logic summary::before{content:"+ "}
.bf-app details.logic[open] summary::before{content:"− "}
.bf-app .logic h5{margin:16px 0 6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bf-app .bars{display:flex;flex-direction:column;gap:5px}
.bf-app .bar{display:grid;grid-template-columns:92px minmax(0,1fr) 30px;gap:8px;align-items:center;font-size:12px}
.bf-app .bar .track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.bf-app .bar .fill{height:100%;border-radius:999px;background:var(--muted)}
.bf-app .bar.top .fill{background:var(--purple)}
.bf-app .bar.out{opacity:.5}
.bf-app .bar .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}
.bf-app .reasons{margin:0;padding-left:18px;font-size:12px;color:var(--muted)}
.bf-app pre.rd{margin:0;font-size:11.5px;background:var(--surface-2);border-radius:10px;padding:12px;overflow-x:auto;color:var(--ink)}
.bf-app [hidden]{display:none!important}
.bf-app .cond{margin-top:12px;max-width:320px}
.bf-app .cond[hidden]{display:none!important}
.bf-app .summary{margin-top:18px;border-top:1px dashed var(--line);padding-top:14px;width:100%;text-align:left}
.bf-app .summary h3{margin:0 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bf-app .summary dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:13px}
.bf-app .summary dt{color:var(--muted)}
.bf-app .summary dd{margin:0;font-weight:600}
.bf-app .alert{border-radius:12px;padding:12px 14px;font-size:13.5px;display:flex;flex-direction:column;gap:2px}
.bf-app .alert b{font-size:14px}
.bf-app .alert.base{background:var(--warn-soft)}
.bf-app .alert.base b{color:var(--warn)}
.bf-app .alert.etapa{background:var(--purple-soft)}
.bf-app .alert.etapa b{color:var(--purple)}
.bf-app .alert.info{background:var(--surface-2)}
.bf-app .alert.info b{color:var(--ink)}
.bf-app .new{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-accent);background:var(--purple);border-radius:999px;padding:1px 7px}
.bf-app .done{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0c241a;background:var(--green);border-radius:999px;padding:1px 7px}
.bf-app .step.ja{background:var(--green-soft)}
.bf-app .step.ja .rank{color:var(--green)}
.bf-app .cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:560px){.bf-app .cmp{grid-template-columns:minmax(0,1fr)}}
.bf-app .opt-card{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
.bf-app .opt-card.hl{border-color:var(--purple);border-width:2px}
.bf-app .opt-card h4{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bf-app .opt-card .big{font-family:var(--display);font-weight:900;font-size:24px;color:var(--plum);font-variant-numeric:tabular-nums}
.bf-app .opt-card .big small{font-size:12px;font-family:var(--body);font-weight:600;color:var(--muted)}
.bf-app .ex{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn);border:1px solid var(--warn);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:2px}
.bf-app .why-off{margin:6px 0 0;padding-left:18px;font-size:12.5px;color:var(--muted)}
.bf-app .wiz-top{display:flex;flex-direction:column;gap:8px}
.bf-app .wiz-count{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--purple)}
.bf-app .wiz-bar{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}
.bf-app .wiz-bar i{display:block;height:100%;width:0;background:var(--purple);border-radius:999px;transition:width .35s ease}
.bf-app #bf-form.wiz fieldset{min-height:220px;animation:stepin .35s ease both}
.bf-app #bf-form.wiz legend{font-family:var(--display);font-weight:900;font-size:clamp(20px,2.6vw,24px);line-height:1.2;color:var(--plum);margin-bottom:8px;text-wrap:balance}
.bf-app #bf-form.wiz .qnum{display:none}
.bf-app #bf-form.wiz .opts{flex-direction:column;align-items:stretch}
.bf-app #bf-form.wiz .opt span{padding:13px 16px;font-size:14.5px}
.bf-app #bf-form.wiz .step-contact .contact{grid-template-columns:minmax(0,1fr)}
.bf-app .wiz-nav{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.bf-app .wiz-nav .btn{align-self:auto}
@media (max-width:900px){.bf-app .compass.idle{max-width:150px}}
@keyframes stepin{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bf-app #bf-form.wiz fieldset{animation:none}
.bf-app .wiz-bar i{transition:none}}

.bf-app{display:block;margin:0 auto;padding-block:24px;line-height:1.55;-webkit-font-smoothing:antialiased}
.bf-app [hidden]{display:none!important}
.bf-app button{text-transform:none;letter-spacing:normal;line-height:1.2;box-shadow:none;min-height:0;width:auto}
.bf-app input{box-shadow:none;margin:0;max-width:100%}
.bf-app input[type=radio],.bf-app input[type=checkbox]{width:auto}
.bf-app h1,.bf-app h2,.bf-app h3,.bf-app h4,.bf-app h5{letter-spacing:normal;text-transform:none}
.bf-app ul,.bf-app ol{margin-left:0}
.bf-app .consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted)}
.bf-app .consent input{margin-top:3px;flex:none}
.bf-app .consent a{color:var(--purple)}
.bf-app .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bf-app a.btn{text-decoration:none;display:inline-block}

/* Responde à largura da área de conteúdo do tema, não só à da tela */
.bf-app{container-type:inline-size;container-name:bfapp}
@container bfapp (max-width:900px){.bf-app .grid{grid-template-columns:minmax(0,1fr)}}
@container bfapp (max-width:520px){.bf-app .panel{padding:20px}}
@container bfapp (max-width:900px){.bf-app .sticky{position:static}}
@container bfapp (max-width:640px){.bf-app .contact{grid-template-columns:minmax(0,1fr)}}
@container bfapp (max-width:560px){.bf-app .cmp{grid-template-columns:minmax(0,1fr)}}
@container bfapp (max-width:900px){.bf-app .compass.idle{max-width:150px}}
