@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Manrope:wght@400;500;600;700&display=swap');

:root { --font-sans:'Manrope'; --font-serif:'Cormorant Garamond'; --ink:#17191b; --charcoal:#202326; --soft:#f2f0eb; --paper:#faf9f6; --gold:#a38443; --gold-light:#c3a766; --gray:#737574; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Manrope', sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:94px; padding:0 5.5vw; display:flex; align-items:center; justify-content:space-between; background:#17191bf5; color:white; position:fixed; z-index:50; width:100%; backdrop-filter:blur(12px); border-bottom:1px solid #ffffff17; }
.brand img { width:148px; height:auto; object-fit:contain; }
.nav { display:flex; align-items:center; gap:32px; font-size:12px; letter-spacing:.04em; }
.nav a:not(.nav-cta) { color:#ddd; transition:.2s; }
.nav a:hover { color:var(--gold-light); }
.nav-cta { border:1px solid #8f784d; padding:13px 18px; display:flex; gap:25px; align-items:center; }
.menu-button { display:none; background:transparent; border:0; }
.hero { min-height:810px; height:100vh; color:white; background:linear-gradient(125deg,#181b1e 0%,#292d30 62%,#1c1f21 100%); position:relative; overflow:hidden; display:flex; align-items:center; padding:120px 8vw 80px; }
.hero::after { content:""; position:absolute; inset:0; background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px); background-size:88px 88px; mask-image:linear-gradient(to right,transparent,#000); }
.hero-glow { width:640px; height:640px; border-radius:50%; background:#ab8c4c15; filter:blur(20px); position:absolute; right:-80px; top:100px; border:1px solid #aa8c4d2b; }
.hero-content { position:relative; z-index:2; max-width:820px; }
.eyebrow { color:#8b713d; font-size:11px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; margin:0 0 25px; display:flex; align-items:center; gap:12px; }
.eyebrow::before { content:""; width:30px; height:1px; background:currentColor; }
.eyebrow.light { color:#bea05f; }
h1,h2 { font-family:'Cormorant Garamond', serif; font-weight:400; margin:0; line-height:.96; letter-spacing:-.035em; }
h1 { font-size:clamp(62px,7.4vw,115px); max-width:940px; }
h1 em,h2 em { color:var(--gold-light); font-weight:400; }
.hero-copy { color:#c5c5c2; font-size:16px; line-height:1.8; max-width:620px; margin:32px 0 40px; }
.hero-actions { display:flex; align-items:center; gap:35px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; min-width:245px; padding:18px 20px; font-size:12px; font-weight:700; letter-spacing:.04em; transition:.2s; }
.button.gold { background:var(--gold); color:white; }
.button:hover { transform:translateY(-2px); background:#b09251; }
.ui-arrow { width:14px; height:14px; position:relative; display:inline-block; flex:0 0 14px; }
.ui-arrow::before { content:""; width:8px; height:8px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; position:absolute; top:0; right:0; }
.ui-arrow::after { content:""; width:13px; height:1.5px; background:currentColor; position:absolute; left:1px; top:7px; transform:rotate(-45deg); transform-origin:center; }
.ui-arrow.down { transform:rotate(135deg); }
.text-link { font-size:12px; border-bottom:1px solid #777; padding-bottom:7px; }
.text-link span { color:var(--gold-light); margin-left:12px; }
.hero-stats { position:absolute; z-index:3; right:7vw; bottom:46px; display:flex; gap:50px; }
.hero-stats div { border-left:1px solid #957a45; padding-left:15px; display:flex; flex-direction:column; }
.hero-stats strong { font:400 28px var(--font-serif); color:#d7c18f; }
.hero-stats span { font-size:10px; color:#a5a5a3; margin-top:4px; }
.hero-mark { position:absolute; right:-20px; top:125px; font:400 300px var(--font-serif); color:#ffffff04; letter-spacing:-.12em; z-index:1; }
.section { padding:115px 8vw; position:relative; }
.section-number { position:absolute; top:48px; right:6vw; font:500 12px var(--font-sans); color:#a38443; letter-spacing:.2em; }
.intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; }
h2 { font-size:clamp(52px,5.5vw,83px); }
.intro-copy .lead { font:500 25px/1.5 var(--font-serif); color:#343536; margin:0 0 25px; }
.intro-copy > p:not(.lead) { color:#696b6b; font-size:14px; line-height:1.9; max-width:650px; }
.values { margin-top:55px; display:grid; grid-template-columns:repeat(3,1fr); gap:25px; border-top:1px solid #d9d5cc; padding-top:25px; }
.values div { display:grid; grid-template-columns:18px 1fr; gap:5px 9px; }
.values span { color:var(--gold); font-size:10px; margin-top:4px; }
.values strong { font:600 15px var(--font-serif); }
.values small { grid-column:2; color:#7c7c79; line-height:1.5; }
.expertise-section { background:var(--charcoal); color:white; padding-bottom:0; }
.section-heading.split { display:grid; grid-template-columns:1.1fr .6fr; gap:9vw; align-items:end; margin-bottom:70px; }
.section-heading.split > p { color:#a9aaa8; font-size:14px; line-height:1.8; max-width:420px; }
.expertise-list { border-top:1px solid #ffffff25; }
.expertise-list article { display:grid; grid-template-columns:80px 1.1fr 1.4fr 55px; gap:30px; align-items:center; min-height:135px; border-bottom:1px solid #ffffff20; transition:.25s; }
.expertise-list article:hover { background:#ffffff05; padding:0 20px; }
.expertise-number { color:#a78a50; font:400 15px var(--font-serif); }
.expertise-list h3 { font:400 27px var(--font-serif); margin:0; }
.expertise-list p { color:#a8aaa9; font-size:13px; line-height:1.7; max-width:410px; }
.round-arrow { border:1px solid #927a4c; color:#c5a866; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; }
.round-arrow { position:relative; font-size:0; }
.round-arrow::before { content:""; width:11px; height:11px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; position:absolute; top:12px; right:12px; }
.round-arrow::after { content:""; width:15px; height:1.5px; background:currentColor; transform:rotate(-45deg); position:absolute; top:20px; left:12px; transform-origin:center; }
.world-band { margin:80px -8vw 0; padding:35px 8vw; background:#191b1d; display:flex; justify-content:space-between; align-items:center; }
.world-band p { color:#a5a7a7; font-size:12px; }
.world-band div { display:flex; gap:18px; font:400 19px var(--font-serif); }
.world-band b { color:#9e8148; margin-left:18px; }
.portfolio-section { background:#eeece7; }
.dark-text > p { color:#686a69!important; }
.product-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.product-card { min-height:300px; padding:28px 25px; background:#f8f7f3; display:flex; flex-direction:column; position:relative; border:1px solid transparent; transition:.25s; }
.product-card:hover { transform:translateY(-7px); border-color:#b09760; box-shadow:0 15px 30px #30303010; }
.product-top { display:flex; justify-content:space-between; color:#9c9c97; font-size:10px; }
.product-top b { width:38px; height:38px; display:grid; place-items:center; background:#292b2d; color:#cdb579; font:500 12px var(--font-sans); }
.product-card h3 { margin:auto 0 5px; font:500 27px/1.1 var(--font-serif); }
.product-card p { color:#81817e; font-size:11px; margin:4px 0 25px; text-transform:uppercase; letter-spacing:.08em; }
.product-line { height:2px; background:linear-gradient(90deg,var(--gold) 30%,#ddd9d0 30%); }
.ecosystem-section { background:#181b1e; color:white; overflow:hidden; }
.ecosystem-section::before { content:"CMV"; position:absolute; right:-35px; top:35px; font:400 240px/1 var(--font-serif); color:#ffffff04; letter-spacing:-.12em; }
.ecosystem-intro { display:grid; grid-template-columns:.85fr 1.1fr .7fr; gap:6vw; align-items:end; position:relative; z-index:1; margin-bottom:75px; }
.ecosystem-intro .eyebrow { align-self:start; }
.ecosystem-intro > p:last-child { color:#a9aaa8; font-size:13px; line-height:1.8; margin:0; }
.ecosystem-block { display:grid; grid-template-columns:250px 1fr; gap:4vw; padding:42px 0; border-top:1px solid #ffffff20; position:relative; z-index:1; }
.ecosystem-label span { color:#b2965b; font:500 11px var(--font-sans); letter-spacing:.14em; }
.ecosystem-label h3 { font:400 32px var(--font-serif); margin:14px 0 10px; }
.ecosystem-label p { color:#929493; font-size:12px; line-height:1.7; margin:0; }
.logo-grid { display:grid; gap:12px; }
.capitalization-logos { grid-template-columns:repeat(3,1fr); }
.diversified-logos { grid-template-columns:repeat(3,1fr); }
.logo-card { min-width:0; background:#f5f3ee; color:#202326; border:1px solid #ffffff12; padding:20px; display:flex; flex-direction:column; transition:.25s; }
.logo-card:hover { transform:translateY(-5px); border-color:#b99d61; box-shadow:0 18px 40px #0003; }
.logo-frame { height:145px; display:flex; align-items:center; justify-content:center; background:white; margin-bottom:18px; overflow:hidden; }
.logo-frame img { width:100%; height:100%; object-fit:contain; padding:12px; display:block; }
.logo-card h4 { font:500 21px/1.1 var(--font-serif); margin:0 0 8px; }
.logo-card p { color:#6f716f; font-size:10px; line-height:1.55; margin:0; }
.diversified-block { padding-bottom:0; }
.diversified-logos .logo-frame { height:175px; }
.logo-card.featured { background:#ece8de; }
.leadership-section { background:#24272a; color:white; display:grid; grid-template-columns:1fr 1fr; padding:0; min-height:730px; }
.leadership-image { position:relative; min-height:730px; overflow:hidden; }
.leadership-image::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,#1119,transparent 45%); }
.leadership-image img { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.leadership-image > span { position:absolute; z-index:2; left:45px; bottom:35px; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.leadership-copy { padding:100px 8vw 80px 6vw; }
.leadership-copy h2 { margin-bottom:40px; }
.leadership-copy .quote { font:italic 21px/1.5 var(--font-serif); color:#d4c6a4; border-left:1px solid #a4864a; padding-left:25px; margin:0 0 30px; }
.leadership-copy > p:not(.eyebrow):not(.quote) { color:#abadac; font-size:13px; line-height:1.8; }
.linkedin-link { display:inline-flex; gap:35px; padding-bottom:8px; border-bottom:1px solid #8b764c; color:#d3bc85; font-size:12px; margin-top:20px; }
.offices-section { background:#f5f3ee; }
.office-feature { display:grid; grid-template-columns:1.6fr .8fr; min-height:510px; }
.office-image { position:relative; }
.office-image img { width:100%; height:100%; object-fit:cover; display:block; }
.office-address { padding:60px; background:#222528; color:white; display:flex; flex-direction:column; justify-content:center; }
.office-address span,.recife-card span { color:#b89a59; font-size:10px; letter-spacing:.18em; }
.office-address h3,.recife-card h3 { font:400 38px var(--font-serif); margin:15px 0; }
.office-address p,.recife-card p { color:#b7b8b7; font-size:13px; line-height:1.8; }
.office-address a,.recife-card a { color:#cfb573; font-size:11px; border-bottom:1px solid #8e7849; align-self:flex-start; padding-bottom:7px; margin-top:20px; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
.gallery-grid > div { position:relative; height:230px; overflow:hidden; }
.gallery-grid img { width:100%; height:100%; object-fit:cover; transition:.4s; display:block; }
.gallery-grid > div:hover img { transform:scale(1.03); }
.recife-card { margin-top:65px; display:grid; grid-template-columns:1fr 1fr; min-height:360px; background:#dedbd3; }
.recife-photo { position:relative; }
.recife-photo img { width:100%; height:100%; object-fit:contain; display:block; }
.recife-card > div:last-child { padding:55px; display:flex; flex-direction:column; justify-content:center; }
.recife-card p { color:#646664; }
.contact-section { background:#1c1f21; color:white; padding:100px 8vw; display:grid; grid-template-columns:1.4fr .7fr; gap:9vw; align-items:end; }
.contact-section h2 { font-size:clamp(48px,5vw,74px); }
.contact-copy p { color:#b2b3b1; font-size:14px; line-height:1.8; margin-bottom:30px; }
.contact-copy .linkedin-link { display:flex; width:max-content; margin-top:22px; }
.contact-copy .contact-email { margin:18px 0 0; font-size:12px; color:#d4c18f; }
footer { background:#151719; color:#a9aaa8; padding:55px 8vw 25px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:40px; align-items:start; }
footer img { width:130px; height:auto; }
footer p { font:400 18px/1.5 var(--font-serif); margin:0; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; font-size:11px; gap:12px; }
.footer-links a:hover { color:#c4a766; }
.footer-bottom { grid-column:1/-1; border-top:1px solid #ffffff18; padding-top:22px; margin-top:25px; display:flex; justify-content:space-between; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }

@media (max-width: 900px) {
  body.menu-open { overflow:hidden; }
  .site-header { height:76px; padding:0 22px; background:#17191b; backdrop-filter:none; }
  .brand img { width:125px; }
  .menu-button { display:flex; width:42px; height:42px; padding:0; flex-direction:column; gap:7px; align-items:center; justify-content:center; z-index:70; cursor:pointer; }
  .menu-button span { width:25px; height:2px; background:white; transition:transform .25s ease; }
  .menu-button[aria-expanded="true"] span:first-child { transform:translateY(4.5px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:last-child { transform:translateY(-4.5px) rotate(-45deg); }
  body.menu-open::after { content:""; position:fixed; inset:76px 0 0; z-index:40; background:#0009; }
  .nav { position:fixed; top:76px; right:0; bottom:0; width:min(86vw,380px); z-index:60; background:#181a1c!important; opacity:1; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:0; padding:34px 26px 42px; font-size:17px; transform:translateX(105%); visibility:hidden; pointer-events:none; transition:transform .3s ease,visibility .3s ease; overflow-y:auto; box-shadow:-18px 0 45px #0008; }
  .nav.open { transform:translateX(0); visibility:visible; pointer-events:auto; }
  .nav a:not(.nav-cta) { color:#f3f1eb; padding:20px 4px; border-bottom:1px solid #ffffff1c; font-family:var(--font-serif); font-size:25px; }
  .nav-cta { margin-top:24px; color:white; background:#a38443; border-color:#a38443; justify-content:space-between; }
  .hero { min-height:760px; height:auto; padding:140px 24px 110px; align-items:flex-start; }
  h1 { font-size:60px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .hero-stats { position:relative; right:auto; bottom:auto; margin-top:70px; gap:20px; display:grid; grid-template-columns:repeat(3,1fr); }
  .hero-stats span { font-size:8px; }
  .section { padding:90px 24px; }
  .section-number { right:24px; top:28px; }
  .intro-grid,.section-heading.split { grid-template-columns:1fr; gap:50px; }
  .values { grid-template-columns:1fr; }
  .expertise-list article { grid-template-columns:34px 1fr; gap:10px 14px; min-height:0; padding:28px 48px 28px 0; position:relative; }
  .expertise-list h3 { font-size:25px; line-height:1.15; }
  .expertise-list article p { grid-column:2; margin:0; }
  .round-arrow { position:absolute; right:0; top:28px; width:38px; height:38px; }
  .world-band { flex-direction:column; align-items:flex-start; gap:20px; }
  .world-band div { flex-wrap:wrap; font-size:17px; }
  .product-grid { grid-template-columns:1fr; }
  .product-card { min-height:210px; }
  .ecosystem-intro { grid-template-columns:1fr; gap:28px; margin-bottom:50px; }
  .ecosystem-block { grid-template-columns:1fr; gap:28px; }
  .capitalization-logos,.diversified-logos { grid-template-columns:repeat(2,1fr); }
  .leadership-section { grid-template-columns:1fr; }
  .leadership-image { min-height:500px; }
  .leadership-copy { padding:80px 24px; }
  .office-feature,.recife-card { grid-template-columns:1fr; }
  .office-image,.recife-photo { min-height:390px; }
  .office-address,.recife-card > div:last-child { padding:45px 30px; }
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-grid > div { height:290px; }
  .contact-section { grid-template-columns:1fr; padding:86px 24px 76px; gap:42px; }
  .contact-section h2 { font-size:46px; }
  .contact-copy .button { width:100%; min-width:0; }
  .contact-copy .contact-email { margin-top:22px; }
  footer { grid-template-columns:1fr 1fr; padding:50px 24px 25px; }
  .footer-links { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; gap:10px; }
}

@media (max-width: 520px) {
  h1 { font-size:52px; }
  h2 { font-size:47px; }
  .hero-stats { grid-template-columns:1fr; }
  .hero-stats div { flex-direction:row; gap:10px; align-items:center; }
  .hero-mark { font-size:180px; }
  .capitalization-logos,.diversified-logos { grid-template-columns:1fr; }
  .logo-frame,.diversified-logos .logo-frame { height:175px; }
  footer { grid-template-columns:1fr; }
  .world-band div { gap:10px 14px; }
  .world-band b { margin-left:14px; }
}

/* Proposta visual após a retirada das seções de empresas */
.leadership-section {
  background:#d8d1c4;
  color:#1b1d1f;
}
.leadership-image { background:#17191b; color:#fff; }
.leadership-copy .eyebrow.light { color:#806a3e; }
.leadership-copy h2 { color:#1b1d1f; }
.leadership-copy .quote { color:#5e4a27; border-left-color:#9a7d43; }
.leadership-copy > p:not(.eyebrow):not(.quote) { color:#565754; }
.leadership-copy .linkedin-link { color:#6f572b; border-bottom-color:#9a7d43; }

.contact-section {
  position:relative;
  background:linear-gradient(135deg,#665334 0%,#826b3e 58%,#57472f 100%);
}
.contact-section .section-number { color:#ead9ad; }
.contact-section .button.gold { background:#191c1e; color:#fff; }
.contact-section .linkedin-link { color:#fff; border-bottom-color:#d7c28e; }
.contact-section .contact-email a { color:#f1e6ca; }
footer { border-top:1px solid #ffffff16; }
.footer-linkedin { color:#d3bc85; }
