
    :root{
      --navy:#15344f; --navy-2:#234c72; --navy-3:#2f5a83; --text:#2c4053; --muted:#6e8193;
      --line:#dbe5ee; --line-2:#edf3f7; --bg:#ffffff;
      --ifrs-direct:#b30938; --ifrs-endorsed:#d76a87; --ifrs-converged:#edb0c1; --gaap-own:#486b8c;
      --hybrid-fill:#eee8da; --hybrid-stroke:#9b875c; --us-fill:#e4d6bc; --us-stroke:#486b8c;
      --shadow-xl:0 24px 70px rgba(16, 42, 68, .10); --shadow-lg:0 18px 40px rgba(16, 42, 68, .07);
      --shadow-md:0 12px 26px rgba(16, 42, 68, .06); --shadow-sm:0 8px 22px rgba(16, 42, 68, .05);
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0;background:var(--bg);color:var(--text)}
    body{
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:
        radial-gradient(circle at 10% 12%, rgba(46,121,181,.05), transparent 24%),
        radial-gradient(circle at 86% 18%, rgba(201,15,31,.05), transparent 22%),
        linear-gradient(180deg,#ffffff 0%,#fbfdff 55%,#ffffff 100%);
    }
    .hero{min-height:100vh;display:flex;flex-direction:column;}
    .topbar{
      width:min(1600px,96vw); margin:0 auto; padding:24px 0 8px; display:flex; justify-content:space-between; align-items:center; gap:18px;
    }
    .brand{display:flex;align-items:center;gap:12px;font-size:.88rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--navy);}
    .brand-badge{
      width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#f4f9fd,#ffffff);
      border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--navy-2);font-family:Georgia, "Times New Roman", serif;font-size:1.05rem;font-weight:700;
    }
    .top-accent{
      padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:var(--shadow-sm);
      color:var(--muted);font-size:.84rem;line-height:1.25;backdrop-filter:blur(10px);text-align:right;
    }
    .layout{width:min(1600px,96vw);margin:0 auto;padding:10px 0 34px;display:block;flex:1;}
    .hero-card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:var(--shadow-xl);}
    .hero-head{
      padding:36px 42px 18px;border-bottom:1px solid rgba(219,229,238,.75);
      background:radial-gradient(circle at 8% 0%, rgba(61,134,191,.045), transparent 25%),linear-gradient(180deg,rgba(248,251,253,.92) 0%,rgba(255,255,255,.98) 100%);
    }
    h1{margin:0;font-family:Georgia, "Times New Roman", serif;font-size:clamp(2.9rem,5vw,5.9rem);line-height:.95;letter-spacing:-.04em;color:var(--navy);font-weight:700;}
    .subtitle{margin:14px 0 0;max-width:980px;color:#607689;font-size:clamp(1rem,1.45vw,1.45rem);line-height:1.35;}
    .map-wrap{
      position:relative;padding:8px 8px 0 8px;
      background:radial-gradient(circle at 18% 18%, rgba(45,130,189,.045), transparent 23%),radial-gradient(circle at 78% 36%, rgba(210,40,58,.04), transparent 26%);
    }
    #map{width:100%;height:clamp(620px,74vh,920px);position:relative;z-index:1;}
    .jvm-container{background:transparent !important}
    .jvm-zoom-btn{display:none !important}
    .jvm-region{transition:filter .18s ease, stroke-width .18s ease, opacity .18s ease, transform .18s ease;cursor:default;}
    .jvm-region.is-clickable{cursor:pointer}
    .jvm-region.is-clickable:hover{filter:brightness(.92) saturate(1.12) drop-shadow(0 3px 7px rgba(18,52,84,.15));stroke-width:2.15 !important;}
    .jvm-tooltip{
      z-index:99999 !important;position:fixed !important;padding:0 !important;border:none !important;border-radius:18px !important;
      background:rgba(248,249,250,.98) !important;color:var(--text) !important;box-shadow:0 18px 40px rgba(17,43,68,.16) !important;
      backdrop-filter:blur(12px);overflow:hidden !important;width:min(330px, calc(100vw - 24px));
      max-width:min(330px, calc(100vw - 24px)) !important;min-width:0 !important;pointer-events:none !important;
    }
    .tooltip-card{padding:15px 16px 14px;background:linear-gradient(180deg,#fcfcfc 0%,#f5f6f7 100%);white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
    .tooltip-title{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:4px;white-space:normal;}
    .tooltip-class{color:#55697c;font-size:.88rem;font-weight:800;line-height:1.3;margin-bottom:8px;white-space:normal;}
    .tooltip-desc{color:#687d8e;font-size:.86rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
    .tooltip-cta{margin-top:10px;color:#486273;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;white-space:normal;}

    .map-labels{position:absolute;inset:10px;z-index:5;pointer-events:none;}
    .map-label-group{position:absolute;pointer-events:none;}
    .map-label-group button{pointer-events:auto;cursor:pointer;position:relative;z-index:3;}
    .map-line{
      position:absolute;height:2px;background:linear-gradient(90deg,#c6d5e1,#b4c6d4);transform-origin:left center;
      box-shadow:0 1px 0 rgba(255,255,255,.8);z-index:1;opacity:.92;
    }
    .map-line::after{
      content:"";position:absolute;right:-1px;top:50%;width:8px;height:8px;border-radius:50%;background:#ffffff;
      border:2px solid #afc1d1;transform:translateY(-50%);box-shadow:0 2px 6px rgba(17,52,83,.08);
    }
    .map-chip{
      display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.98);
      border:1px solid #dbe5ee;box-shadow:0 10px 26px rgba(17,52,83,.08);color:var(--navy);font-size:.78rem;font-weight:700;
      line-height:1;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;white-space:nowrap;
    }
    .map-chip:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(17,52,83,.12);border-color:#cadcea;background:#ffffff;}
    .map-chip::before{content:"";width:11px;height:11px;border-radius:50%;border:1px solid rgba(18,52,84,.10);background:#dce7f1;flex:0 0 auto;}
    .map-chip.direct::before{background:var(--ifrs-direct)}
    .map-chip.endorsed::before{background:var(--ifrs-endorsed)}
    .map-chip.converged::before{background:var(--ifrs-converged)}
    .map-chip.own::before{background:var(--gaap-own)}
    .map-chip.hybrid::before{width:12px;height:12px;background:linear-gradient(135deg,var(--hybrid-fill) 0 42%,var(--hybrid-stroke) 43% 49%,var(--hybrid-fill) 50% 100%);border:2px solid #9b875c;}
    .map-chip.us::before{width:12px;height:12px;background:var(--us-fill);border:2px solid var(--us-stroke);}

    .legend{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:1px;margin-top:10px;background:var(--line);border-top:1px solid var(--line);}
    .legend-item{background:#fff;padding:18px 18px 16px;min-height:116px;transition:background .16s ease;}
    .legend-item:hover{background:#fbfdff}
    .legend-title{display:flex;align-items:flex-start;gap:10px;color:var(--navy);font-size:.82rem;font-weight:800;line-height:1.22;}
    .swatch{width:18px;height:18px;border-radius:50%;border:1px solid rgba(18,52,84,.12);flex:0 0 auto;margin-top:1px;}
    .swatch.direct{background:var(--ifrs-direct)} .swatch.endorsed{background:var(--ifrs-endorsed)} .swatch.converged{background:var(--ifrs-converged)} .swatch.own{background:var(--gaap-own)}
    .swatch.hybrid{background:linear-gradient(135deg,var(--hybrid-fill) 0 42%,var(--hybrid-stroke) 43% 49%,var(--hybrid-fill) 50% 100%);border:2px solid #9b875c;}
    .swatch.us{background:var(--us-fill);border:3px solid var(--us-stroke);}
    .legend-text{margin:8px 0 0 29px;color:var(--muted);font-size:.735rem;line-height:1.42;}
    .legend-note{padding:16px 22px 22px;text-align:center;color:#5d7487;font-size:.96rem;line-height:1.4;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);}
    .legend-note strong{color:var(--navy)}

    .below-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px 18px 0;background:linear-gradient(180deg,#fcfdff 0%,#ffffff 100%);border-top:1px solid var(--line-2);}
    .feature-card{
      display:block;position:relative;overflow:hidden;text-decoration:none;color:inherit;padding:15px 16px 15px;border-radius:22px;
      background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid #e7eef5;box-shadow:0 8px 22px rgba(18,52,84,.04);
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    }
    .feature-card::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg, rgba(35,76,114,.04), rgba(35,76,114,.22), rgba(35,76,114,.04));transform:scaleX(.6);opacity:0;transition:transform .18s ease, opacity .18s ease;}
    .feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(18,52,84,.09);border-color:#d3e1ed;background:linear-gradient(180deg,#ffffff 0%,#fafdff 100%);}
    .feature-card:hover::after{transform:scaleX(1);opacity:1;}
    .feature-top{display:flex;align-items:center;gap:10px;margin-bottom:9px;}
    .feature-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(18,52,84,.12);flex:0 0 auto;transition:transform .16s ease;}
    .feature-card:hover .feature-dot{transform:scale(1.08)}
    .feature-direct{background:var(--ifrs-direct)} .feature-endorsed{background:var(--ifrs-endorsed)} .feature-converged{background:var(--ifrs-converged)} .feature-own{background:var(--gaap-own)}
    .feature-hybrid{background:linear-gradient(135deg,var(--hybrid-fill) 0 42%,var(--hybrid-stroke) 43% 49%,var(--hybrid-fill) 50% 100%);border:2px solid #9b875c;}
    .feature-us{background:var(--us-fill);border:2px solid var(--us-stroke);}
    .feature-name{color:var(--navy);font-size:.95rem;font-weight:800;line-height:1.2;}
    .feature-tag{margin-left:auto;padding:5px 8px;border-radius:999px;background:#f5f8fb;border:1px solid #e4edf4;color:#607588;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;transition:background .16s ease, border-color .16s ease, transform .16s ease;}
    .feature-card:hover .feature-tag{background:#eef5fa;border-color:#d8e6f1;transform:translateX(1px);}
    .feature-desc{color:var(--muted);font-size:.785rem;line-height:1.43;}

    .extra-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 18px 24px;background:#ffffff;}
    .extra-card{border:1px solid #e7eef5;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 8px 22px rgba(18,52,84,.04);padding:16px 16px 14px;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;}
    .extra-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#d9e5ef;}
    .extra-title{color:var(--navy);font-size:.95rem;font-weight:800;margin-bottom:12px;}
    .mini-list{display:grid;gap:10px;}
    .mini-link{display:flex;align-items:flex-start;gap:10px;text-decoration:none;color:inherit;padding:10px 10px;border-radius:16px;transition:background .16s ease, transform .16s ease, box-shadow .16s ease;}
    .mini-link:hover{background:#f8fbfd;transform:translateY(-1px);box-shadow:0 8px 18px rgba(18,52,84,.04);}
    .mini-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(18,52,84,.12);flex:0 0 auto;margin-top:4px;transition:transform .16s ease;}
    .mini-link:hover .mini-dot{transform:scale(1.1)}
    .mini-name{color:var(--navy);font-size:.83rem;font-weight:800;line-height:1.2;display:block;margin-bottom:2px;}
    .mini-desc{color:var(--muted);font-size:.75rem;line-height:1.35;display:block;}

    .closing-callout{
      margin:0 18px 20px;border:1px solid #e4edf4;border-radius:28px;
      background:radial-gradient(circle at 12% 18%, rgba(46,121,181,.06), transparent 28%),radial-gradient(circle at 88% 24%, rgba(201,15,31,.05), transparent 26%),linear-gradient(180deg,#fcfdff 0%,#ffffff 100%);
      box-shadow:var(--shadow-lg);padding:30px 28px 28px;position:relative;overflow:hidden;
    }
    .closing-callout::before{content:"";position:absolute;inset:auto auto 0 0;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(35,76,114,.05) 0%, rgba(35,76,114,0) 70%);transform:translate(-25%, 35%);pointer-events:none;}
    .closing-eyebrow{
      display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;border:1px solid #dfe9f1;background:rgba(255,255,255,.86);
      color:var(--navy-3);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;
    }
    .closing-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--ifrs-endorsed), var(--gaap-own));display:block;}
    .closing-title{margin:0 0 12px;font-family:Georgia, "Times New Roman", serif;color:var(--navy);font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1.08;letter-spacing:-.02em;}
    .closing-text{margin:0;max-width:1040px;color:var(--muted);font-size:1rem;line-height:1.7;}
    .closing-text strong{color:var(--navy)}
    .closing-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px;}
    .closing-pill{
      display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#ffffff;border:1px solid #e1ebf3;color:var(--navy);font-size:.83rem;
      font-weight:700;box-shadow:0 8px 18px rgba(18,52,84,.04);text-decoration:none;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    }
    .closing-pill:hover{transform:translateY(-2px);box-shadow:0 14px 24px rgba(18,52,84,.08);border-color:#d3e1ed;}
    .closing-pill::before{content:"→";color:#688197;font-weight:800;}


    /* v7.7 — fechamento editorial com imagem institucional */
    .closing-callout{
      display:grid;
      grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);
      gap:34px;
      align-items:center;
      padding:34px 34px 32px;
    }
    .closing-copy{position:relative;z-index:2;}
    .closing-title{
      max-width:900px;
      font-size:clamp(1.85rem,2.7vw,2.8rem);
      line-height:1.07;
    }
    .closing-text{
      max-width:980px;
      font-size:1.01rem;
      line-height:1.72;
    }
    .closing-text + .closing-text{margin-top:12px;}
    .ifrs-visual{
      position:relative;
      z-index:2;
      min-height:290px;
      border-radius:24px;
      border:1px solid #e4e8ec;
      background:linear-gradient(145deg,#ffffff 0%,#f7f8f9 100%);
      box-shadow:0 16px 38px rgba(25,43,58,.08);
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      padding:28px 24px 20px;
      overflow:hidden;
    }
    .ifrs-visual::before{
      content:"";
      position:absolute;
      width:230px;height:230px;border-radius:50%;
      right:-82px;top:-92px;
      background:radial-gradient(circle,rgba(176,0,47,.09),rgba(176,0,47,0) 70%);
    }
    .ifrs-visual::after{
      content:"";
      position:absolute;
      width:180px;height:180px;border-radius:50%;
      left:-82px;bottom:-92px;
      background:radial-gradient(circle,rgba(35,76,114,.08),rgba(35,76,114,0) 70%);
    }
    .ifrs-logo-img{
      position:relative;
      z-index:2;
      width:min(100%,360px);
      height:auto;
      display:block;
      object-fit:contain;
      filter:drop-shadow(0 7px 14px rgba(30,35,40,.06));
    }
    .ifrs-visual-caption{
      position:relative;
      z-index:2;
      margin-top:18px;
      text-align:center;
      color:#788795;
      font-size:.7rem;
      line-height:1.45;
      max-width:290px;
    }
    .ifrs-visual-caption a{color:#60778c;text-decoration:none;font-weight:700;}
    .ifrs-visual-caption a:hover{text-decoration:underline;}
    @media (max-width:980px){
      .closing-callout{grid-template-columns:1fr;gap:22px;}
      .ifrs-visual{min-height:230px;}
      .ifrs-logo-img{width:min(78%,340px);}
    }

    @media (max-width:1180px){ .below-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
    @media (max-width:980px){
      .legend{grid-template-columns:repeat(2,1fr)} .map-labels{display:none} #map{height:560px} .extra-sections{grid-template-columns:1fr}
    }
    @media (max-width:700px){
      .topbar,.layout{width:92vw} .top-accent{display:none} .hero-head{padding:28px 24px 16px} .map-wrap{padding:8px 8px 0} #map{height:470px}
      .legend{grid-template-columns:1fr} .legend-note{padding:14px 18px 20px;font-size:.92rem} .below-grid{grid-template-columns:1fr;padding:18px 14px 0}
      .extra-sections{padding:14px 14px 20px} .closing-callout{margin:0 14px 16px; padding:24px 20px 22px} .closing-text{font-size:.95rem; line-height:1.65}
      .jvm-tooltip{width:min(290px, calc(100vw - 16px));max-width:min(290px, calc(100vw - 16px)) !important;}
    }

    /* v7.1 — callouts anchored to actual SVG regions */
    .callout-lines{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none;overflow:visible;}
    .map-labels{position:absolute;inset:0;z-index:5;pointer-events:none;}
    .anchored-label{position:absolute;transform:translate(-50%,-50%);visibility:hidden;pointer-events:auto;z-index:6;}
    .map-line{display:none !important;}
  