:root{
  /* Brand palette pulled from logo (dominant blues + metallic grays) */
  --brand-900:#082058;
  --brand-850:#082060;
  --brand-800:#082870;
  --brand-700:#083078;

  --silver-50:#f5f6f8;
  --silver-100:#e8e8e8;
  --silver-200:#d8d8d8;
  --silver-300:#d0d0d0;
  --silver-350:#c8c8c8;
  --steel-600:#686868;

  --ink:#0b1220;
  --muted:#475569;
  --bg:#f7f8fb;
  --card:#ffffff;
  --line: rgba(8, 32, 88, .14);

  --shadow-sm: 0 10px 28px rgba(2, 6, 23, .08);
  --shadow: 0 28px 70px rgba(2, 6, 23, .14);
  --radius: 22px;

  /* Theme tokens (keep contrast stable across light/dark). */
  --t-nav-bg: rgba(247, 248, 251, .70);
  --t-nav-border: rgba(8, 32, 88, .10);
  --t-link: rgba(11, 18, 32, .84);
  --t-link-muted: rgba(11, 18, 32, .70);
  --t-border: rgba(8, 32, 88, .12);
  --t-border-soft: rgba(8, 32, 88, .10);
  --t-surface: rgba(255,255,255,.80);
  --t-surface-strong: rgba(255,255,255,.92);
  --t-surface-weak: rgba(255,255,255,.72);
  --t-kicker-bg: rgba(8, 32, 88, .06);
  --t-kicker-border: rgba(8, 32, 88, .12);
  --t-chip-bg: rgba(8, 32, 88, .04);
  --t-chip-border: rgba(8, 32, 88, .08);
  --t-icon-bg: linear-gradient(135deg, rgba(8, 32, 88, .08), rgba(8, 48, 120, .12));
  --t-icon-border: rgba(8, 48, 120, .16);

  --font-display: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-body: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --container: 1160px;

  /* Pointer-driven background glow (desktop only; JS updates). */
  --mx: 50%;
  --my: 20%;
}

:root[data-theme="dark"]{
  --ink:#e5e7eb;
  --muted:#a3adbb;
  --bg:#070a12;
  --card:#0f172a;
  --line: rgba(255,255,255,.12);

  --shadow-sm: 0 12px 32px rgba(0, 0, 0, .35);
  --shadow: 0 30px 80px rgba(0, 0, 0, .55);

  --t-nav-bg: rgba(7, 10, 18, .72);
  --t-nav-border: rgba(255,255,255,.10);
  --t-link: rgba(229,231,235,.86);
  --t-link-muted: rgba(229,231,235,.72);
  --t-border: rgba(255,255,255,.12);
  --t-border-soft: rgba(255,255,255,.10);
  --t-surface: rgba(15,23,42,.76);
  --t-surface-strong: rgba(15,23,42,.90);
  --t-surface-weak: rgba(15,23,42,.62);
  --t-kicker-bg: rgba(96,165,250,.12);
  --t-kicker-border: rgba(96,165,250,.20);
  --t-chip-bg: rgba(255,255,255,.06);
  --t-chip-border: rgba(255,255,255,.10);
  --t-icon-bg: linear-gradient(135deg, rgba(96,165,250,.14), rgba(167,139,250,.10));
  --t-icon-border: rgba(255,255,255,.14);
}

@media (prefers-color-scheme: dark){
  :root[data-theme="auto"]{
    --ink:#e5e7eb;
    --muted:#a3adbb;
    --bg:#070a12;
    --card:#0f172a;
    --line: rgba(255,255,255,.12);

    --shadow-sm: 0 12px 32px rgba(0, 0, 0, .35);
    --shadow: 0 30px 80px rgba(0, 0, 0, .55);

    --t-nav-bg: rgba(7, 10, 18, .72);
    --t-nav-border: rgba(255,255,255,.10);
    --t-link: rgba(229,231,235,.86);
    --t-link-muted: rgba(229,231,235,.72);
    --t-border: rgba(255,255,255,.12);
    --t-border-soft: rgba(255,255,255,.10);
    --t-surface: rgba(15,23,42,.76);
    --t-surface-strong: rgba(15,23,42,.90);
    --t-surface-weak: rgba(15,23,42,.62);
    --t-kicker-bg: rgba(96,165,250,.12);
    --t-kicker-border: rgba(96,165,250,.20);
    --t-chip-bg: rgba(255,255,255,.06);
    --t-chip-border: rgba(255,255,255,.10);
    --t-icon-bg: linear-gradient(135deg, rgba(96,165,250,.14), rgba(167,139,250,.10));
    --t-icon-border: rgba(255,255,255,.14);
  }
}

/* Floating WhatsApp button */
:root{
  --wa-bg: #25D366;
  --wa-bg2: #1EBE57;
  --wa-fg: #ffffff;
  --wa-ring: rgba(8, 48, 120, .22);
}
:root[data-theme="dark"]{
  --wa-ring: rgba(96, 165, 250, .20);
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"]{
    --wa-ring: rgba(96, 165, 250, .20);
  }
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{ height:100%; }
body{
  margin:0;
  color:var(--ink);
  overflow-x: hidden;
  background:
    radial-gradient(900px 600px at 10% 10%, rgba(8, 48, 120, .10), transparent 60%),
    radial-gradient(900px 600px at 92% 14%, rgba(208, 208, 208, .25), transparent 55%),
    radial-gradient(700px 520px at 70% 95%, rgba(8, 32, 88, .08), transparent 60%),
    radial-gradient(780px 520px at var(--mx) var(--my), rgba(8, 48, 120, .10), transparent 60%),
    linear-gradient(180deg, #ffffff, var(--bg));
  font-family:var(--font-body);
  line-height:1.5;
}

:root[data-theme="dark"] body{
  background:
    radial-gradient(900px 620px at 12% 10%, rgba(96, 165, 250, .14), transparent 60%),
    radial-gradient(900px 620px at 92% 14%, rgba(167, 139, 250, .10), transparent 55%),
    radial-gradient(700px 520px at 70% 95%, rgba(208, 208, 208, .06), transparent 60%),
    radial-gradient(820px 560px at var(--mx) var(--my), rgba(96, 165, 250, .10), transparent 60%),
    linear-gradient(180deg, #070a12, #0b1220);
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"] body{
    background:
      radial-gradient(900px 620px at 12% 10%, rgba(96, 165, 250, .14), transparent 60%),
      radial-gradient(900px 620px at 92% 14%, rgba(167, 139, 250, .10), transparent 55%),
      radial-gradient(700px 520px at 70% 95%, rgba(208, 208, 208, .06), transparent 60%),
      radial-gradient(820px 560px at var(--mx) var(--my), rgba(96, 165, 250, .10), transparent 60%),
      linear-gradient(180deg, #070a12, #0b1220);
  }
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

.wa-float{
  position: fixed;
  right: 18px;
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  color: var(--wa-fg);
  text-decoration: none;
  background: linear-gradient(135deg, var(--wa-bg), var(--wa-bg2));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 44px rgba(2, 6, 23, .18);
  transform: translateY(0);
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.wa-float::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius: inherit;
  background: radial-gradient(circle at 30% 30%, var(--wa-ring), transparent 62%);
  opacity: .85;
  filter: blur(10px);
  z-index: -1;
  pointer-events:none;
}
.wa-float:hover{
  transform: translateY(-1px);
  filter: saturate(1.05);
  box-shadow: 0 22px 56px rgba(2, 6, 23, .22);
}
.wa-float:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(255,255,255,.55), 0 0 0 8px rgba(8, 48, 120, .22), 0 18px 44px rgba(2, 6, 23, .18);
}
.wa-ico{
  width: 22px;
  height: 22px;
  display:grid;
  place-items:center;
  flex: 0 0 auto;
}
.wa-ico svg{
  width: 22px;
  height: 22px;
  fill: currentColor;
  display:block;
}
.wa-text{
  font-family: var(--font-display);
  font-weight: 780;
  font-size: 13px;
  letter-spacing: .01em;
}
@media (max-width: 520px){
  .wa-float{
    width: 56px;
    height: 56px;
    padding: 0;
    justify-content:center;
  }
  .wa-text{ display:none; }
}

/* Extra-small headers: keep everything in one row without overflow */
@media (max-width: 480px){
  .theme-label{ display:none; }
  .theme{ padding: 7px 8px; gap: 8px; }
  .theme-select{ padding: 7px 8px; }
  .menu-btn{ padding: 9px 10px; }
}
@media (max-width: 360px){
  .top-actions{ gap: 8px; }
  .brand img{ width: 104px; }
}

.skip{
  position:absolute;
  left:-9999px;
  top:10px;
  padding:10px 12px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:var(--shadow-sm);
  z-index: 9999;
}
.skip:focus{ left: 12px; }

.container{
  width:min(var(--container), calc(100% - 36px));
  margin:0 auto;
}
@media (max-width: 420px){
  .container{ width:min(var(--container), calc(100% - 28px)); }
}

/* Header */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: var(--t-nav-bg);
  border-bottom:1px solid var(--t-nav-border);
}
.topbar .in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 12px 0;
}
.top-actions{
  display:flex;
  align-items:center;
  gap: 12px;
  min-width: 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  min-width: 0;
}
.brand img{
  width: 132px;
}
.brand .name{
  display:none;
  font-family: var(--font-display);
  font-weight: 720;
  letter-spacing: -.02em;
}

.nav{
  display:flex;
  align-items:center;
  gap: 14px;
}
.nav a{
  text-decoration:none;
  font-size: 13px;
  color: var(--t-link);
  padding: 10px 10px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.nav a:hover{
  background: var(--t-kicker-bg);
  border-color: var(--t-kicker-border);
}
.nav a:focus-visible{
  outline: none;
  border-color: var(--t-kicker-border);
  box-shadow: 0 0 0 4px rgba(8, 48, 120, .18);
}

.btn{
  appearance:none;
  border:1px solid var(--t-border);
  background: var(--t-surface-weak);
  color: var(--ink);
  padding: 11px 14px;
  border-radius: 14px;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight: 650;
  box-shadow: var(--shadow-sm);
  transition: transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
/* Keep header/menu buttons natural size; use full-width only inside specific mobile stacks (e.g. CTA). */
.btn:hover{
  transform: translateY(-1px);
  border-color: var(--t-kicker-border);
  box-shadow: 0 16px 34px rgba(2, 6, 23, .10);
}
.btn:focus-visible{
  outline: none;
  border-color: var(--t-kicker-border);
  box-shadow: 0 0 0 4px rgba(8, 48, 120, .18), 0 16px 34px rgba(2, 6, 23, .10);
}
.btn.primary{
  color: #fff;
  background: linear-gradient(135deg, var(--brand-900), var(--brand-700));
  border-color: rgba(8, 48, 120, .24);
}
.btn.primary:hover{
  background: linear-gradient(135deg, var(--brand-850), #0a3e9a);
  border-color: rgba(8, 48, 120, .30);
}
.btn.ghost{
  background: transparent;
  box-shadow:none;
  color: var(--t-link);
}

.menu-btn{
  display:none;
  border-radius: 14px;
  padding: 10px 12px;
}

/* Mobile nav */
@media (max-width: 920px){
  :root.nav-open{ overflow:hidden; }
  :root.nav-open body{ overflow:hidden; }

  .top-actions{ justify-content:flex-end; }

  .menu-btn{ display:inline-flex; }
  .nav{
    position: fixed;
    left: 18px;
    right: 18px;
    top: 86px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap: 8px;
    padding: 10px;
    background: var(--t-surface-strong);
    border: 1px solid var(--t-border);
    border-radius: 18px;
    box-shadow: var(--shadow);
    max-height: calc(100vh - 120px);
    overflow:auto;
    opacity: 0;
    visibility:hidden;
    pointer-events:none;
    transform: translateY(-8px) scale(.98);
    transform-origin: top center;
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  .nav[data-open="true"]{
    opacity: 1;
    visibility: visible;
    pointer-events:auto;
    transform: translateY(0) scale(1);
    transition: opacity .18s ease, transform .18s ease, visibility 0s;
  }
  .nav a{ padding: 12px 12px; }
  .nav a.btn{
    padding: 11px 14px;
    border-radius: 14px;
    justify-content:center;
  }
  .brand img{ width: 118px; }
}

@media (max-width: 520px){
  .topbar .in{
    flex-wrap:wrap;
    gap: 10px;
  }
  .top-actions{
    width: 100%;
    justify-content:flex-end;
  }
}

/* Theme selector */
.theme{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--t-border);
  background: var(--t-surface-weak);
  box-shadow: var(--shadow-sm);
}
.theme-label{
  font-size: 12px;
  color: var(--t-link-muted);
  white-space:nowrap;
}
.theme-select{
  font: inherit;
  font-size: 12px;
  color: var(--t-link);
  background: transparent;
  border: 1px solid var(--t-border-soft);
  border-radius: 999px;
  padding: 7px 10px;
  outline: none;
  width: 112px;
}
.theme-select:focus{
  border-color: var(--t-kicker-border);
  box-shadow: 0 0 0 4px rgba(8, 48, 120, .18);
}
@media (max-width: 920px){
  .top-actions{ gap: 10px; }
  .theme{ padding: 7px 9px; }
  .theme{ display:none; }
}

/* Theme selector inside mobile menu */
.nav-tools{ display:none; }
@media (max-width: 920px){
  .nav-tools{
    display:grid;
    gap: 8px;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid var(--t-border-soft);
    background: var(--t-surface-weak);
  }
  .nav-tools-label{
    font-size: 12px;
    color: var(--t-link-muted);
    font-family: var(--font-display);
    font-weight: 750;
    letter-spacing: -.01em;
  }
  .nav-tools-select{
    font: inherit;
    font-size: 13px;
    color: var(--t-link);
    background: transparent;
    border: 1px solid var(--t-border);
    border-radius: 999px;
    padding: 9px 12px;
    outline: none;
    width: 100%;
  }
  .nav-tools-select:focus{
    border-color: var(--t-kicker-border);
    box-shadow: 0 0 0 4px rgba(8, 48, 120, .18);
  }
}

/* Hero */
.hero{
  padding: 54px 0 24px;
  scroll-margin-top: 86px;
}
.hero .grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 26px;
  align-items:center;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--t-kicker-bg);
  border: 1px solid var(--t-kicker-border);
  width: fit-content;
  max-width: 100%;
  flex-wrap: wrap;
  color: var(--t-link);
  font-size: 13px;
}
.kdot{
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand-900), var(--brand-700));
  box-shadow: 0 0 0 6px rgba(8, 48, 120, .10);
}
.hero h1{
  font-family: var(--font-display);
  font-weight: 780;
  letter-spacing: -.04em;
  line-height: 1.02;
  margin: 14px 0 12px;
  font-size: clamp(34px, 4.6vw, 58px);
}
@media (max-width: 520px){
  .hero{ padding: 42px 0 18px; }
  .hero h1{
    font-size: clamp(28px, 8.2vw, 44px);
    line-height: 1.06;
  }
  .hero p{ font-size: 15px; }
  .cta{ display:flex; flex-direction:column; }
  .cta .btn{ width:100%; justify-content:center; }
}
.hero p{
  margin: 0 0 14px;
  color: var(--t-link-muted);
  font-size: 16px;
  max-width: 62ch;
}
.cta{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 18px;
}
@media (max-width: 980px){
  .cta{
    display:grid;
    grid-template-columns: 1fr;
  }
  .cta .btn{ width: 100%; justify-content:center; }
}
@media (min-width: 421px) and (max-width: 980px){
  .cta{ grid-template-columns: 1fr 1fr; }
  .cta .btn:last-child{ grid-column: 1 / -1; }
}

/* Force safe stacking on small phones (avoid any accidental override). */
@media (max-width: 520px){
  .cta{
    display:grid !important;
    grid-template-columns: 1fr !important;
  }
  .cta .btn{
    width: 100% !important;
    justify-content:center;
  }
}
.hero .note{
  margin-top: 16px;
  display:flex;
  gap: 12px;
  flex-wrap:wrap;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--t-surface-weak);
  border: 1px solid var(--t-border-soft);
  color: var(--t-link-muted);
  font-size: 12px;
  max-width: 100%;
}
.pill strong{
  font-weight: 720;
  color: var(--t-link);
}

.hero-card{
  border-radius: var(--radius);
  border: 1px solid var(--t-border);
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.66));
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
}
:root[data-theme="dark"] .hero-card{
  background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.64));
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"] .hero-card{
    background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(15,23,42,.64));
  }
}
.hero-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(700px 420px at 20% 10%, rgba(8, 48, 120, .16), transparent 55%),
    radial-gradient(540px 380px at 80% 40%, rgba(208, 208, 208, .36), transparent 55%),
    radial-gradient(600px 420px at 60% 95%, rgba(8, 32, 88, .10), transparent 62%);
  pointer-events:none;
}
.hero-card .pad{
  position:relative;
  padding: 18px;
  display:grid;
  gap: 12px;
}
.hero-figure{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid var(--t-border-soft);
  background: linear-gradient(180deg, #fff, rgba(247,248,251,.92));
  padding: 0;
}
:root[data-theme="dark"] .hero-figure{
  background: linear-gradient(180deg, rgba(15,23,42,.86), rgba(15,23,42,.62));
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"] .hero-figure{
    background: linear-gradient(180deg, rgba(15,23,42,.86), rgba(15,23,42,.62));
  }
}
.hero-figure img{
  width:100%;
  height:auto;
}
.hero-photo img{
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display:block;
}
.hero-list{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.mini{
  border-radius: 18px;
  border: 1px solid var(--t-border-soft);
  background: var(--t-surface-weak);
  padding: 12px;
}
.mini .t{
  font-family: var(--font-display);
  font-weight: 720;
  letter-spacing: -.02em;
}
.mini .s{
  margin-top: 2px;
  color: var(--t-link-muted);
  font-size: 12px;
}

@media (max-width: 980px){
  .hero{ padding-top: 38px; }
  .hero .grid{ grid-template-columns: 1fr; }
  .hero-list{ grid-template-columns: 1fr; }
}

/* Sections */
section.block{
  padding: 56px 0;
  scroll-margin-top: 86px;
}
@media (max-width: 520px){
  section.block{ padding: 44px 0; }
}
.section-hd{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  margin-bottom: 18px;
}
.section-hd h2{
  font-family: var(--font-display);
  font-weight: 780;
  letter-spacing: -.03em;
  margin:0;
  font-size: clamp(22px, 2.6vw, 32px);
}
.section-hd p{
  margin: 0;
  color: var(--t-link-muted);
  max-width: 72ch;
  font-size: 14px;
}

.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.card{
  border-radius: var(--radius);
  border: 1px solid var(--t-border);
  background: var(--t-surface);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}
.card .icon{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid var(--t-icon-border);
  background: var(--t-icon-bg);
  display:grid;
  place-items:center;
}
.card h3{
  font-family: var(--font-display);
  margin: 12px 0 6px;
  font-weight: 760;
  letter-spacing: -.02em;
}
.card p{
  margin:0;
  color: var(--t-link-muted);
  font-size: 14px;
}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items:start;
}

/* Empresa: texto longo + coluna de "baloes" alinhada e com largura mais natural */
#empresa .split{
  grid-template-columns: 1fr;
  grid-template-areas:
    "aside"
    "main";
}
#empresa .split > .panel{ grid-area: main; }
#empresa .split > .empresa-aside{ grid-area: aside; }
#empresa .empresa-aside{ align-self: start; }
@media (min-width: 981px){
  #empresa .split{
    grid-template-columns: 1.35fr .65fr;
    grid-template-areas: "main aside";
  }
  #empresa .empresa-aside{
    position: sticky;
    top: 92px;
  }
}
.profile-grid{
  display:grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 16px;
  align-items:start;
}
.profile-card .profile-head{
  display:flex;
  gap: 14px;
  align-items:center;
}
.avatar{
  width: 112px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  overflow:hidden;
  border: 1px solid var(--t-border);
  background: var(--t-surface-weak);
  flex: 0 0 auto;
}
.avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.profile-meta h3{
  margin: 0;
}
.role{
  margin-top: 4px;
  color: var(--t-link-muted);
  font-size: 13px;
}
.profile-actions{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  margin-top: 10px;
}
.profile-text{
  margin-top: 14px;
  color: var(--t-link-muted);
}
.tags{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-top: 10px;
}
.tag{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--t-border-soft);
  background: var(--t-surface-weak);
  color: var(--t-link-muted);
  font-size: 12px;
}
.avatar .initials{
  display:none;
}
.avatar.avatar-initials{
  display:grid;
  place-items:center;
}
.avatar.avatar-initials .initials{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--t-link);
  background: linear-gradient(135deg, var(--t-kicker-bg), rgba(208, 208, 208, .18));
}
.timeline{
  display:grid;
  gap: 10px;
}
.t-item{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid var(--t-border-soft);
  background: var(--t-surface-weak);
}
.t-item strong{
  display:block;
  font-family: var(--font-display);
  letter-spacing: -.01em;
}
.t-item span{
  display:block;
  color: var(--t-link-muted);
  margin-top: 4px;
  font-size: 13px;
}
.mt{ margin-top: 16px; }
.reps{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 10px;
}
.rep{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--t-border-soft);
  background: var(--t-surface-weak);
  color: var(--t-link);
  text-decoration:none;
  font-size: 13px;
}
.rep:focus-visible{
  outline:none;
  border-color: var(--t-kicker-border);
  box-shadow: 0 0 0 4px rgba(8, 48, 120, .18);
}
.rep:hover{
  border-color: var(--t-kicker-border);
}
.details{
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid var(--t-border);
  background: var(--t-surface);
  overflow:hidden;
}
.details summary{
  cursor:pointer;
  padding: 12px 14px;
  font-family: var(--font-display);
  font-weight: 750;
  color: var(--t-link);
  list-style:none;
}
.details summary:focus-visible{
  outline:none;
  box-shadow: 0 0 0 4px rgba(8, 48, 120, .18);
}
.details summary::-webkit-details-marker{ display:none; }
.details-body{
  padding: 0 14px 14px;
  color: var(--t-link-muted);
}
.clients-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  font-size: 13px;
}
.clients-grid > div{ overflow-wrap:anywhere; }
.clients-grid strong{
  font-family: var(--font-display);
  margin-right: 6px;
}
.panel{
  border-radius: var(--radius);
  border: 1px solid var(--t-border);
  background: var(--t-surface);
  box-shadow: var(--shadow-sm);
  padding: 18px;
}
.panel h3{
  font-family: var(--font-display);
  margin:0 0 8px;
  font-weight: 780;
  letter-spacing: -.02em;
}
.panel p{
  margin: 0 0 12px;
  color: var(--t-link-muted);
}
.panel-media{
  margin: 12px 0 14px;
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid var(--t-border-soft);
  background: rgba(8, 32, 88, .03);
}
:root[data-theme="dark"] .panel-media{
  background: rgba(255,255,255,.05);
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"] .panel-media{
    background: rgba(255,255,255,.05);
  }
}
.panel-media img{
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display:block;
}
.panel-media figcaption{
  padding: 10px 12px 12px;
  font-size: 12px;
  color: var(--t-link-muted);
  border-top: 1px solid var(--t-border-soft);
  background: var(--t-surface-weak);
}

/* Empresa: this image is an infographic; keep it fully visible (no crop). */
#empresa .empresa-media{
  background:
    radial-gradient(420px 260px at 50% 20%, rgba(8, 48, 120, .10), transparent 62%),
    radial-gradient(520px 340px at 50% 90%, rgba(208, 208, 208, .22), transparent 64%),
    var(--t-surface-weak);
}
#empresa .empresa-media img{
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 10px;
}
.list-title{
  margin-top: 8px;
  font-family: var(--font-display);
  font-weight: 780;
  letter-spacing: -.01em;
}
.list{
  margin: 10px 0 14px;
  padding-left: 18px;
  color: var(--t-link-muted);
}
.list li{
  margin: 8px 0;
}

.media-slab{
  margin-top: 14px;
  border-radius: var(--radius);
  border: 1px solid var(--t-border);
  background: var(--t-surface);
  box-shadow: var(--shadow-sm);
  overflow:hidden;
  scroll-margin-top: 92px;
}
.media-slab img{
  width: 100%;
  display:block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 50%;
}
.media-slab figcaption{
  padding: 12px 14px 14px;
  font-size: 13px;
  color: var(--t-link-muted);
}

/* Processo: a imagem tem o foco mais a direita/baixo (pecas). Ajuste fino do enquadramento. */
#processo img{ object-position: 64% 63%; }
@media (max-width: 520px){
  #processo img{ object-position: 68% 64%; }
}
.facts{
  display:grid;
  gap: 10px;
  margin-top: 10px;
}
.fact{
  display:flex;
  align-items:flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  background: var(--t-chip-bg);
  border: 1px solid var(--t-chip-border);
}
.fact .b{
  width: 40px;
  height: 40px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  background: var(--t-surface-weak);
  border: 1px solid var(--t-border-soft);
}
.fact strong{
  display:block;
  font-family: var(--font-display);
  letter-spacing: -.01em;
}
.fact span{
  display:block;
  color: var(--t-link-muted);
  font-size: 13px;
  margin-top: 2px;
}

@media (max-width: 980px){
  .grid3{ grid-template-columns: 1fr; }
  .split{ grid-template-columns: 1fr; }
  .profile-grid{ grid-template-columns: 1fr; }
  .clients-grid{ grid-template-columns: 1fr; }
  .section-hd{ align-items:flex-start; flex-direction:column; }
}

@media (max-width: 520px){
  .profile-card .profile-head{ flex-direction:column; align-items:flex-start; }
  .person-head{ flex-direction:column; align-items:flex-start; }
  .profile-head .avatar,
  .person-head .avatar{ width: 96px; }
}

@media (hover:hover) and (pointer:fine){
  .card,
  .panel,
  .media-slab,
  .rep,
  .fact{
    transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
    will-change: transform;
  }
  .card:hover,
  .panel:hover,
  .media-slab:hover{
    transform: translateY(-2px);
    border-color: var(--t-kicker-border);
    box-shadow: 0 22px 56px rgba(2, 6, 23, .14);
  }
  .rep:hover{
    transform: translateY(-1px);
    background: var(--t-chip-bg);
  }
  .fact:hover{
    transform: translateY(-1px);
    border-color: var(--t-kicker-border);
  }
}

/* Contact */
.people{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.person-head{
  display:flex;
  gap: 14px;
  align-items:center;
}
.person-meta h3{
  margin:0;
}
.person-meta .meta{
  color: var(--t-link-muted);
  font-size: 13px;
  margin-top: 2px;
}
.person-actions{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  margin-top: 12px;
}
.contact-strip{
  margin-top: 14px;
  border-radius: var(--radius);
  border: 1px solid var(--t-border);
  background: var(--t-surface);
  box-shadow: var(--shadow-sm);
  padding: 14px;
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
}
.strip-item{
  padding: 12px;
  border-radius: 18px;
  border: 1px solid var(--t-border-soft);
  background: var(--t-surface-weak);
}
.strip-k{
  font-family: var(--font-display);
  font-weight: 780;
  letter-spacing: -.01em;
  color: var(--t-link);
}
.strip-v{
  margin-top: 4px;
  color: var(--t-link-muted);
  font-size: 13px;
  overflow-wrap:anywhere;
}

.person-meta .meta{
  overflow-wrap:anywhere;
}
@media (max-width: 980px){
  .people{ grid-template-columns: 1fr; }
  .contact-strip{ grid-template-columns: 1fr; }
}

/* Footer */
footer{
  padding: 34px 0 52px;
  border-top: 1px solid var(--t-nav-border);
  background: linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.85));
}
:root[data-theme="dark"] footer{
  background: linear-gradient(180deg, rgba(7,10,18,.0), rgba(7,10,18,.82));
}
@media (prefers-color-scheme: dark){
  :root[data-theme="auto"] footer{
    background: linear-gradient(180deg, rgba(7,10,18,.0), rgba(7,10,18,.82));
  }
}
.foot{
  display:flex;
  gap: 14px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  color: var(--t-link-muted);
  font-size: 13px;
}
.foot .left{
  display:flex;
  gap: 12px;
  align-items:center;
}
.support-note{
  font-size: 12px;
  color: var(--t-link-muted);
  margin-left: 6px;
}
.foot img{ width: 110px; }

/* Reveal animations */
.reveal{ opacity: 1; transform: none; }
/* Avoid "blank gaps" on mobile: keep reveals always visible on small screens. */
@media (min-width: 981px){
  .js .reveal{
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .6s ease, transform .6s ease;
  }
  .js .reveal[data-in="true"]{
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .js .reveal{ transition:none; }
  .btn{ transition:none; }
  .card, .panel, .media-slab, .rep, .fact{ transition:none; }
}
