/* E2M — world-class premium polish layer (visual only, no structural change) */
:root{
  --e2m-ease:cubic-bezier(.22,.61,.36,1);
}
/* Smoother, richer type rendering */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{letter-spacing:.002em}
/* Serif display: tighter, more editorial */
.display,.h1,.h2,h1.serif,h2.serif,.pp-hg-h2{letter-spacing:-.022em}
/* Buttons: refined depth + motion */
.btn,.pp-hg-cta,.pp-cta,.pp-study-btn,.pp-gate-btn{
  transition:transform .25s var(--e2m-ease),box-shadow .25s var(--e2m-ease),background .2s ease !important;
}
.btn.blue,.pp-hg-cta{box-shadow:0 10px 28px rgba(11,26,47,.16)}
.btn.blue:hover,.pp-hg-cta:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(11,26,47,.24)}
.btn.ghost:hover{transform:translateY(-1px)}
/* Cards: soft, layered elevation on hover */
.journey,.svc,.jc,.pp-hg-panel,.pp-tile,.card{
  transition:transform .3s var(--e2m-ease),box-shadow .3s var(--e2m-ease),border-color .25s ease !important;
}
.journey:hover,.svc:hover,.jc:hover{transform:translateY(-3px);box-shadow:0 22px 55px rgba(11,26,47,.10)}
.pp-tile:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(11,26,47,.14)}
/* Section rhythm: a touch more breathing room on large screens */
@media(min-width:900px){
  .section,.section.deep,.section.soft,.section.dark{padding-top:74px;padding-bottom:74px}
}
/* Hero legibility is handled by each page's own .hero gradient (see below), not here */
/* Desktop: a left-weighted scrim over the photo so the headline column stays legible and balanced */
.hero .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061729 0%,rgba(6,23,41,.86) 34%,rgba(6,23,41,.35) 62%,rgba(6,23,41,.08) 100%);pointer-events:none}
@media(max-width:980px){
  /* Mobile: photo is full-bleed; darken enough that the light intro text never sits on bright sky */
  .hero .hero-photo::after{background:linear-gradient(180deg,rgba(4,19,34,.80) 0%,rgba(4,19,34,.74) 45%,rgba(4,19,34,.88) 78%,#041322 100%)}
  .hero .lead{color:rgba(255,255,255,.92)!important}
  /* Headline + eyebrow must stay legible over the bright Paulista sky on mobile */
  .hero .display{color:#fff!important;text-shadow:0 2px 14px rgba(4,15,28,.75),0 1px 3px rgba(4,15,28,.9)}
  .hero .display span{color:#f0dca6!important}
  .hero .eyebrow,.hero .eyebrow.darkmode{color:rgba(255,255,255,.9)!important;text-shadow:0 1px 6px rgba(4,15,28,.8)}
}
/* Champagne accent underline motion on text links */
.text-link{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s var(--e2m-ease)}
.text-link:hover{background-size:100% 1px}
/* Passport tiles: crisper icon chips */
.pp-tile-ico,.pp-hg-tile .ti{filter:saturate(1.05)}
/* Subtle grain-free premium divider under sections */
.section+.section{border-top:1px solid rgba(11,26,47,.05)}

/* ---- Home passport: square front cover + ENTRY STAMPS list (compact) ---- */
.pp-home-strip .pp-hg-panel-head,.pp-home-strip .pp-hg-tiles{display:none!important;}
.pp-home-strip .pp-hg-panel{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;}
.pp-hg-visual{margin:0;text-align:center;}
.pp-hg-visual img{width:190px;max-width:44vw;height:auto;display:block;filter:drop-shadow(0 14px 28px rgba(5,11,22,.42));}
.pp-hg-stamps{min-width:0;}
.e2m-es-hdr{font-family:Georgia,serif;font-size:13px;letter-spacing:2.5px;color:#f0dca6;font-weight:600;}
.e2m-es-sub{font-size:12.5px;color:rgba(255,255,255,.7);margin:4px 0 14px;line-height:1.4;}
.e2m-esgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;}
.e2m-es{display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(255,255,255,.94);background:rgba(255,255,255,.05);border:1px solid rgba(217,192,136,.28);border-left:3px solid rgba(217,192,136,.7);border-radius:10px;padding:11px 13px;min-height:0;}
.e2m-es .e2m-es-ico{font-size:18px;line-height:1;filter:saturate(1.05);flex:0 0 auto;}
.e2m-es .e2m-es-tt{font-weight:600;letter-spacing:.2px;}
@media(max-width:640px){.pp-home-strip .pp-hg-panel{grid-template-columns:1fr;gap:16px;justify-items:center;}.pp-hg-visual img{width:150px;}.e2m-esgrid{grid-template-columns:1fr 1fr;}}

/* ---- Home passport: the 8 market-entry areas list ---- */
.pp-hg-list{list-style:none;margin:16px 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;}
.pp-hg-list li{font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.82);padding-left:2px;border-left:2px solid rgba(217,192,136,.5);padding-left:10px;}
.pp-hg-list li b{color:#f0dca6;font-weight:600;display:block;font-size:13px;}
@media(max-width:640px){.pp-hg-list{grid-template-columns:1fr;gap:7px;}}

/* ---- Home passport strip: make it a DARK section so the blue/light rhythm alternates + passport reads premium ---- */
.pp-home-strip{background:linear-gradient(145deg,#071a31,#10345d)!important;border-top:1px solid #081b33!important;border-bottom:1px solid #081b33!important;}
.pp-home-strip .pp-hg-badge{color:#f0dca6!important;}
.pp-home-strip .pp-hg-h2,.pp-home-strip h2{color:#fff!important;}
.pp-home-strip .pp-hg-p,.pp-home-strip p{color:rgba(255,255,255,.82)!important;}
.pp-home-strip .pp-hg-list li{color:rgba(255,255,255,.85);}
.pp-home-strip .pp-hg-cta{background:#f0dca6;color:#0b1a2f;}
.pp-home-strip .pp-hg-trust span{color:rgba(255,255,255,.7);}



/* ===== E2M premium CREAM light section — one warm beige everywhere, full contrast ===== */
.e2m-cream{background:#faf6ec!important;color:#1a2740!important}
.e2m-cream .eyebrow{color:#9a7b2e!important}
.e2m-cream .h2,.e2m-cream h2,.e2m-cream h3,.e2m-cream .h3{color:#0b1a2f!important}
.e2m-cream .lead,.e2m-cream .body,.e2m-cream p{color:#42556e!important}
.e2m-cream .text-link{color:#9a7b2e!important}
/* market-story children */
.e2m-cream .chain-step{background:#fffdf7!important;border:1px solid #e8dcc0!important;border-radius:14px;padding:16px 18px;box-shadow:0 8px 22px rgba(120,90,20,.06)}
.e2m-cream .chain-step span{color:#9a7b2e!important}
.e2m-cream .chain-step b{color:#0b1a2f!important}
.e2m-cream .chain-arrow{color:#c2a86a!important}
.e2m-cream .market-stat{background:#fffdf7!important;border:1px solid #e8dcc0!important;border-radius:16px;box-shadow:0 8px 22px rgba(120,90,20,.06)}
.e2m-cream .market-stat.featured{background:linear-gradient(135deg,#0b1a2f,#12325a)!important;border-color:#0b1a2f!important}
.e2m-cream .stat-value{color:#0b1a2f!important}
.e2m-cream .market-stat.featured .stat-value{color:#f0dca6!important}
.e2m-cream .stat-kicker{color:#9a7b2e!important}
.e2m-cream .market-stat.featured .stat-kicker{color:#f0dca6!important}
.e2m-cream .market-stat p{color:#5a6b82!important}
.e2m-cream .market-stat.featured p{color:rgba(255,255,255,.9)!important}
.e2m-cream .market-story-close span{color:#9a7b2e!important}
.e2m-cream .market-story-close strong{color:#0b1a2f!important}
.e2m-cream .market-story-close p{color:#5a6b82!important}
.e2m-cream .market-sources{color:#7a6a45!important}
.e2m-cream .market-sources a{color:#9a7b2e!important}
/* matrix children (light-matrix) */
.e2m-cream .fit-note{color:#5a6b82!important}
.e2m-cream .fit-note strong{color:#0b1a2f!important}
.e2m-cream .matrix{border-left:1px solid #e2d8bf!important;border-top:1px solid #e2d8bf!important}
.e2m-cream .mcell{background:#fffdf7!important;color:#33475e!important;border-right:1px solid #e2d8bf!important;border-bottom:1px solid #e2d8bf!important}
.e2m-cream .mcell small,.e2m-cream .mcell .small{color:#8a7a55!important}
.e2m-cream .mcell b{color:#0b1a2f!important}
.e2m-cream .mcell.focus{background:linear-gradient(135deg,#0b1a2f,#12325a)!important;color:#fff!important;border-color:#0b1a2f!important}
.e2m-cream .mcell.focus b{color:#fff!important}
.e2m-cream .mcell.focus small,.e2m-cream .mcell.focus .small{color:rgba(255,255,255,.85)!important}
.e2m-cream .axis-y span,.e2m-cream .axis-x span{color:#a08a52!important}
.e2m-cream .axis-y b,.e2m-cream .axis-x b{color:#42556e!important}
/* journey / services / faq cards inside cream */
.e2m-cream .journey,.e2m-cream .faq{background:#fffdf7!important;border:1px solid #e8dcc0!important}
.e2m-cream .journey .num{color:#9a7b2e!important}
.e2m-cream .faq b{color:#0b1a2f!important}
.e2m-cream .faq p{color:#5a6b82!important}

/* ===== Case-studies / proof section: force all links legible on dark ===== */
.section.deep .proof .text-link,
.section.deep .proof-actions .text-link,
.section.deep .partner-proof-link,
.section.deep .proof-external{color:#f0dca6!important;border-bottom-color:rgba(240,220,166,.6)!important}
.section.deep .proof .text-link:hover,
.section.deep .partner-proof-link:hover{color:#ffffff!important;border-bottom-color:#ffffff!important}
.section.deep .proof .role{color:#9fb6ff!important}
.section.deep .partner-proof-copy p,.section.deep .proof p{color:#c8d4e4!important}

/* ===== #7: hide the floating WhatsApp button — it overlapped the Expansion Passport banner. WhatsApp stays reachable in the footer/contact. ===== */
.wa{display:none!important}

/* ===== #3: passport home redesign — image ONLY on right, emoji service grid on left ===== */
.pp-home-strip .pp-hg-panel{display:flex!important;align-items:center;justify-content:center;grid-template-columns:none!important;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;padding:26px 30px!important}
.pp-home-strip .pp-hg-visual img{width:380px!important;max-width:100%!important;filter:drop-shadow(0 22px 44px rgba(5,11,22,.5))}
.pp-hg-svcgrid{margin:18px 0 22px}
.pp-home-strip .pp-hg-svcgrid .e2m-es{background:rgba(255,255,255,.05);border:1px solid rgba(217,192,136,.28);border-left:3px solid rgba(217,192,136,.7);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px}
.pp-home-strip .pp-hg-svcgrid .e2m-es-ico{font-size:18px;line-height:1;flex:0 0 auto}
.pp-home-strip .pp-hg-svcgrid .e2m-es-tt{color:rgba(255,255,255,.94);font-weight:600;font-size:13.5px}
@media(max-width:760px){.pp-home-strip .pp-hg-visual img{width:260px!important}}
