/* Palette trial: loaded only by the public experience homepage. */
:root {
  --graphite: #1a2024;
  --deep: #1a2024;
  --paper: #fafbfa;
  --muted: #b4bdb7;
  --water: #a6e8e3;
  --copper: #ffde5e;
  --forest: #182d20;
  --yellow: #ffde5e;
  --line: rgba(250, 251, 250, .14);
}
body { background: var(--graphite); }
.primary { background: var(--paper); color: var(--graphite); }
.primary:hover { background: var(--water); }
.button:hover { box-shadow: 0 9px 30px #a6e8e316; }
.text-link:hover { color: var(--water); }
.site-nav { border-color: #fafbfa0c; }
.site-nav nav a { color: #d0d8d1; }
.site-nav nav a:hover { color: var(--paper); }
.nav-entry { border-color: #fafbfa30; }
.nav-entry:hover { border-color: #a6e8e370; }
.nav-entry span { color: var(--water); }
.hero { background: var(--graphite); }
.hero-art img { filter: brightness(1.16) saturate(1.08); mix-blend-mode: normal; }
.hero-shade {
  background: linear-gradient(90deg, #1a2024fe 0%, #1a2024f2 31%, #1a20245c 54%, #1a202400 83%),
    linear-gradient(0deg, #1a2024 0%, transparent 21%, transparent 80%, #1a20247a 100%);
}
.hero h1 em { color: var(--paper); }
.hero-description { color: #c3c8cb; }
.hero-note, .hero-bottom a { color: #adb5b9; }
.hero-bottom a span { color: var(--yellow); }
.benefit-number { color: #afbbb2; }
.concrete-list li > span { color: var(--yellow); }
.os-section { background: var(--paper); color: var(--graphite); border-color: #e1e6e1; }
.os-section h2 span, .journey-section h2 span { color: #758087; }
.os-section .section-heading > p, .os-section .os-benefits p { color: #616b71; }
.os-section .os-benefits b { color: var(--graphite); }
.product-film { --film-ink: #1a2024; --film-muted: #636e74; color: var(--graphite); }
.film-window { border-color: #d8e0df; box-shadow: 0 25px 90px #182d2010, 0 4px 16px #182d2007; }
.film-topbar { color: #687477; border-color: #e6eae9; background: linear-gradient(180deg, #fff, #fafbfa); }
.film-mark > span { color: var(--graphite); border-color: #cdd8d7; }
.film-avatar { color: var(--graphite); border-color: #d4dddc; }
.film-sidebar { background: #f3f6f5; border-color: #e2e8e7; }
.film-menu-current { color: var(--graphite); background: #e7f3f1; }
.film-company > i { color: var(--graphite); border-color: #cdd8d7; }
.film-status { color: #44605d; border-color: #d5e0de; }
.film-tabs { border-color: #e4e9e8; }
.film-tabs > span.is-current { color: var(--graphite); border-color: var(--graphite); }
.film-chart-line { stroke: var(--graphite); }
.film-chart circle { fill: var(--yellow); stroke: var(--forest); stroke-width: 1.5px; }
.film-chart-value { fill: var(--graphite); }
#film-area stop { stop-color: #a6e8e3; }
.film-insight .film-faux-link { color: var(--graphite); }
.film-task-status, .film-update { color: #44605d; }
.film-task-status b { background: #6a918c; }
.film-muted-pill { background: #edf4f3; color: #526561; }
.film-check { color: #405c57; border-color: #bacdcc; }
.film-opportunity { background: linear-gradient(135deg, #f5faf9, #fff); border-color: #d8e2e0; }
.film-people > span { background: #edf4f3; color: #586e69; }
.film-people > span + span { background: #f1f4f3; }
.film-faux-button { background: #edf4f3; color: var(--graphite); border-color: #cbd9d6; }
.product-film[data-clicked=true] .film-faux-button { background: var(--water); }
.film-toast { color: var(--graphite); border-color: #d4dfdd; box-shadow: 0 8px 28px #182d201a; }
.film-next > strong { color: #4e6560; }
.film-pointer > svg > path { fill: var(--graphite); }
.film-pointer:after { border-color: #5277706e; }
.film-chapters i:after { background: var(--forest); }
.film-chapters > span.is-current, .product-film figcaption { color: #40534e; }
.film-controls button { color: var(--graphite); border-color: #d9e1df; }
.film-controls button:hover { border-color: #708781; }
.os-section button:focus-visible { outline-color: var(--forest); }
.journey-section { background: var(--paper); color: var(--graphite); border-top: 1px solid #e7ebea; }
.journey-section p { color: #5b656b; }
.journey-tabs { border-color: #182d2025; }
.journey-tabs button { color: #6b767c; }
.journey-tabs button span { color: #5e726e; }
.journey-tabs button.active { color: var(--graphite); border-color: var(--graphite); }
.journey-tabs button:focus-visible { outline-color: var(--forest); }
.journey-footnote { border-color: #182d2022; }
.journey-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.journey-art .journey-vector { width: min(330px, 100%); aspect-ratio: 1; }
.journey-art .journey-vector > img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: normal; }
.footer-linkedin { display: inline-flex; align-items: center; gap: 8px; padding-block: 8px; white-space: nowrap; }
.footer-linkedin svg { flex: none; }
.footer-linkedin:hover { color: var(--paper); }
.footer-note.footer-legal-copy { max-width: 1100px; font-size: 13px; line-height: 1.75; }
.footer-legal-copy p { color: inherit; }
.footer-legal-copy p + p { margin-top: 10px; }
.founders-section { background: var(--forest); }
.founder-art { background: var(--forest); border-color: #fafbfa20; }
.founder-art-caption { background: #182d20; border-color: #fafbfa12; }
.founder-art-caption span:last-child { color: #c0cdc0; }
.academy-section { background: var(--graphite); }
.academy-topics > div { border-color: #fafbfa24; background: linear-gradient(135deg, #a6e8e307, transparent); }
.academy-topics > div > span { color: #c3d6d3; }
.academy-topics > small { color: #a2adaf; }
/* Brazilian Hackers: the community, in the same documentary setting. */
.community-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; }
.community-copy { min-width: 0; }
.community-name { margin-bottom: 26px; }
.community-name img { width: 180px; max-width: 100%; height: auto; }
.community-copy h2 { font-size: clamp(34px, 3.15vw, 46px); line-height: 1.12; margin-bottom: 27px; }
.community-copy > p:not(.community-name) { font-size: 17px; line-height: 1.75; max-width: 490px; }
.community-exchanges { list-style: none; margin: 31px 0 32px; padding: 0; }
.community-exchanges li { padding: 19px 0; border-top: 1px solid var(--line); }
.community-exchanges li:last-child { padding-bottom: 0; }
.community-exchanges h3 { font-size: 17px; line-height: 1.45; letter-spacing: -.015em; font-weight: 500; }
.community-exchanges p { font-size: 15px; line-height: 1.7; margin-top: 6px; max-width: 470px; }
.community-photo { margin: 0; min-width: 0; border: 1px solid #fafbfa20; border-radius: 12px; overflow: hidden; background: var(--graphite); }
.community-photo > img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 20%; }
.community-photo-caption { background: var(--graphite); }
@media (max-width: 1150px) {
  .community-grid { gap: 50px; }
}
@media (max-width: 900px) {
  .founder-grid, .community-grid { grid-template-columns: 1fr; gap: 42px; }
  .founder-copy { grid-row: 1; }
  .community-copy > p:not(.community-name) { max-width: 610px; }
  .community-copy h2 { font-size: 44px; }
  .community-exchanges { max-width: 610px; }
  .community-exchanges p { max-width: none; }
  .founder-art, .community-photo { width: 100%; max-width: 440px; margin-inline: auto; }
}
@media (max-width: 600px) {
  .community-name { margin-bottom: 20px; }
  .community-copy h2 { font-size: clamp(27px, 7.4vw, 40px); line-height: 1.18; letter-spacing: -.04em; }
  .community-copy > p:not(.community-name) { font-size: 16px; }
  .community-exchanges h3 { font-size: 16px; }
}
.faq-list summary { color: #e0e6df; }
.faq-list summary:after { color: #d1dbd2; }
.closing { background: var(--graphite); }
.closing h2 span { color: var(--paper); }
.closing > img { filter: brightness(1.16) saturate(1.08); mix-blend-mode: normal; opacity: .8; }
.closing:after { background: linear-gradient(90deg, #1a2024 34%, #1a202475 65%, #1a202400); }
.footer { color: var(--paper); }
.footer-bottom { color: #a0aea3; }
.footer-note { color: #9caaa0; }
@media(max-width:900px) {
  .site-nav nav.open { background: #1a2024f7; }
  .hero-shade { background: linear-gradient(90deg, #1a2024 0%, #1a2024f2 28%, #1a202462 64%, transparent), linear-gradient(0deg, #1a2024 1%, transparent 25%); }
}
@media(max-width:600px) {
  .hero-shade { background: linear-gradient(180deg, #1a2024f5 0%, #1a2024e0 40%, #1a202438 75%, #1a2024 100%); }
  .closing > img { opacity: .4; }
  .closing:after { background: linear-gradient(90deg, #1a2024ea, #1a202470); }
}

/* Official signature and restrained homepage navigation. */
.site-nav { gap: 26px; }
.brand img { width: 292px; height: auto; }
.site-nav nav { gap: 26px; }
.site-nav nav a { white-space: nowrap; }
.site-nav .mobile-nav-cta { display: none; }
.hero h1 { font-size: clamp(48px, 4.75vw, 70px); max-width: 1030px; line-height: 1.09; color: var(--paper); }
.hero-description { max-width: 555px; }
.hero-note { max-width: 555px; line-height: 1.7; }
@media (max-width: 1200px) and (min-width: 1101px) {
  .brand img { width: 260px; }
  .site-nav, .site-nav nav { gap: 20px; }
  .site-nav nav a, .nav-entry { font-size: 13px; }
}
@media (max-width: 1100px) {
  .site-nav nav { display: none; }
  .site-nav > .nav-entry { display: none; }
  .menu-toggle { display: block; }
  .site-nav nav.open { display: flex; position: absolute; top: 91px; left: 24px; right: 24px; padding: 26px; background: #1a2024fa; backdrop-filter: blur(20px); border: 1px solid var(--line); border-radius: 10px; flex-direction: column; align-items: flex-start; gap: 23px; }
  .site-nav .mobile-nav-cta { display: inline-flex; align-items: center; gap: 15px; padding-top: 20px; margin-top: 1px; border-top: 1px solid var(--line); width: 100%; }
  .site-nav .mobile-nav-cta span { color: var(--water); }
}
@media (max-width: 600px) {
  .brand img { width: min(245px, 65vw); }
  .site-nav { padding-block: 23px; }
  .site-nav nav.open { top: 85px; left: 20px; right: 20px; }
  .hero h1 { font-size: clamp(27px, 8.3vw, 49px); line-height: 1.12; letter-spacing: -.04em; }
  .hero-description { max-width: 365px; }
  .hero-note { max-width: 320px; font-size: 12px; }
}

/* Logo sem slogan no topo, preservando sua escala visual. */
.site-nav .brand img{width:140px;height:auto}@media(max-width:1200px){.site-nav .brand img{width:124px}}@media(max-width:600px){.site-nav .brand img{width:118px}}
