:root{
  --bg-0:#07070C; --bg-1:#0B0B14; --bg-2:#11121C;
  --ink-0:#F5F5FA; --ink-1:#E2E2EA; --ink-2:#A6A6B5; --ink-3:#9B9BA8; --ink-4:#8A8A99;
  --line-1:rgba(255,255,255,0.06); --line-2:rgba(255,255,255,0.10); --line-3:rgba(255,255,255,0.18);
  --alt-orange:#FA6800; --alt-pink:#FF9EF9;
  --alt-grad:linear-gradient(120deg,#FA6800 0%,#FF9EF9 100%);
  --env-bolsa:#38BDF8;
  --pos:#34D399; --neg:#FB7185; --warn:#FBBF24; --info:#38BDF8;
  --glass:rgba(255,255,255,0.025); --glass-hi:rgba(255,255,255,0.045); --glass-line:rgba(255,255,255,0.08);
  --display:"DM Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"DM Mono",ui-monospace,monospace;
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:26px;
  /* ativos */
  --c-altside:#FA6800; --c-imovel:#38BDF8; --c-rf:#34D399;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg-0);color:var(--ink-1);
  font-family:var(--display);line-height:1.5;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;position:relative;
}
/* blooms radiais de fundo */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(600px 400px at 12% -5%, rgba(250,104,0,.10), transparent 60%),
    radial-gradient(700px 500px at 100% 8%, rgba(255,158,249,.07), transparent 55%);
}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;
  background-image:radial-gradient(rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:3px 3px;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000,transparent 80%);
          mask-image:radial-gradient(ellipse at 50% 30%,#000,transparent 80%);}
.wrap{position:relative;z-index:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,5vw,24px)}

/* números sempre tabulares */
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* kicker: DM Mono caps + swatch luminoso */
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);
  font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.kicker .sw{width:11px;height:20px;border-radius:3px;background:var(--alt-grad);
  box-shadow:0 0 14px rgba(250,104,0,.5);flex:0 0 auto}
.kicker.k-imovel .sw{background:var(--c-imovel);box-shadow:0 0 14px rgba(56,189,248,.5)}
.kicker.k-rf .sw{background:var(--c-rf);box-shadow:0 0 14px rgba(52,211,153,.5)}

/* header */
header{padding:var(--s6) 0 var(--s3)}
.logo{display:flex;align-items:center}
.logo svg{height:22px;width:auto;display:block}

/* hero */
.hero{padding:var(--s8) 0 var(--s5);max-width:720px}
h1{font-family:var(--display);font-weight:700;font-size:clamp(32px,5.6vw,60px);
  line-height:.98;letter-spacing:-.045em;color:var(--ink-0)}
h1 .g{background:var(--alt-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .kicker{margin-bottom:var(--s5)}
.sub{margin-top:var(--s5);font-size:clamp(15px,2.2vw,18px);color:var(--ink-2);max-width:560px;line-height:1.55}

/* glass panel */
.panel{background:linear-gradient(180deg,var(--glass-hi),var(--glass));
  border:1px solid var(--glass-line);border-radius:var(--r-xl);
  padding:clamp(20px,4vw,32px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.stage{margin:var(--s7) 0 var(--s9)}
.step-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s6);gap:var(--s3);flex-wrap:wrap}
.step-title{font-size:clamp(18px,2.6vw,22px);font-weight:700;letter-spacing:-.03em;color:var(--ink-0)}
.step-count{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap}

.field{margin-bottom:var(--s5)}
.field:last-of-type{margin-bottom:0}
.field label{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:var(--s2)}
.field .hint{font-family:var(--mono);font-weight:400;color:var(--ink-4);font-size:11px;letter-spacing:.04em}
input,select{width:100%;background:rgba(0,0,0,.35);border:1px solid var(--line-2);border-radius:var(--r-md);
  padding:14px 15px;color:var(--ink-0);font-size:16px;font-family:var(--display);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus{outline:none;border-color:var(--alt-pink);box-shadow:0 0 0 3px rgba(255,158,249,.12)}
input::placeholder{color:var(--ink-4)}
input.num{font-family:var(--mono)}
select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A6A6B5' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.opt-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);
  border:1px solid var(--line-2);border-radius:5px;padding:2px 7px;margin-left:8px}

/* segmented (horizonte no form) */
.seg3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s2)}
.seg3 button{background:rgba(0,0,0,.35);border:1px solid var(--line-2);border-radius:var(--r-md);
  padding:16px 10px;min-height:52px;color:var(--ink-2);font-family:var(--display);font-size:14px;font-weight:500;cursor:pointer;transition:all .14s;text-align:center}
.seg3 button .t{display:block;font-weight:700;color:var(--ink-1)}
.seg3 button .d{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-top:3px}
.seg3 button.on{border-color:transparent;background:var(--alt-grad)}
.seg3 button.on .t,.seg3 button.on .d{color:#12060B}
.seg3 button.on .d{color:rgba(18,6,11,.7)}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
  background:var(--alt-grad);color:#12060B;border:none;border-radius:var(--r-md);padding:16px;
  font-size:15px;font-weight:700;font-family:var(--display);cursor:pointer;transition:filter .12s,transform .1s;margin-top:var(--s6)}
.btn:hover{filter:brightness(1.08)}
.btn:active{transform:translateY(1px)}
.btn svg path{stroke:#12060B}
.btn-ghost{background:transparent;border:1px solid var(--line-2);color:var(--ink-2);margin-top:var(--s3)}
.btn-ghost:hover{filter:none;border-color:var(--line-3);color:var(--ink-0)}
.err{color:var(--neg);font-size:12px;margin-top:6px;display:none}
.field.invalid input,.field.invalid select{border-color:var(--neg)}
.field.invalid .err{display:block}
.privacy{margin-top:var(--s4);font-family:var(--mono);font-size:11px;color:var(--ink-4);text-align:center;letter-spacing:.02em}

.hidden{display:none!important}

/* result */
.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-size:14px;font-weight:500;cursor:pointer;margin:var(--s5) 0 var(--s4);background:none;border:none;font-family:var(--display);padding:10px 4px;min-height:44px}
.back-link:hover{color:var(--ink-0)}
.verdict{display:flex;flex-direction:column;gap:6px;letter-spacing:-.035em;line-height:1.1;color:var(--ink-0)}
.verdict .v-lead{font-size:clamp(14px,2vw,17px);font-weight:500;color:var(--ink-2);letter-spacing:-.01em;line-height:1.35}
.verdict .v-num{font-size:clamp(38px,7vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1}
.verdict .g{background:var(--alt-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.verdict-sub{margin-top:var(--s3);color:var(--ink-2);font-size:clamp(14px,2vw,15px);max-width:660px;line-height:1.55}

/* income first fold (3 ativos) */
.income-band{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin:var(--s6) 0 var(--s5)}
/* fold combinado: no mobile empilha por ativo (renda+patrimônio juntos) */
.fold{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3) var(--s3);margin:var(--s6) 0 var(--s6)}
.fold .inc{grid-row:1}
.fold .rcard{grid-row:2}
.fold .col-a{grid-column:1}.fold .col-i{grid-column:2}.fold .col-r{grid-column:3}
@media(max-width:720px){
  .fold{grid-template-columns:1fr;gap:0;margin-top:var(--s5)}
  .fold .inc,.fold .rcard{grid-row:auto;grid-column:1}
  /* card de renda cola no card de patrimônio do mesmo ativo (par unido) */
  .fold .inc-a{order:1}.fold .rc-a{order:2}
  .fold .inc-i{order:3}.fold .rc-i{order:4}
  .fold .inc-r{order:5}.fold .rc-r{order:6}
  /* dentro do par: gap pequeno; entre grupos de ativo: gap grande */
  .fold .inc{margin-bottom:var(--s2)}
  .fold .inc-i,.fold .inc-r{margin-top:var(--s6)}
}
@media(max-width:720px){.income-band{grid-template-columns:1fr}}
.inc{background:linear-gradient(180deg,var(--glass-hi),var(--glass));border:1px solid var(--glass-line);
  border-radius:var(--r-lg);padding:clamp(16px,3vw,22px);position:relative;overflow:hidden;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.inc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.inc.altside::before{background:var(--alt-grad)}
.inc.imovel::before{background:var(--c-imovel)}
.inc.rf::before{background:var(--c-rf)}
.inc .lead{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.inc .val{font-size:clamp(24px,4.4vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink-0)}
.inc .val small{font-size:14px;font-weight:500;color:var(--ink-3)}
.inc .foot{font-size:12px;color:var(--ink-3);margin-top:10px;line-height:1.4}
.inc.hi{background:linear-gradient(180deg,rgba(250,104,0,.10),rgba(255,158,249,.04));border-color:rgba(250,104,0,.3)}

/* detailed cards w/ dropdown breakdown */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-bottom:var(--s6)}
@media(max-width:720px){.cards3{grid-template-columns:1fr}}
.rcard{background:linear-gradient(180deg,var(--glass-hi),var(--glass));border:1px solid var(--glass-line);
  border-radius:var(--r-lg);padding:clamp(16px,3vw,22px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:relative;overflow:hidden}
.rcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.rcard.rc-a::before{background:var(--alt-grad)}
.rcard.rc-i::before{background:var(--c-imovel)}
.rcard.rc-r::before{background:var(--c-rf)}
.rcard .rtag{margin-bottom:var(--s4)}
.big-num{font-size:clamp(23px,4vw,30px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink-0)}
.num-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-top:8px}
.rate{font-size:13px;color:var(--ink-2);margin-top:10px;font-weight:500}
.rate b{color:var(--ink-0);font-weight:700}
details.brk{margin-top:var(--s4);border-top:1px solid var(--line-1);padding-top:var(--s3)}
details.brk summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);user-select:none}
details.brk summary::-webkit-details-marker{display:none}
details.brk summary .cv{transition:transform .2s}
details.brk[open] summary .cv{transform:rotate(180deg)}
.brk-rows{margin-top:var(--s3);display:flex;flex-direction:column;gap:9px}
.brk-row{display:flex;justify-content:space-between;gap:var(--s3);font-size:13px}
.brk-row span:first-child{color:var(--ink-2)}
.brk-row span:last-child{font-weight:500;color:var(--ink-0)}

/* chart */
.chart-panel{background:linear-gradient(180deg,var(--glass-hi),var(--glass));border:1px solid var(--glass-line);
  border-radius:var(--r-xl);padding:clamp(18px,3.5vw,24px);margin-bottom:var(--s6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.chart-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}
.chart-title{font-size:clamp(15px,2.4vw,17px);font-weight:700;color:var(--ink-0);letter-spacing:-.02em}
.chart-title .cl{display:block;font-family:var(--mono);font-size:11px;font-weight:400;color:var(--ink-4);margin-top:5px;letter-spacing:.04em;text-transform:none}
.seg{display:inline-flex;background:rgba(0,0,0,.35);border:1px solid var(--line-2);border-radius:var(--r-md);padding:3px}
.seg button{background:transparent;border:none;color:var(--ink-2);font-family:var(--display);font-size:13px;font-weight:600;padding:8px 14px;border-radius:7px;cursor:pointer;transition:all .13s}
.seg button.on{background:var(--alt-grad);color:#12060B}
.legend{display:flex;gap:var(--s5);margin-bottom:var(--s4);flex-wrap:wrap}
.lg{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2)}
.lg .sw{width:14px;height:3px;border-radius:2px}
.chart-wrap{position:relative;width:100%}
canvas{width:100%;display:block;touch-action:pan-y}
.tip{position:absolute;background:#000;border:1px solid var(--line-2);border-radius:var(--r-md);padding:11px 13px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .1s;z-index:5;min-width:160px}
.tip .ty{font-family:var(--mono);font-weight:500;margin-bottom:8px;color:var(--ink-1);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}
.tip .tr{display:flex;justify-content:space-between;gap:14px;margin-top:4px;font-size:12.5px}
.tip .tr .k{color:var(--ink-2)}
.tip .tr .v{font-weight:500;font-family:var(--mono)}

/* section header w/ giant numeral */
.section{position:relative;margin-top:var(--s9);margin-bottom:var(--s5)}
.section-h{font-size:clamp(22px,3.6vw,30px);font-weight:700;letter-spacing:-.035em;color:var(--ink-0);position:relative;z-index:1}
.section-h .g{background:var(--alt-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.section-n{position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--mono);
  font-size:clamp(60px,12vw,120px);font-weight:500;color:var(--ink-1);opacity:.05;z-index:0;pointer-events:none;line-height:1}
.section-line{height:1px;background:var(--line-1);margin-top:var(--s4)}
.section-p{color:var(--ink-2);font-size:clamp(14px,2vw,15px);margin-top:var(--s4);max-width:600px;line-height:1.55}

/* accordions (enxuto) */
.acc{border:1px solid var(--line-1);border-radius:var(--r-md);margin-bottom:var(--s2);overflow:hidden;background:var(--glass)}
.acc summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;gap:var(--s3);user-select:none}
.acc summary::-webkit-details-marker{display:none}
.acc .ico{width:34px;height:34px;border-radius:var(--r-sm);background:rgba(0,0,0,.35);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:16px}
.acc .st{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.acc .st .t{font-weight:700;font-size:15px;color:var(--ink-0);letter-spacing:-.01em;line-height:1.3}
.acc .st .d{font-size:12.5px;color:var(--ink-3);line-height:1.4}
.acc .cv{transition:transform .2s;color:var(--ink-4);flex:0 0 auto}
.acc[open] .cv{transform:rotate(180deg)}
.acc .body{padding:0 18px 20px;color:var(--ink-2);font-size:14px;line-height:1.6}
.acc .body>*:first-child{margin-top:2px}
.acc .body p{margin-bottom:var(--s3)}
.acc .body strong{color:var(--ink-0);font-weight:600}
.mini-steps{display:flex;flex-direction:column;gap:var(--s2);margin:var(--s3) 0}
.mini-step{display:flex;gap:var(--s3);align-items:center;font-size:13.5px}
.mini-step .n{width:22px;height:22px;border-radius:6px;background:var(--alt-grad);color:#12060B;font-family:var(--mono);font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.plat-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:var(--s3)}
.plat-row .p{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-2);background:rgba(0,0,0,.3);border:1px solid var(--line-2);border-radius:20px;padding:6px 12px}
.pool-mini{background:rgba(0,0,0,.3);border:1px solid var(--line-2);border-radius:var(--r-md);padding:13px 15px;margin-top:var(--s3)}
.pool-mini-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s2);flex-wrap:wrap}
.pool-mini-pair{font-weight:700;font-size:13px;color:var(--ink-0)}
.pool-mini-cur{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.pool-mini-cur b{color:var(--alt-orange)}
.pool-mini-src{font-family:var(--mono);font-size:10px;color:var(--ink-4);margin-top:7px;letter-spacing:.04em}
.hist-mini{background:rgba(0,0,0,.3);border:1px solid var(--line-2);border-radius:var(--r-md);padding:13px 15px;margin-top:var(--s3)}
.hist-mini-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap}
.hist-mini-t{font-weight:700;font-size:13px;color:var(--ink-0)}
.hist-mini-avg{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.hist-mini-avg b{color:var(--c-imovel)}
.hist-mini-src{font-family:var(--mono);font-size:10px;color:var(--ink-4);margin-top:7px;letter-spacing:.04em}
.callout{background:rgba(0,0,0,.3);border:1px solid var(--line-1);border-left:2px solid var(--alt-pink);border-radius:var(--r-sm);padding:13px 15px;font-size:13px;color:var(--ink-2);margin-top:var(--s3);line-height:1.55}
.callout b{color:var(--ink-0)}

/* opportunity cost section w/ sliders */
.opp{background:linear-gradient(180deg,var(--glass-hi),var(--glass));border:1px solid var(--glass-line);
  border-radius:var(--r-xl);padding:clamp(20px,4vw,32px);margin-top:var(--s5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.opp-lead{color:var(--ink-2);font-size:14px;line-height:1.55;margin-bottom:var(--s5);max-width:600px}
.opp-result{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-bottom:var(--s6)}
@media(max-width:600px){.opp-result{grid-template-columns:1fr}}
.opp-box{background:rgba(0,0,0,.3);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:18px 20px}
.opp-box .lb{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.opp-box .v{font-size:clamp(24px,4vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink-0)}
.opp-box.win{background:linear-gradient(180deg,rgba(250,104,0,.12),rgba(255,158,249,.04));border-color:rgba(250,104,0,.3)}
.opp-box .delta{font-family:var(--mono);font-size:12px;margin-top:8px;color:var(--pos)}
.sliders{display:flex;flex-direction:column;gap:var(--s5)}
.slider-row{}
.slider-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.slider-name{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--ink-0)}
.slider-name .dot{width:9px;height:9px;border-radius:3px;flex:0 0 auto}
.slider-name .dot.altside{background:var(--alt-grad)}
.slider-name .dot.imovel{background:var(--c-imovel)}
.slider-name .dot.rf{background:var(--c-rf)}
.slider-val{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--ink-1)}
.slider-val small{color:var(--ink-3);font-size:12px;margin-left:6px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;background:transparent;outline:none;margin:14px 0;cursor:pointer;touch-action:pan-y}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--line-2)}
input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--line-2)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--ink-0);border:3px solid var(--bg-0);box-shadow:0 2px 8px rgba(0,0,0,.5);cursor:pointer;margin-top:-10px}
input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--ink-0);border:3px solid var(--bg-0);box-shadow:0 2px 8px rgba(0,0,0,.5);cursor:pointer}
input[type=range].altside::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--alt-orange),var(--alt-pink))}
input[type=range].altside::-moz-range-track{background:linear-gradient(90deg,var(--alt-orange),var(--alt-pink))}
input[type=range].imovel::-webkit-slider-runnable-track{background:var(--c-imovel)}
input[type=range].imovel::-moz-range-track{background:var(--c-imovel)}
input[type=range].rf::-webkit-slider-runnable-track{background:var(--c-rf)}
input[type=range].rf::-moz-range-track{background:var(--c-rf)}
input[type=range].imovel::-webkit-slider-thumb,input[type=range].rf::-webkit-slider-thumb{background:var(--ink-0)}
.opp-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;margin-top:var(--s5);border:1px solid var(--line-2)}
.opp-bar .seg-a{background:var(--alt-grad)}
.opp-bar .seg-i{background:var(--c-imovel)}
.opp-bar .seg-r{background:var(--c-rf)}
.opp-note{font-family:var(--mono);font-size:11px;color:var(--ink-4);margin-top:var(--s3);text-align:center;letter-spacing:.02em}

/* CTA */
.cta{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--glass-hi),var(--glass));
  border:1px solid var(--glass-line);border-radius:var(--r-xl);padding:clamp(30px,5vw,48px) clamp(20px,4vw,40px);
  text-align:center;margin:var(--s7) 0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(250,104,0,.16),transparent 62%);pointer-events:none}
.cta .kicker{position:relative;justify-content:center;margin-bottom:var(--s4)}
.cta h3{position:relative;font-size:clamp(22px,3.6vw,32px);font-weight:700;letter-spacing:-.035em;line-height:1.12;color:var(--ink-0);max-width:600px;margin:0 auto}
.cta p{position:relative;color:var(--ink-2);font-size:clamp(14px,2vw,16px);margin:var(--s4) auto 0;max-width:520px;line-height:1.55}
.cta-btn{position:relative;display:inline-flex;align-items:center;gap:9px;margin-top:var(--s6);background:var(--alt-grad);color:#12060B;border:none;border-radius:var(--r-md);padding:16px 30px;font-size:15px;font-weight:700;font-family:var(--display);cursor:pointer;text-decoration:none;transition:filter .12s,transform .1s}
.cta-btn:hover{filter:brightness(1.08)}
.cta-btn:active{transform:translateY(1px)}
.cta-btn svg path{stroke:#12060B}

.disclaimer{background:var(--glass);border:1px solid var(--line-1);border-radius:var(--r-md);padding:16px 18px;
  font-family:var(--mono);font-size:11px;color:var(--ink-4);margin:var(--s6) 0;line-height:1.7;letter-spacing:.01em}
.disclaimer b{color:var(--ink-3)}
footer{border-top:1px solid var(--line-1);padding:var(--s6) 0 var(--s8);color:var(--ink-4);font-family:var(--mono);font-size:11px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s2);letter-spacing:.04em}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
:focus-visible{outline:2px solid var(--alt-pink);outline-offset:2px}
/* honeypot: fora da tela, sem display:none (bots ignoram display:none) */
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* ===== V3: destaque card Altside (Opção A) ===== */
.inc.hi{background:linear-gradient(180deg,rgba(250,104,0,.12),rgba(255,158,249,.04));
  border:1px solid rgba(250,104,0,.35);box-shadow:0 0 42px rgba(250,104,0,.18)}
.inc.hi::before{background:var(--alt-grad)!important;width:3px!important}
.inc .badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;color:#12060B;background:var(--alt-grad);
  border-radius:20px;padding:4px 10px;margin-bottom:12px;font-weight:500}
.rcard.hi{background:linear-gradient(180deg,rgba(250,104,0,.10),rgba(255,158,249,.035));
  border:1px solid rgba(250,104,0,.3);box-shadow:0 0 36px rgba(250,104,0,.14)}

/* ===== V3: seção carteira (slider) ===== */
.blend-charts{margin-top:var(--s5)}
.blend-mini{background:rgba(0,0,0,.3);border:1px solid var(--line-2);border-radius:var(--r-md);padding:15px 16px 12px;margin-top:var(--s4)}
.blend-mini-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap}
.blend-mini-t{font-weight:700;font-size:13px;color:var(--ink-0)}
.blend-mini-legend{display:flex;gap:var(--s4);flex-wrap:wrap}
.blend-mini-legend .lg{font-size:11.5px}

/* ===== V3: mapa SVG geográfico de aluguel por estado ===== */
.map-panel{background:linear-gradient(180deg,var(--glass-hi),var(--glass));border:1px solid var(--glass-line);
  border-radius:var(--r-xl);padding:clamp(18px,3.5vw,28px);margin-top:var(--s5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.map-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}
.map-title{font-size:clamp(15px,2.4vw,17px);font-weight:700;color:var(--ink-0);letter-spacing:-.02em}
.map-title .cl{display:block;font-family:var(--mono);font-size:11px;font-weight:400;color:var(--ink-4);margin-top:5px;letter-spacing:.04em}
.map-scale{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.06em}
.map-scale .bar{width:90px;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(56,189,248,.55),rgba(250,104,0,.95))}
.map-wrap{display:flex;gap:var(--s6);align-items:center;flex-wrap:wrap}
.map-svg-box{flex:1;min-width:0;max-width:520px;width:100%}
.map-svg-box svg{width:100%;height:auto;display:block;overflow:hidden}
.map-svg-box path{stroke:rgba(7,7,12,.9);stroke-width:.6;stroke-linejoin:round;cursor:pointer;transition:opacity .12s,filter .12s}
.map-svg-box path.has:hover{filter:brightness(1.3) saturate(1.1);opacity:1}
.map-svg-box path.sel{stroke:var(--alt-pink);stroke-width:1.4;filter:brightness(1.2)}
.map-svg-box path.nodata{fill:rgba(255,255,255,.05);cursor:default}
.map-side{flex:0 0 210px;min-width:190px}
.map-detail{background:rgba(0,0,0,.3);border:1px solid var(--line-2);border-radius:var(--r-md);padding:16px 18px}
.map-detail .st-name{font-size:16px;font-weight:700;color:var(--ink-0);margin-bottom:2px}
.map-detail .st-uf{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.map-detail .mrow{display:flex;justify-content:space-between;gap:var(--s3);font-size:13px;padding:8px 0;border-bottom:1px solid var(--line-1)}
.map-detail .mrow:last-child{border-bottom:none}
.map-detail .mrow .k{color:var(--ink-2)}
.map-detail .mrow .v{font-family:var(--mono);font-weight:500;color:var(--ink-0)}
.map-detail .mrow .v.hy{color:var(--alt-orange)}
.map-hint{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);margin-top:var(--s3);letter-spacing:.04em;line-height:1.5}
@media(max-width:640px){.map-side{flex:1 1 100%}.map-svg-box{max-width:100%}.map-wrap{gap:var(--s5)}}
