:root{

    --slate:#243340;      
    --red:#d6272c;        
    --red-deep:#b01f24;
    --cream:#e5dfda;      
    --taupe:#a57f68;      
    --taupe-deep:#7e5e49;

    --ink:#243340;        
    --ink-soft:#5a6873;
    --paper:#faf7f3;      
    --concrete:#e5dfda;   
    --line:#ded5cb;

    --blueprint:#3a5061;      
    --blueprint-deep:#243340; 
    --brass:#a57f68;          
    --brass-deep:#7e5e49;
    --approved:#5fb266;       
    --obra:#a57f68;           
    --shadow:0 1px 0 rgba(0,0,0,.03), 0 14px 34px -20px rgba(36,51,64,.4);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:52px}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:"Inter",system-ui,sans-serif;line-height:1.55;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  .wrap{max-width:1080px;margin:0 auto;padding:0 22px}
  h1,h2,h3,.display{font-family:"Bricolage Grotesque",sans-serif;letter-spacing:-.02em;line-height:1.05;margin:0}
  .mono{font-family:"JetBrains Mono",monospace;font-variant-numeric:tabular-nums}
  .eyebrow{font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blueprint-deep)}

  #sticky-nav{
    position:sticky;top:0;z-index:999;
    background:rgba(26,36,45,.96);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-bottom:2px solid var(--red);
    box-shadow:0 4px 24px -8px rgba(0,0,0,.45);
  }
  .snav-inner{
    max-width:1080px;margin:0 auto;padding:0 22px;
    display:flex;align-items:center;gap:4px;overflow-x:auto;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .snav-inner::-webkit-scrollbar{display:none}
  .snav-inner a{
    flex:0 0 auto;
    font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
    color:#9aa6ae;text-decoration:none;padding:14px 12px;
    border-bottom:2px solid transparent;margin-bottom:-2px;
    transition:color .18s, border-color .18s;white-space:nowrap;
  }
  .snav-inner a:hover,
  .snav-inner a.active{color:#fff;border-bottom-color:var(--red)}
  .snav-inner a:focus-visible{outline:2px solid var(--red);outline-offset:-2px;border-radius:4px}
  @media(max-width:600px){
    .snav-inner a{font-size:.6rem;padding:12px 9px;letter-spacing:.08em}
  }

  header.hero{
    background:
      radial-gradient(1100px 460px at 78% -12%, rgba(214,39,44,.28), transparent 58%),
      linear-gradient(158deg,#26303b 0%, #1a242d 100%);
    color:#ece7e1;
    border-bottom:3px solid var(--red);
    padding:26px 0 50px;
  }
  .brandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}
  .brandbar img.logo{height:60px;width:auto;display:block}
  .brandbar .bnav{font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#9aa6ae}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
  .hero .eyebrow{color:var(--red)}
  .hero h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800;margin-top:14px;color:#f3efe9}
  .hero h1 .key{color:var(--red)}
  .hero p.lead{font-size:1.08rem;color:#c8c2bb;max-width:46ch;margin:18px 0 0}
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
  .btn{font-family:"Inter";font-weight:600;font-size:.95rem;border:none;border-radius:10px;
    padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-block;transition:transform .12s ease, box-shadow .2s}
  .btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 24px -12px rgba(214,39,44,.7)}
  .btn-primary:hover{background:var(--red-deep)}
  .btn-ghost{background:transparent;color:#ece7e1;border:1px solid rgba(236,231,225,.4)}
  .btn:hover{transform:translateY(-2px)}
  .btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible{
    outline:3px solid var(--red);outline-offset:2px}

  .rise{position:relative;height:300px;display:flex;align-items:flex-end;justify-content:center;gap:7px;padding:0 8px}
  .rise .floor{width:54px;background:linear-gradient(180deg,#ffffff 0%, #eef0f1 100%);
    border-radius:4px 4px 0 0;position:relative;animation:grow .9s cubic-bezier(.2,.8,.2,1) both}
  .rise .floor::after{content:"";position:absolute;inset:5px 7px;border:1px solid rgba(36,51,64,.14);border-radius:2px}
  .rise .floor:nth-child(1){height:46px;animation-delay:.05s}
  .rise .floor:nth-child(2){height:92px;animation-delay:.18s}
  .rise .floor:nth-child(3){height:148px;animation-delay:.31s}
  .rise .floor:nth-child(4){height:206px;animation-delay:.44s}
  .rise .floor:nth-child(5){height:262px;animation-delay:.57s;background:linear-gradient(180deg,#ffffff 0%, #e9ebec 100%)}
  .rise .floor:nth-child(5)::before{content:"🔑";position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-size:20px}
  .rise .base{position:absolute;bottom:0;left:0;right:0;height:8px;background:rgba(255,255,255,.55);border-radius:2px}
  @keyframes grow{from{height:0;opacity:0}}
  @media (prefers-reduced-motion:reduce){.rise .floor{animation:none}}
  @media (max-width:360px){ .rise{gap:5px;padding:0 4px} .rise .floor{width:42px} }

  section{padding:62px 0;border-bottom:1px solid var(--line)}
  .sec-head{max-width:60ch;margin-bottom:38px}
  .sec-head h2{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:700;margin-top:10px}
  .sec-head p{color:var(--ink-soft);margin:12px 0 0}

  ol.howto{counter-reset:howto;list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:80ch}
  ol.howto li{counter-increment:howto;position:relative;background:#fff;border:1px solid var(--line);
    border-radius:14px;padding:18px 20px 18px 64px;box-shadow:var(--shadow);color:var(--ink-soft);font-size:.96rem}
  ol.howto li::before{content:counter(howto);position:absolute;left:16px;top:16px;width:34px;height:34px;
    border-radius:9px;background:var(--blueprint-deep);color:#fff;display:grid;place-items:center;
    font-family:"Bricolage Grotesque";font-weight:800}
  ol.howto li b{color:var(--ink)}
  ol.howto li i{color:var(--ink);font-style:italic}
  ol.howto ul.sub{margin:10px 0 4px;padding-left:18px;display:grid;gap:3px}
  ol.howto ul.sub li{all:unset;display:list-item;list-style:square;margin-left:4px;color:var(--ink-soft);font-size:.92rem}

  .parties{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 34px}
  .party{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;box-shadow:var(--shadow)}
  .party .p-ic{font-size:26px;display:block;margin-bottom:8px}
  .party b{font-family:"Bricolage Grotesque";display:block;font-size:1rem}
  .party small{color:var(--ink-soft);font-size:.82rem;display:block;margin-top:4px}
  @media (max-width:720px){.parties{grid-template-columns:1fr}}

  .trail{position:relative;margin-top:8px}
  .trail-line{position:absolute;left:35px;top:34px;bottom:34px;width:4px;border-radius:4px;
    background:repeating-linear-gradient(180deg,var(--blueprint) 0 5px,transparent 5px 14px);opacity:.5}
  .ph-plan{--node:var(--blueprint)}
  .ph-contract{--node:var(--blueprint-deep)}
  .ph-obra{--node:var(--obra)}
  .ph-entrega{--node:var(--approved)}
  .trail-cap{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:20px;position:relative}
  .trail-cap .pin{width:48px;height:48px;margin-left:11px;border-radius:50% 50% 50% 6px;transform:rotate(45deg);
    display:grid;place-items:center;background:#fff;border:2px solid var(--ink);box-shadow:var(--shadow);z-index:1}
  .trail-cap .pin span{transform:rotate(-45deg);font-size:20px}
  .trail-cap.finish .pin{border-color:var(--approved);background:var(--approved)}
  .trail-cap .cap-txt{font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
  .trail-cap .cap-txt b{display:block;font-family:"Bricolage Grotesque";letter-spacing:-.01em;text-transform:none;font-size:1.05rem;color:var(--ink);margin-top:2px}
  .station{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:9px 0;position:relative}
  .station .dot{width:50px;height:50px;margin-left:11px;border-radius:50%;display:grid;place-items:center;
    font-family:"Bricolage Grotesque";font-weight:800;color:#fff;font-size:1.22rem;z-index:1;background:var(--node);
    border:4px solid var(--paper);box-shadow:0 0 0 2px var(--node), var(--shadow)}
  .st-card{min-width:0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--node);
    border-radius:16px;padding:16px 20px;box-shadow:var(--shadow)}
  .st-card .ph-eyebrow{font-family:"JetBrains Mono";font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
    color:var(--node);font-weight:600;display:block;margin-bottom:5px}
  .st-card h3{font-family:"Bricolage Grotesque";font-size:1.12rem;font-weight:700}
  .st-card p{color:var(--ink-soft);margin:7px 0 0;font-size:.95rem}
  .st-card i{color:var(--ink);font-style:italic}
  .st-card ul.sub{margin:9px 0 2px;padding-left:18px;display:grid;gap:3px}
  .st-card ul.sub li{list-style:square;color:var(--ink-soft);font-size:.92rem}
  .st-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .st-card summary::-webkit-details-marker{display:none}
  .st-card summary h3{margin:0}
  .st-chev{font-family:"JetBrains Mono";color:var(--red);font-size:1.2rem;line-height:1;transition:transform .25s;flex:0 0 auto}
  .st-card details[open] .st-chev{transform:rotate(45deg)}
  .st-card details summary:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:8px}
  @media (max-width:560px){
    .trail-line{left:27px}
    .station{grid-template-columns:56px minmax(0,1fr);gap:14px}
    .trail-cap{grid-template-columns:56px minmax(0,1fr) auto;gap:14px}
    .trail-cap #trailArrow{width:32px;height:32px;font-size:1rem}
    .station .dot{width:42px;height:42px;margin-left:7px;font-size:1.05rem}
    .trail-cap .pin{width:40px;height:40px;margin-left:8px}
  }

  .steps{display:grid;gap:0}
  .step{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:22px 0;position:relative}
  .step:not(:last-child)::before{content:"";position:absolute;left:31px;top:64px;bottom:-22px;width:2px;
    background:repeating-linear-gradient(180deg,var(--line) 0 6px,transparent 6px 12px)}
  .step .num{width:64px;height:64px;border-radius:14px;display:grid;place-items:center;
    font-family:"Bricolage Grotesque";font-weight:800;font-size:1.4rem;color:#fff;background:var(--blueprint-deep);
    box-shadow:var(--shadow);z-index:1}
  .step.obra .num{background:var(--obra)}
  .step.keys .num{background:var(--brass-deep)}
  .step.amort .num{background:var(--approved)}
  .step h3{font-size:1.18rem;font-weight:600}
  .step .tag{display:inline-block;font-family:"JetBrains Mono";font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
    padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);margin-bottom:6px}
  .step p{color:var(--ink-soft);margin:8px 0 0;max-width:62ch}
  .step .pay{margin-top:10px;font-size:.9rem;background:var(--concrete);border-radius:10px;padding:10px 14px;display:inline-block}
  .step .pay b{font-family:"Bricolage Grotesque"}

  .highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
  .hl{background:linear-gradient(158deg,#26303b 0%,#1b2630 100%);color:#ece7e1;
    border:1px solid #2f4753;border-left:4px solid var(--red);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
  .hl .big{font-family:"Bricolage Grotesque";font-weight:800;font-size:2rem;color:#fff;line-height:1}
  .hl .big small{font-size:.85rem;color:#cdc7c0;font-weight:600}
  .hl h3{font-family:"Bricolage Grotesque";font-size:1.02rem;margin:10px 0 5px;color:#fff;font-weight:700}
  .hl p{color:#bcc4ca;font-size:.86rem;margin:0;line-height:1.5}
  .hl .ast{display:block;color:#94a0a7;font-size:.74rem;margin-top:4px}
  @media (max-width:860px){.highlights{grid-template-columns:1fr}}

  .adv-list{display:grid;gap:10px;max-width:840px}
  .adv{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);
    overflow:hidden;transition:border-color .2s, box-shadow .2s}
  .adv-head{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--ink);
    background:none;border:none;cursor:pointer;padding:15px 18px;list-style:none}
  .adv-head::-webkit-details-marker{display:none}
  .adv-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:18px;
    background:var(--concrete);flex:0 0 auto}
  .adv-title{font-family:"Bricolage Grotesque";font-size:1.05rem;font-weight:700;flex:1;line-height:1.2}
  .adv-chev{font-family:"JetBrains Mono";color:var(--red);font-size:1.2rem;line-height:1;transition:transform .25s;flex:0 0 auto}
  .adv-desc p{margin:0;padding:0 18px 16px 70px;color:var(--ink-soft);font-size:.93rem}
  .adv-desc em{display:inline-block;margin-top:8px;color:#6f7c87;font-style:italic}
  .adv-desc em::first-letter{text-transform:uppercase}
  .adv[open]{border-color:var(--red);
    box-shadow:0 1px 0 rgba(0,0,0,.03), 0 18px 34px -20px rgba(36,51,64,.45)}
  .adv[open] .adv-chev{transform:rotate(45deg)}
  .adv-head:focus-visible{outline:3px solid var(--red);outline-offset:-3px;border-radius:14px}
  @media (max-width:560px){.adv-desc p{padding-left:18px}}

  .faq{display:grid;gap:12px;max-width:780px}
  details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 20px;box-shadow:var(--shadow)}
  summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;font-size:1.02rem;
    display:flex;justify-content:space-between;align-items:center;gap:16px}
  summary::-webkit-details-marker{display:none}
  summary .chev{font-family:"JetBrains Mono";color:var(--blueprint);transition:transform .2s;flex:0 0 auto}
  details[open] summary .chev{transform:rotate(45deg)}
  details p{color:var(--ink-soft);margin:0 0 18px;font-size:.95rem}

  .sim {
    position: relative; color: #eef2f3; border-radius: 20px; padding: 0; overflow: hidden;
    background: linear-gradient(165deg, #27384a 0%, #1d2a36 60%, #1a2530 100%) !important;
    border: 1px solid rgba(52,80,99,.55);
    box-shadow: 0 1px 0 rgba(0,0,0,.03), 0 30px 60px -32px rgba(20,30,40,.7);
    width: 100%;
  }
  .sim * { box-sizing: border-box !important; }
  .sim::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
    background-image: linear-gradient(rgba(165,127,104,.07) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(165,127,104,.07) 1px, transparent 1px);
    background-size: 34px 34px;
    -webkit-mask-image: linear-gradient(180deg, #000, transparent 72%);
    mask-image: linear-gradient(180deg, #000, transparent 72%);
  }
  .sim-inner { position: relative; padding: 34px 44px; width: 100%; }
  .sim-top {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap;
    border-bottom: 1px solid rgba(165,127,104,.32); padding-bottom: 16px; width: 100%;
  }
  .sim .eyebrow { font-family: "JetBrains Mono"; letter-spacing: .18em; font-size: .7rem; text-transform: uppercase; color: var(--brass); }
  .sim h2 { color: #fff; font-size: clamp(1.4rem, 2.5vw, 2rem); margin: 7px 0 0; line-height: 1.1; }
  .sim-ref {
    font-family: "JetBrains Mono"; font-size: 0.65rem; color: #8ea3ac; text-align: left; line-height: 1.6;
    border: 1px solid rgba(165,127,104,.35); border-radius: 8px; padding: 6px 10px; max-width: 100%;
  }
  .sim-ref b { color: var(--brass); font-weight: 600; }
  .sim-note {
    display: flex; gap: 12px; align-items: flex-start; background: rgba(214,39,44,.10);
    border: 1px solid rgba(214,39,44,.4); border-left: 3px solid var(--red); border-radius: 10px;
    padding: 13px 15px; margin-top: 18px; width: 100%;
  }
  .sim-note-ic { font-size: 17px; line-height: 1.4; flex: 0 0 auto; }
  .sim-note p { margin: 0; font-size: .85rem; color: #e7ddd9; line-height: 1.5; }
  .sim-note p b { color: #fff; }
  .sim-grid {
    display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); gap: 34px; margin-top: 24px; width: 100%;
  }
  .sim-grid > * { min-width: 0; }
  .controls { display: grid; gap: 18px; align-content: start; min-width: 0; }
  .ctrl-title {
    font-family: "JetBrains Mono"; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase;
    color: #88a2ad; border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 8px;
  }
  .field label { display: block; font-size: .75rem; font-weight: 600; letter-spacing: .02em; color: #b9c4cb; margin-bottom: 7px; }
  .field .hint { font-weight: 400; color: #7f939c; font-size: .72rem; }
  .sel-empreend{width:100%;background:#19272f;border:1px solid #314a59;border-radius:10px;color:#e8edf0;
    padding:11px 14px;font:inherit;font-size:.95rem;cursor:pointer;appearance:none;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237f939c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
  .sel-empreend:disabled{opacity:.5;cursor:not-allowed}
  .sel-empreend option{background:#19272f;color:#e8edf0}
  .input-money {
    display: flex; align-items: center; background: #19272f; border: 1px solid #314a59; border-radius: 10px;
    padding: 0 12px 0 14px; position: relative; transition: border-color .15s, box-shadow .15s; width: 100%;
  }
  .input-money::before {
    content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0;
    background: var(--brass); opacity: .6;
  }
  .input-money:focus-within { border-color: var(--brass); box-shadow: 0 0 0 3px rgba(165,127,104,.18); }
  .input-money:focus-within::before { opacity: 1; }
  .input-money span { color: #8ea3ac; font-family: "JetBrains Mono"; font-size: .9rem; }
  .input-money input {
    background: transparent; border: none; color: #fff; font-family: "JetBrains Mono";
    font-size: 1.05rem; padding: 13px 8px; width: 100%; outline: none;
  }

  .dob{position:relative}
  .dob-row{display:flex;align-items:stretch;background:#19272f;border:1px solid #314a59;border-radius:10px;overflow:hidden;
    position:relative;transition:border-color .15s,box-shadow .15s}
  .dob-row::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brass);opacity:.6}
  .dob-row:focus-within{border-color:var(--brass);box-shadow:0 0 0 3px rgba(165,127,104,.18)}
  .dob-row:focus-within::before{opacity:1}
  .dob-row input{flex:1;min-width:0;background:transparent;border:none;color:#fff;font-family:"JetBrains Mono",monospace;
    font-size:1.05rem;padding:13px 8px 13px 14px;outline:none}
  .dob-row input::placeholder{color:#5d7079}
  .dob-row button{flex:0 0 auto;width:52px;display:flex;align-items:center;justify-content:center;
    background:var(--brass);color:#1a1207;border:none;cursor:pointer;transition:background .15s}
  .dob-row button:hover{background:#b98f75}
  .dob-cal{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;max-width:310px;
    background:#1b2a34;border:1px solid #314a59;border-radius:12px;padding:10px;
    box-shadow:0 18px 40px -14px rgba(0,0,0,.7)}
  .dob-cal[hidden]{display:none}
  .dob-head{display:flex;align-items:center;gap:6px;background:var(--brass);border-radius:8px;padding:5px 6px;margin-bottom:8px}
  .dob-head button{flex:0 0 auto;width:26px;height:26px;border:none;border-radius:6px;background:rgba(0,0,0,.12);
    color:#1a1207;cursor:pointer;font-size:.95rem;line-height:1;padding:0}
  .dob-head button:hover{background:rgba(0,0,0,.25)}
  .dob-head select{flex:1;min-width:0;background:#fff;color:#243340;border:1px solid rgba(0,0,0,.15);border-radius:5px;
    padding:4px 5px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit}
  .dob-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:3px}
  .dob-dow span{text-align:center;font-size:.64rem;font-weight:700;color:#9fb2ba}
  .dob-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
  .dob-grid button{height:32px;background:#22333e;border:1px solid transparent;border-radius:6px;color:#dfe7ea;
    cursor:pointer;font-family:"JetBrains Mono",monospace;font-size:.78rem;padding:0}
  .dob-grid button:hover{background:#2f4a5a;color:#fff}
  .dob-grid button.sel{background:var(--brass);color:#1a1207;font-weight:700}
  .dob-grid button.off{background:transparent;color:#5d7079;cursor:default}
  .dob-grid button.off:hover{background:transparent}
  .dob-grid span{height:32px}
  .seg { display: flex; background: #19272f; border: 1px solid #314a59; border-radius: 10px; padding: 3px; gap: 3px; width: 100%; }
  .seg button {
    flex: 1; background: transparent; border: none; color: #b9c4cb; padding: 10px; cursor: pointer;
    font-weight: 600; font-size: .86rem; border-radius: 7px; transition: background .15s, color .15s;
  }
  .seg button.active { background: var(--brass); color: #1a1207; }
  .results { display: grid; gap: 18px; align-content: start; min-width: 0; width: 100%; max-width: 100%; overflow: hidden; }

  .results > * { min-width: 0; max-width: 100%; }
  .table-scroll { min-width: 0; }
  .kpis { display: grid; gap: 12px; min-width: 0; width: 100%; }
  .kpi-hero {
    position: relative; overflow: hidden; border-radius: 14px; padding: 18px 20px; width: 100%;
    background: linear-gradient(150deg, rgba(95,178,102,.18), rgba(95,178,102,.05));
    border: 1px solid rgba(95,178,102,.42);
  }
  .kpi-hero::after {
    content: "R$/mês"; position: absolute; right: 16px; top: 15px; font-family: "JetBrains Mono";
    font-size: .62rem; letter-spacing: .08em; color: #8bbf8e;
  }
  .kpi-hero .lbl { font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: #9fc8a1; }
  .kpi-hero .val {
    font-family: "Bricolage Grotesque"; font-weight: 800; font-size: clamp(1.6rem, 4vw, 2.5rem);
    color: #d2eed2; line-height: 1.04; margin-top: 4px; overflow-wrap: anywhere;
  }
  .kpi-hero .kpi-sub { font-size: .74rem; color: #9fb2ba; margin-top: 6px; }
  .kpi-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; width: 100%; }
  .kpi { position: relative; background: #19272f; border: 1px solid #314a59; border-radius: 12px; padding: 12px 10px; min-width: 0; overflow: hidden; width: 100%; }
  .kpi::before { content: ""; position: absolute; left: 10px; right: 10px; top: 0; height: 2px; border-radius: 0 0 2px 2px; background: #3a5061; }
  .kpi.obra::before { background: var(--obra); }
  .kpi .lbl { font-size: .64rem; letter-spacing: .04em; text-transform: uppercase; color: #8ea3ac; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kpi .val { font-family: "Bricolage Grotesque"; font-weight: 800; font-size: clamp(0.85rem, 1.4vw, 1.18rem); margin-top: 4px; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .kpi.obra .val { color: #cdb19c; }
  .phasebar { display: flex; height: 16px; border-radius: 9px; overflow: hidden; border: 1px solid #314a59; background: #19272f; width: 100%; max-width: 100%; }
  .phasebar .p-obra { background: var(--obra); }
  .phasebar .p-amort { background: var(--approved); }
  .phaselegend { display: flex; gap: 8px 12px; font-size: .74rem; color: #b9c4cb; margin-top: 10px; flex-wrap: wrap; width: 100%; max-width: 100%; }
  .phaselegend > * { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .dot { display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
  .table-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 4px; flex-wrap: wrap; width: 100%; max-width: 100%; }
  .table-head strong { font-family: "JetBrains Mono"; font-size: .8rem; letter-spacing: .03em; }
  .view-toggle { display: flex; gap: 3px; background: #19272f; border: 1px solid #314a59; border-radius: 9px; padding: 3px; width: auto; }
  .view-toggle button { background: transparent; border: none; color: #b9c4cb; border-radius: 6px; padding: 7px 12px; cursor: pointer; font-size: .8rem; font-weight: 600; transition: background .15s, color .15s; }
  .view-toggle button.active { background: #fff; color: var(--ink); }
  .table-scroll { max-height: 430px; overflow-x: auto !important; overflow-y: auto; border: 1px solid #314a59; border-radius: 12px; margin-top: 12px; width: 100% !important; max-width: 100% !important; display: block !important; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #3f5a6b #19272f; }
  .table-scroll::-webkit-scrollbar { height: 10px; width: 10px; }
  .table-scroll::-webkit-scrollbar-track { background: #19272f; border-radius: 0 0 12px 12px; }
  .table-scroll::-webkit-scrollbar-thumb { background: #3f5a6b; border-radius: 6px; }
  .table-scroll::-webkit-scrollbar-thumb:hover { background: #4d6d80; }

  table { width: 100%; min-width: 480px; border-collapse: collapse; font-family: "JetBrains Mono"; font-size: .78rem; table-layout: fixed; }
  thead th:nth-child(1), tbody td:nth-child(1) { width: 42%; }
  thead th:nth-child(2), tbody td:nth-child(2) { width: 24%; }
  thead th:nth-child(3), tbody td:nth-child(3) { width: 34%; }
  thead th { position: sticky; top: 0; background: #15232c; color: #9fb2ba; text-align: right; padding: 11px 6px; font-weight: 600; font-size: .7rem; letter-spacing: .04em; border-bottom: 1px solid #314a59; z-index: 2; }
  thead th:first-child, tbody td:first-child { text-align: left; }
  tbody td { padding: 10px 6px; text-align: right; border-bottom: 1px solid rgba(49,74,89,.5); color: #dfe7ea; white-space: nowrap; }
  tbody tr.obra td { background: rgba(165,127,104,.12); }
  tbody tr.keys td { background: rgba(95,178,102,.20); font-weight: 600; }
  tbody tr:hover td { background: rgba(255,255,255,.05); }
  .ph-pill { font-size: .64rem; padding: 2px 7px; border-radius: 999px; font-weight: 600; }
  .ph-pill.o { background: rgba(165,127,104,.28); color: #dcc0ac; }
  .ph-pill.p { background: rgba(142,163,172,.28); color: #b7c4ca; }
  .ph-pill.a { background: rgba(95,178,102,.26); color: #a8dba6; }
  .ph-pill.k { background: rgba(95,178,102,.38); color: #c0e7bd; }
  .disclaimer { font-size: .78rem; color: #8ea3ac; margin-top: 16px; line-height: 1.5; width: 100%; }
  footer.site-footer { background: linear-gradient(158deg,#26303b 0%,#1a242d 100%); border-top: 3px solid var(--red); padding: 42px 0; margin-top: 24px; }
  .foot-grid { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
  .foot-grid img.logo { height: 54px; width: auto; }
  .foot-grid p { color: #aeb6bc; font-size: .85rem; max-width: 48ch; margin: 0; }

  @media (max-width: 1120px) {
    .hero-grid { grid-template-columns: 1fr; } .rise { order: -1; height: 230px; }
    .cards { grid-template-columns: 1fr; }
  }
  @media (max-width: 760px) { section { padding: 48px 0; } }

  @media (max-width: 1600px) {
    .sim-grid { grid-template-columns: 1fr; gap: 30px; }
    .sim-top { flex-direction: column; align-items: flex-start; gap: 14px; }
  }
  @media (max-width: 1350px) {
    .sim-inner { padding: 28px 32px; }
    .kpi-strip { gap: 8px; }
    .kpi { padding: 10px 6px; }
  }
  @media (max-width: 860px) {
    .sim { border-radius: 18px; }
    .sim-inner { padding: 22px 20px; }
    .kpi-strip { grid-template-columns: 1fr; gap: 10px; }
    .kpi .lbl, .kpi .val { white-space: normal; text-overflow: unset; }
    .kpi::before { left: 14px; right: 14px; }
    .kpi { padding: 14px; }
  }
  @media (max-width: 620px) {
    .wrap { padding: 0 16px; }
    .sim h2 { font-size: 1.35rem; }
    .kpis { grid-template-columns: 1fr; }
    .seg button { font-size: .82rem; padding: 10px 6px; }
    .view-toggle { width: 100%; }
    .view-toggle button { flex: 1; }
    .input-money input { font-size: .98rem; }
    .phaselegend { gap: 10px 16px; font-size: .74rem; }
    .foot-grid { flex-direction: column; align-items: flex-start; gap: 16px; }
    .table-scroll { max-height: none; overflow: visible; border: none; border-radius: 0; margin-top: 10px; }
    table, tbody, tr, td { display: block; width: 100%; box-sizing: border-box; }
    table { min-width: 0; font-size: .86rem; table-layout: auto; }
    thead { display: none; }
    tbody tr { background: #1c2d36; border: 1px solid #2f4753; border-radius: 12px; padding: 8px 14px; margin: 0 0 12px; }
    tbody tr.obra { background: rgba(165,127,104,.14); }
    tbody tr.keys { background: rgba(95,178,102,.16); }
    tbody tr.obra td, tbody tr.keys td { background: transparent; }
    tbody td { display: flex; justify-content: space-between; align-items: center; gap: 14px; text-align: right; padding: 8px 0; border: none; border-bottom: 1px solid rgba(47,71,83,.45); width: 100% !important; white-space: normal; }
    tbody td:last-child { border-bottom: none; }
    tbody td::before { content: attr(data-label); color: #90a0a8; font-weight: 600; font-family: "Inter"; font-size: .78rem; text-align: left; }
    tbody td:first-child { justify-content: flex-start; color: #fff; font-weight: 700; font-size: .95rem; padding-top: 4px; padding-bottom: 10px; border-bottom: 1px solid rgba(47,71,83,.7); width: 100% !important; }
    tbody td:first-child::before { display: none; }
    tbody tr:hover td { background: transparent; }
  }

  .sis-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
  .sis-lbl{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
    color:#8ea3ac;text-align:center;width:100%}
  .sis-wrap .seg{width:100%}
  @media (max-width:620px){ .sis-wrap{gap:7px} }

  .chk{display:flex;align-items:flex-start;gap:30px;cursor:pointer;padding:9px 14px;margin-top:7px;
    background:#19272f;border:1px solid #314a59;border-radius:9px;transition:border-color .15s,background .15s}
  .chk:hover{border-color:var(--brass);background:#1d2d37}
  .chk input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--brass);cursor:pointer;flex:0 0 auto}
  .chk span{font-size:.82rem;color:#c8d4da;font-weight:500;line-height:1.4}
  .chk-sub{display:block;font-size:.72rem;color:#7f939c;font-weight:400}

  .prod-list{display:grid;gap:8px}
  .prod{display:flex;align-items:center;gap:11px;width:100%;text-align:left;cursor:pointer;
    background:#19272f;border:1px solid #314a59;border-radius:11px;padding:12px 13px;
    transition:border-color .15s,background .15s,opacity .15s}
  .prod:hover{border-color:var(--brass)}
  .prod.active{border-color:var(--brass);background:rgba(165,127,104,.14);box-shadow:0 0 0 1px var(--brass) inset}
  .prod.off{opacity:.42;cursor:not-allowed;border-style:dashed}
  .prod.off:hover{border-color:#314a59}
  .prod-ic{font-size:19px;flex:0 0 auto;line-height:1}
  .prod-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
  .prod-nome{font-size:.84rem;font-weight:700;color:#fff;line-height:1.3}
  .prod-tag{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    background:rgba(95,178,102,.25);color:#a8dba6;border-radius:999px;padding:1px 7px;vertical-align:1px}
  .prod-cond{font-family:"JetBrains Mono",monospace;font-size:.7rem;color:#8ea3ac}
  .prod-mark{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:.7rem;font-weight:800;background:#243340;color:transparent;border:1px solid #3a5061}
  .prod.active .prod-mark{background:var(--brass);color:#1a1207;border-color:var(--brass)}
  .prod.off .prod-mark{display:none}

  .renda-bloqueio{display:flex;gap:14px;align-items:flex-start;background:rgba(214,39,44,.10);
    border:1px solid rgba(214,39,44,.45);border-left:4px solid var(--red);border-radius:12px;padding:18px 20px}
  .renda-bloqueio[hidden]{display:none}
  .rb-ic{font-size:22px;line-height:1.2;flex:0 0 auto}
  .rb-txt{min-width:0}
  .rb-txt b{display:block;color:#fff;font-size:1rem;margin-bottom:6px}
  .rb-txt p{margin:0;color:#e7ddd9;font-size:.86rem;line-height:1.55}
  .rb-txt p.rb-sug{margin-top:8px;color:#b9c4cb;font-size:.82rem}
  .rb-txt strong{color:#fff}
  .results.bloqueado > *:not(#rendaBloqueio):not(#idadeBloqueio){display:none}
  .hint.hint-ok{color:#7fd1a8}
  .hint.hint-bad{color:#ef8a86}

  .card, .st-card, .party, .faq details, .kpi, .hl { transition: transform .18s ease, box-shadow .22s ease; }
  .card:hover, .st-card:hover, .party:hover, .faq details:hover, .kpi:hover, .hl:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 1px 0 rgba(0,0,0,.03), 0 22px 40px -22px rgba(36,51,64,.5); }
  @media (prefers-reduced-motion: reduce) { .card:hover, .st-card:hover, .party:hover, .faq details:hover, .kpi:hover, .hl:hover { transform: none; } }

  .eco-hero{background:linear-gradient(158deg,#26303b 0%,#1b2630 100%);border:1px solid #2f4753;
    border-left:4px solid var(--approved);border-radius:18px;padding:26px;text-align:center;margin-bottom:20px;color:#ece7e1}
  .eco-hero .eco-lbl{font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#9fb2ba}
  .eco-hero .eco-big{font-family:"Bricolage Grotesque";font-weight:800;font-size:clamp(2.1rem,7vw,3.3rem);color:#7fd1a8;line-height:1;margin:8px 0 6px}
  .eco-hero p{color:#bcc4ca;margin:0;font-size:.9rem}
  .eco-hero.eco-neg{border-left-color:var(--taupe)}
  .eco-hero.eco-neg .eco-big{color:var(--taupe)}
  .eco-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .eco-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
  .eco-card.assoc{border-top:4px solid var(--approved)}
  .eco-card.cub{border-top:4px solid var(--taupe)}
  .eco-card h3{font-family:"Bricolage Grotesque";font-size:1.06rem;margin:0 0 14px}
  .eco-card h3 small{display:block;font-weight:400;color:var(--ink-soft);font-size:.8rem;margin-top:3px}
  .eco-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.9rem;color:var(--ink-soft)}
  .eco-row:last-of-type{border-bottom:none}
  .eco-row .v{font-family:"JetBrains Mono";font-weight:600;color:var(--ink);white-space:nowrap}
  .eco-row.destaque{background:var(--paper);border-radius:10px;border-bottom:none;padding:11px 10px;margin:2px 0;font-weight:700;font-size:.96rem;color:var(--ink)}
  .eco-row.destaque .v{font-size:1.14rem;font-weight:800}
  .eco-card .total{display:flex;justify-content:space-between;gap:12px;font-family:"Bricolage Grotesque";font-weight:800;
    font-size:1.05rem;margin-top:12px;padding-top:12px;border-top:2px solid var(--ink)}
  .eco-toggle{width:100%;background:none;border:none;cursor:pointer;margin-top:14px;padding:10px 0 0;
    display:flex;align-items:center;justify-content:center;gap:6px;font-size:.78rem;font-weight:600;
    letter-spacing:.03em;color:var(--ink-soft);border-top:1px dashed var(--line)}
  .eco-toggle:hover{color:var(--ink)}
  @media (max-width:640px){.eco-cards{grid-template-columns:1fr}}

  .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .stat-grid.three{grid-template-columns:repeat(3,1fr)}
  .stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}
  .stat .when{font-family:"JetBrains Mono";font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
  .stat .num{font-family:"Bricolage Grotesque";font-weight:800;font-size:1.35rem;margin:6px 0 2px;color:var(--ink)}
  .stat .sub{font-size:.84rem;color:var(--approved);font-weight:600}
  .stat .sub2{font-size:.74rem;color:var(--ink-soft);margin-top:3px}
  .invest-band{background:linear-gradient(158deg,#26303b 0%,#1b2630 100%);border:1px solid #2f4753;border-radius:18px;
    padding:26px;color:#ece7e1;margin-top:18px}
  .invest-band h3{font-family:"Bricolage Grotesque";color:#fff;font-size:1.15rem;margin:0 0 6px}
  .invest-band p{color:#bcc4ca;font-size:.92rem;margin:0 0 16px}
  .invest-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .invest-kpis .ik{background:#1f323c;border:1px solid #2f4753;border-radius:12px;padding:14px 16px}
  .invest-kpis .ik .l{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#8ea3ac}
  .invest-kpis .ik .v{font-family:"Bricolage Grotesque";font-weight:800;font-size:1.3rem;margin-top:4px;color:#7fd1a8}
  .premissas{font-size:.82rem;color:var(--ink-soft);margin-top:14px;background:var(--concrete);border-radius:10px;padding:12px 16px}
  .prem{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 20px}
  .prem .pf{display:flex;flex-direction:column;gap:5px}
  .prem label{font-size:.72rem;font-weight:600;color:var(--ink-soft)}
  .prem .box{display:flex;align-items:center;gap:3px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 10px;transition:border-color .15s}
  .prem .box:focus-within{border-color:var(--red)}
  .prem .box span{color:var(--ink-soft);font-size:.85rem;font-family:"JetBrains Mono"}
  .prem .box input{border:none;outline:none;background:transparent;padding:9px 2px;font-family:"JetBrains Mono";font-size:.95rem;color:var(--ink);width:84px}

  .cub-aa-info{font-family:"JetBrains Mono";font-size:.95rem;font-weight:600;color:var(--ink);padding:9px 0 2px}

  .abnb-cmp3 > div{min-width:0}
  .abnb-cmp3 > div > div{overflow-wrap:anywhere}
  @media (max-width:620px){ .abnb-cmp3{grid-template-columns:1fr !important;gap:14px !important} .prem .pf{flex:1 1 100%} .prem .box input{width:100%} }
  .linked{font-family:"JetBrains Mono";font-size:.72rem;color:var(--approved);font-weight:600;margin:-6px 0 14px;display:inline-block}
  .disc{font-size:.78rem;color:var(--ink-soft);margin-top:14px;font-style:italic}
  .assump{display:flex;flex-wrap:wrap;gap:10px 12px;margin:0 0 22px;align-items:flex-end}
  .assump .f{display:flex;flex-direction:column;gap:4px}
  .assump label{font-size:.72rem;color:var(--ink-soft);font-weight:600}
  .assump .ip{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;padding:0 10px;transition:border-color .15s}
  .assump .ip:focus-within{border-color:var(--red)}
  .assump .ip span{color:var(--ink-soft);font-family:"JetBrains Mono";font-size:.8rem}
  .assump .ip input{border:none;outline:none;background:transparent;font-family:"JetBrains Mono";font-size:.9rem;padding:9px 6px;width:84px;color:var(--ink)}
  .assump .src{font-size:.72rem;color:var(--approved);font-weight:600;align-self:center;background:rgba(95,178,102,.12);border:1px solid rgba(95,178,102,.35);border-radius:8px;padding:8px 12px}
  @media (max-width:720px){.stat-grid,.stat-grid.three,.invest-kpis{grid-template-columns:1fr 1fr}}
  @media (max-width:460px){.stat-grid,.stat-grid.three,.invest-kpis{grid-template-columns:1fr}}

  .cen-bloqueio{display:flex;gap:12px;align-items:flex-start;background:rgba(165,127,104,.10);
    border:1px solid rgba(165,127,104,.4);border-left:3px solid var(--taupe);border-radius:10px;
    padding:14px 16px;margin:0 0 26px;width:100%}
  .cen-bloqueio-ic{font-size:17px;line-height:1.4;flex:0 0 auto}
  .cen-bloqueio p{margin:0;font-size:.88rem;color:var(--ink-soft);line-height:1.5}
  .cen-bloqueio p b{color:var(--ink)}

  .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px;border-bottom:2px solid var(--line);padding-bottom:0}
  .tab-btn{font-family:"JetBrains Mono",monospace;font-size:.8rem;font-weight:600;letter-spacing:.04em;
    background:transparent;border:none;color:var(--ink-soft);cursor:pointer;padding:12px 16px;
    border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:8px 8px 0 0;transition:color .18s,border-color .18s,background .18s}
  .tab-btn:hover{color:var(--ink);background:rgba(214,39,44,.05)}
  .tab-btn.active{color:var(--red);border-bottom-color:var(--red)}
  .tab-btn:focus-visible{outline:3px solid var(--red);outline-offset:-2px}
  .tab-panel{display:none;animation:tabin .25s ease}
  .tab-panel.active{display:block}
  @keyframes tabin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  @media (prefers-reduced-motion:reduce){.tab-panel{animation:none}}
  .tab-lead{color:var(--ink-soft);margin:0 0 20px;max-width:70ch;font-size:.96rem}
  .tab-lead b{color:var(--ink)}
  @media (max-width:560px){.tab-btn{flex:1;padding:11px 8px;font-size:.72rem;text-align:center}}

  .print-only { display: none; }
  .btn-baixar-pdf {
    font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: .72rem;
    background: var(--red); color: #fff; border: none; border-radius: 8px;
    padding: 7px 12px; cursor: pointer; letter-spacing: .02em;
  }
  .btn-baixar-pdf:hover { filter: brightness(1.08); }
  .print-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
  .print-actions-hint { font-size: .68rem; color: var(--ink-soft); }

  .btn-ver-mais-parcelas { display: block; width: 100%; margin-top: 10px; font-family: "JetBrains Mono", monospace;
    font-weight: 700; font-size: .78rem; background: transparent; color: #fff; border: 1px solid #3f5a6b;
    border-radius: 10px; padding: 11px 12px; cursor: pointer; letter-spacing: .02em; text-align: center; }
  .btn-ver-mais-parcelas:hover { background: rgba(255,255,255,.07); }
  @media (min-width: 621px) { .btn-ver-mais-parcelas { display: none !important; } }

  #printWatermark{display:none}
  @media print {
    #printWatermark{
      display:block !important; visibility:visible !important; position:fixed;
      top:50%; left:50%; width:78%; max-width:620px;
      transform:translate(-50%,-50%);
      opacity:.16; z-index:9999; pointer-events:none;
    }
    #printWatermark img{width:100%; height:auto; display:block;}

    body * { visibility: hidden !important; }
    #simulador, #simulador * { visibility: visible !important; }
    #simulador { position: absolute; left: 0; top: 0; width: 100%; }
    .sim, .sim-inner { padding: 0 !important; background: #fff !important; box-shadow: none !important; border: none !important; }
    .sim-top, .sim-note, .sim-ref, .ctrl-title, .field:has(#regiaoSel), #regiaoSel, .field:has(#empreendimentoSel),
    .field:has(#tipologiaSel), #torreField, label .hint, .print-actions, .view-toggle, .prod-mark,
    #rendaBloqueio, #idadeBloqueio, details, .disclaimer { display: none !important; }
    .sim-grid { display: grid !important; grid-template-columns: 1fr !important; }
    .controls { display: none !important; }
    .kpi-strip { display: flex !important; gap: 10px !important; }
    .kpi-strip .kpi { flex: 1 !important; }
    #printSummary.print-only {
      display: block !important; font-family: "JetBrains Mono", monospace; color: #000;
      border: 1.5px solid #000; border-radius: 8px; padding: 14px 18px; margin-bottom: 16px; font-size: 12px;
    }
    #printSummary h3 { margin: 0 0 8px; font-size: 15px; }
    #printSummary .ps-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; }
    #printSummary .ps-grid div b { color: #000; }

    .results, .kpi, .kpi-hero, .kpi-strip, table, .table-scroll, .phasebar { background: #fff !important; box-shadow: none !important; }
    .kpis, .kpi, .kpi-hero { color: #000 !important; border: 1px solid #999 !important; }
    .kpi .lbl, .kpi-hero .lbl, .kpi-sub, .phaselegend, .hint { color: #444 !important; }
    .val.mono { color: #000 !important; }
    .table-scroll { max-height: none !important; overflow: visible !important; border: 1px solid #999 !important; width: 100% !important; }
    table { border-collapse: collapse !important; width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
    th, td { color: #000 !important; border: 1px solid #ccc !important; background: #fff !important; white-space: normal !important; word-break: break-word; overflow-wrap: break-word; padding: 5px 6px !important; font-size: 11px !important; }
    th:nth-child(1), td:nth-child(1) { width: 34%; }
    th:nth-child(2), td:nth-child(2) { width: 30%; }
    th:nth-child(3), td:nth-child(3) { width: 36%; text-align: right; }
    thead th { background: #eee !important; }
    tr { page-break-inside: avoid; }
    .phasebar { border: 1px solid #999; }
    .p-obra, .p-amort { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    @page { margin: 16mm; }
  }

/* Botão "Ver mais parcelas" ao lado do título (celular) */
.table-head-titulo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn-ver-mais-parcelas{display:inline-block;width:auto;margin:0;font:inherit;font-size:.74rem;font-weight:600;letter-spacing:.02em;padding:4px 12px;border-radius:999px;border:1px solid var(--taupe);background:transparent;color:var(--taupe);cursor:pointer;text-align:center;line-height:1.4}
.btn-ver-mais-parcelas:hover{background:rgba(165,127,104,.14)}
@media (min-width:621px){.btn-ver-mais-parcelas{display:none !important}}
@media print{#btnVerMaisParcelas{display:none !important}}

/* Fundo do simulador: grade e degradê limitados à altura normal do quadro (a lista aberta não "estica" o fundo) */
.sim{background-color:#1a2530 !important;background-size:100% min(100%, 3800px) !important;background-repeat:no-repeat !important}
.sim::before{bottom:auto !important;height:100%;max-height:3800px}

/* Seta do botão "Baixar PDF" desenhada (igual em iPhone e Android) */
.btn-baixar-pdf .seta-pdf{width:1.05em;height:1.05em;vertical-align:-.15em;margin-right:.25em;fill:currentColor}

/* Texto "Renda mínima" abaixo do campo de renda removido a pedido do cliente */
#rendaHint{display:none !important}

/* PDF em tela estreita (iPhone): parcelas em tabela, igual ao PDF do Android/computador */
@media print and (max-width:620px){
  .table-scroll{max-height:none !important;overflow:visible !important;border:1px solid #999 !important;border-radius:0 !important;margin-top:12px !important}
  table{display:table !important;width:100% !important;min-width:0 !important;table-layout:fixed !important;font-size:11px !important}
  thead{display:table-header-group !important}
  tbody{display:table-row-group !important}
  tr,tbody tr,tbody tr.obra,tbody tr.keys{display:table-row !important;background:#fff !important;border:none !important;border-radius:0 !important;padding:0 !important;margin:0 !important}
  th,td,tbody td,tbody td:first-child{display:table-cell !important;padding:5px 6px !important;border:1px solid #ccc !important;font-size:11px !important;font-weight:400 !important;color:#000 !important;white-space:normal !important}
  th:nth-child(1),td:nth-child(1),tbody td:first-child{width:34% !important;text-align:left !important}
  th:nth-child(2),td:nth-child(2){width:30% !important;text-align:left !important}
  th:nth-child(3),td:nth-child(3){width:36% !important;text-align:right !important}
  tbody td::before{content:none !important;display:none !important}
}

/* iPhone/iPad: o iOS não imprime corretamente elementos "fixed" nem fundos; a marca d'água vira imagens reais empilhadas, uma por página */
@supports (-webkit-touch-callout: none){
  @media print{
    #printWatermark{position:absolute !important;top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;width:auto !important;max-width:none !important;height:auto !important;transform:none !important;overflow:hidden !important}
    #printWatermark img{display:none !important}
    #printWatermark img.marca-pagina{display:block !important;width:100% !important;height:auto !important;max-width:none !important;margin:0 !important}
  }
}