@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--navy:#081a2b;--navy2:#0d2235;--gold:#b9a36a;--white:#f8f9fb;--ink:#172332;--muted:#647181;--line:#dce2e8;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.7}a{text-decoration:none;color:inherit}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:#f8f9fbf2;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-size:13px;font-weight:700;letter-spacing:.13em}.brand-mark{width:34px;height:34px;object-fit:contain;display:block}.brand sup,.footer sup{font-size:8px;vertical-align:super}
.nav{display:flex;gap:24px;font-size:13px;color:#3c4b5a}.nav a{transition:.2s}.nav a:hover{color:var(--gold)}.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--navy)}
.hero{min-height:690px;max-width:var(--max);margin:auto;padding:100px 35px 90px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:55px}.eyebrow,.section-label{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--gold)}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.12;color:var(--navy)}h1{font-size:clamp(46px,6vw,78px);margin:20px 0 26px}h1 span{color:#53687a}h2{font-size:clamp(34px,4vw,54px);margin:18px 0}
.lead{font-size:19px;max-width:650px;color:var(--muted)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.button{display:inline-block;padding:13px 22px;border:1px solid var(--navy);font-size:12px;font-weight:700;transition:.2s}.primary{background:var(--navy);color:#fff}.primary:hover{background:#122d45}.secondary:hover{border-color:var(--gold);color:var(--gold)}
.hero-visual{height:390px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #b9a36a88;border-radius:50%}.orbit-large{width:330px;height:330px}.orbit-small{width:220px;height:220px;border-color:#081a2b55}.decision-core{width:155px;height:155px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--navy);color:#fff;box-shadow:0 0 0 14px #b9a36a18}.decision-core span{font-size:12px;letter-spacing:.18em;font-weight:700}.decision-core small{display:block;max-width:105px;margin-top:10px;color:#c8d0d8;font-size:7px;line-height:1.4;letter-spacing:.1em}
.statement{background:var(--navy);color:#fff;padding:75px max(35px,calc((100% - var(--max))/2));font:30px/1.35 "Playfair Display",Georgia,serif}
.section{max-width:var(--max);margin:auto;padding:110px 35px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:35px}.grid p,.dark p,.library p{color:var(--muted);font-size:17px}.emphasis{font-weight:600;color:var(--navy)!important}
.architecture-map{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);align-self:center}.architecture-map div{background:var(--white);padding:18px 20px;font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--navy)}
.dark{background:var(--navy2);color:#fff;padding:110px max(35px,calc((100% - var(--max))/2))}.dark-inner{max-width:var(--max);margin:auto}.dark h2{color:#fff}.dark p{max-width:780px;color:#b9c4cf}.governance-grid{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 4px}.governance-grid span{border:1px solid #ffffff2e;padding:9px 13px;color:#dbe2e8;font-size:11px;letter-spacing:.06em}.text-link{display:inline-block;margin-top:25px;color:var(--gold);font-size:13px;font-weight:700}
.library{text-align:center;padding:110px 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.library p{max-width:650px;margin:0 auto 30px}.contact{max-width:var(--max);margin:auto;padding:100px 35px;display:flex;justify-content:space-between;align-items:center;gap:35px}.footer{background:#061521;color:#aab6c0;padding:30px 5vw;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.08em}.footer-logo{width:96px;height:112px;object-fit:contain;display:block}
.page-hero{background:var(--navy);color:#fff;padding:100px max(35px,calc((100% - var(--max))/2))}.page-hero h1{color:#fff}.page-body{max-width:900px;margin:auto;padding:85px 35px}.page-body h2{font-size:38px;margin:55px 0 15px}.page-body p{color:var(--muted);font-size:17px}
@media(max-width:820px){.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--white);padding:20px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero,.grid{grid-template-columns:1fr}.hero{padding-top:70px}.hero-visual{height:300px}.orbit-large{width:270px;height:270px}.orbit-small{width:185px;height:185px}.decision-core{width:130px;height:130px}.contact{flex-direction:column;align-items:flex-start}.footer{flex-direction:column;gap:8px}.statement{font-size:25px}}
/* =========================================================
   VIRTU DECISION TRACE®
   Camada visual específica
   ========================================================= */

.overlay-section{
  background:#f1f4f7;
}

.overlay-section .architecture-map{
  margin-top:30px;
}

.decision-core{
  position:relative;
  z-index:2;
}

.hero-visual::before{
  content:"";
  position:absolute;
  width:1px;
  height:330px;
  background:#b9a36a55;
}

.hero-visual::after{
  content:"";
  position:absolute;
  width:330px;
  height:1px;
  background:#b9a36a33;
}

.governance-section{
  position:relative;
  overflow:hidden;
}

.governance-section::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:1px solid #b9a36a22;
  border-radius:50%;
  right:-180px;
  top:-180px;
}

.governance-section .dark-inner{
  position:relative;
  z-index:2;
}

.contact{
  border-top:1px solid var(--line);
}

.contact h2{
  margin-bottom:0;
}

@media(max-width:820px){

  .hero-visual::before{
    height:270px;
  }

  .hero-visual::after{
    width:270px;
  }

  .governance-section::after{
    width:280px;
    height:280px;
    right:-150px;
    top:-100px;
  }

}

/* =========================================================
   DEBATES — blog de repercussão
   ========================================================= */
.nav a[aria-current="page"]{color:var(--gold)}
.nav .nav-cta{border:1px solid var(--gold);color:var(--navy);padding:0 10px;border-radius:2px}
.nav .nav-cta:hover{background:var(--gold);color:#fff}
.page-hero .lead{color:#c8d0d8}
.page-hero .meta{margin-top:22px;font-size:12px;letter-spacing:.08em;color:#9fb0bf}
.page-hero .meta strong{color:var(--gold);font-weight:600}

.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin:40px 0}
.quote{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:28px 28px 24px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.quote blockquote{margin:0;font:20px/1.45 "Playfair Display",Georgia,serif;color:var(--navy)}
.quote blockquote::before{content:"“";color:var(--gold);font-size:44px;line-height:0;vertical-align:-16px;margin-right:4px}
.quote cite{font-style:normal;font-size:12px;color:var(--muted);line-height:1.5}
.quote cite strong{display:block;color:var(--navy);font-size:13px;letter-spacing:.02em}
.dark .quote{background:#0f2a40;border-color:#ffffff1f;border-top-color:var(--gold)}
.dark .quote blockquote{color:#fff}.dark .quote cite{color:#9fb0bf}.dark .quote cite strong{color:var(--gold)}

.post-list{display:grid;gap:22px;margin-top:40px}
.post-card{display:grid;grid-template-columns:260px 1fr;gap:0;background:#fff;border:1px solid var(--line);transition:.2s}
.post-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.post-card img{width:100%;height:100%;min-height:220px;object-fit:cover;object-position:top;display:block}
.post-card .body{padding:30px 32px}
.post-card h3{font:500 27px/1.2 "Playfair Display",Georgia,serif;color:var(--navy);margin:10px 0 12px}
.post-card p{color:var(--muted);font-size:15px;margin:0 0 14px}
.post-card .who{font-size:12px;color:var(--navy);letter-spacing:.04em}
.post-card .more{display:inline-block;margin-top:12px;color:var(--gold);font-size:13px;font-weight:700}

.page-body .points{list-style:none;padding:0;margin:24px 0}
.page-body .points li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px}
.page-body .points li::before{content:"";position:absolute;left:0;top:24px;width:16px;height:1px;background:var(--gold)}
.page-body .points strong{color:var(--navy)}
.wide{max-width:var(--max);margin:auto;padding:0 35px 90px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:28px}
.gallery button{padding:0;border:1px solid var(--line);background:#fff;cursor:zoom-in;display:block}
.gallery img{width:100%;height:auto;display:block}
.gallery.tall img{aspect-ratio:3/4;object-fit:cover;object-position:top}
.lightbox{position:fixed;inset:0;background:#061521ee;display:none;align-items:center;justify-content:center;z-index:100;padding:4vh 4vw;cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:92vh;box-shadow:0 10px 50px #0008}
.lightbox .close{position:absolute;top:18px;right:24px;color:#fff;font-size:30px;background:none;border:0;cursor:pointer}
.note{font-size:13px!important;color:var(--muted);border-left:2px solid var(--gold);padding:4px 0 4px 14px;margin-top:40px}
.post-nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:28px;margin-top:50px;font-size:14px;font-weight:600}
.post-nav a{color:var(--navy)}.post-nav a:hover{color:var(--gold)}
.contact .actions{margin-top:0}
.button.whatsapp{border-color:var(--gold);color:var(--navy)}
.button.whatsapp:hover{background:var(--gold);color:#fff}
@media(max-width:820px){
  .post-card{grid-template-columns:1fr}.post-card img{min-height:0;max-height:260px}
  .nav .nav-cta{padding:0;border:0;color:var(--gold)}
  .quote blockquote{font-size:18px}
}
.page-body:has(+ .wide){padding-bottom:10px}
.wide .quotes{margin-top:10px}
