:root{
  --bg:#f4f4f1;
  --surface:#fafaf8;
  --surface-2:#eeeeea;
  --text:#111111;
  --muted:#6d6d68;
  --line:#ddddda;
  --shadow-soft:0 10px 28px rgba(0,0,0,.07);
  --radius:22px;
  --max:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}

/* TECH: header compartilhado com Sobre, Currículo e Privacidade */
header{border-bottom:1px solid rgba(0,0,0,.05)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.page-top{padding:0}
.page-top .container{width:auto;margin:0}
.back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:14px;
  font-weight:600;
}
.nav ul{display:flex;align-items:center;gap:32px;list-style:none;font-size:14px}
.nav-link{transition:opacity .2s ease}
.nav-link:hover{opacity:.55}
.mobile-menu-button{display:none}

.ethics-hero{padding:86px 0 90px}
.ethics-hero-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:80px;
  align-items:center;
}
.kicker{color:var(--muted);font-size:14px;margin-bottom:14px}
h1{
  font-size:clamp(52px,7vw,92px);
  line-height:.96;
  letter-spacing:-.065em;
  font-weight:450;
}
.ethics-hero p{
  max-width:760px;
  margin-top:28px;
  color:var(--muted);
  font-size:19px;
  line-height:1.75;
}
.hero-meta{
  margin-top:26px;
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:13px;
}
.hero-meta a{font-weight:600;color:var(--text)}
.ethics-note{
  padding:34px;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}
.ethics-note small{display:block;color:var(--muted);margin-bottom:12px}
.ethics-note strong{
  display:block;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.03em;
}

.section{padding:96px 0}
.section.alt{background:var(--surface)}
.section-heading{max-width:790px;margin-bottom:48px}
.section-heading>span,.section-label{color:var(--muted);font-size:14px}
.section-heading h2,.message-content h2{
  font-size:clamp(34px,4.2vw,58px);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:600;
  margin-top:8px;
}
.section-heading p,.message-content p{
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
  margin-top:18px;
}

.principles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.principle-card{
  padding:26px;
  border-top:1px solid var(--line);
  background:transparent;
}
.principle-number{font-size:12px;color:var(--muted)}
.principle-card h3{font-size:22px;margin-top:18px}
.principle-card p{
  color:var(--muted);
  font-size:14px;
  margin-top:10px;
  line-height:1.7;
}

.message-card{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--surface);
}
.message-visual{
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:38px;
  background:#111;
  color:#fff;
}
.message-visual span{
  font-size:clamp(42px,6vw,76px);
  font-weight:700;
  letter-spacing:-.06em;
}
.message-visual small{color:rgba(255,255,255,.68)}
.message-content{padding:50px}

.code-section-minimal{background:var(--bg)}
.code-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:54px;
  align-items:start;
}
.code-navigation{position:sticky;top:24px}
.navigation-card{padding:0}
.navigation-card>strong{font-size:14px}
.navigation-card nav{margin-top:18px;display:grid}
.navigation-card nav a{
  padding:7px 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.navigation-card nav a:hover{color:var(--text)}
.outline-button{
  width:100%;
  min-height:42px;
  margin-top:20px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:transparent;
  color:var(--text);
  font-size:12px;
  cursor:pointer;
}

.code-content{min-width:0}
.code-block{
  padding:0 0 56px;
  border-bottom:1px solid var(--line);
}
.code-block+.code-block{padding-top:56px}
.block-number{
  display:inline-block;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.1em;
}
.code-block h2{
  margin:8px 0 20px;
  font-size:clamp(28px,3vw,42px);
  line-height:1.12;
  letter-spacing:-.035em;
}
.code-block h3{margin:26px 0 8px;font-size:19px}
.code-block p{
  margin-top:14px;
  color:var(--muted);
  font-size:15px;
  line-height:1.8;
}
.code-block ul{
  margin:18px 0 0 20px;
  color:var(--muted);
  font-size:15px;
}
.code-block li+li{margin-top:8px}
blockquote{
  margin-top:24px;
  padding:22px 24px;
  border-left:3px solid #111;
  background:var(--surface);
  color:var(--text);
  font-size:17px;
  font-weight:600;
}

.two-column-grid,.conduct-grid,.contact-data{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.two-column-grid article,.conduct-grid article,.contact-data>div{
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
}
.two-column-grid h3{margin:0}
.conduct-grid article{display:grid;gap:7px}
.conduct-grid strong,.contact-data strong{font-size:14px}
.conduct-grid span{color:var(--muted);font-size:13px}

.status-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.status-grid article{
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  display:grid;
  gap:8px;
  background:var(--surface);
}
.status-grid strong{font-size:14px}
.status-grid span{color:var(--muted);font-size:13px}

.accordion,.faq{margin-top:22px;border-top:1px solid var(--line)}
.accordion-item{border-bottom:1px solid var(--line)}
.accordion-item button{
  width:100%;
  min-height:64px;
  padding:0;
  border:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:transparent;
  color:var(--text);
  text-align:left;
  font-weight:600;
  cursor:pointer;
}
.accordion-item button span{font-size:22px;font-weight:400}
.accordion-content{max-height:0;overflow:hidden;transition:max-height .22s ease}
.accordion-content p{
  margin:0;
  padding:0 0 22px;
  color:var(--muted);
}

.decision-flow{margin-top:24px;display:grid;gap:12px}
.decision-flow>div{
  position:relative;
  padding:18px 18px 18px 68px;
  border-bottom:1px solid var(--line);
}
.decision-flow span{
  position:absolute;
  left:0;
  top:16px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:12px;
}
.decision-flow strong,.decision-flow small{display:block}
.decision-flow small{margin-top:3px;color:var(--muted)}

.contact-data small{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
}
.contact-data>div{display:grid;gap:5px}
.primary-button{
  min-height:46px;
  margin-top:24px;
  padding:0 19px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  background:#111;
  color:#fff;
  font-size:13px;
  font-weight:600;
}
.text-link{
  display:inline-block;
  margin-top:20px;
  font-weight:600;
}

.faq-section-minimal{background:var(--surface)}
.faq{max-width:900px}

/* TECH: footer compartilhado com Sobre, Currículo e Privacidade */
.minimal-footer{
  margin-top:0;
  background:var(--bg);
  padding:42px 0 24px;
  border-top:1px solid var(--line);
}
.minimal-footer-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:50px;
}
.minimal-footer-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px 26px;
}
.minimal-footer-nav a{color:var(--muted);font-size:13px}
.footer-company{font-size:12px;line-height:1.8;color:var(--muted)}

#principios,#codigo,#canal-etica{scroll-margin-top:24px}

@media(max-width:1000px){
  .ethics-hero-grid,.code-layout{grid-template-columns:1fr}
  .principles-grid{grid-template-columns:repeat(2,1fr)}
  .code-navigation{position:static}
  .navigation-card nav{
    grid-template-columns:repeat(2,1fr);
    column-gap:24px;
  }
  .message-card{grid-template-columns:1fr}
  .message-visual{min-height:250px}
}

@media(max-width:680px){
  .container{width:min(var(--max),calc(100% - 26px))}
  .nav ul{display:none}
  .ethics-hero{padding:62px 0 68px}
  .section{padding:72px 0}
  .principles-grid,.two-column-grid,.conduct-grid,.status-grid,.contact-data{
    grid-template-columns:1fr;
  }
  .navigation-card nav{grid-template-columns:1fr}
  .message-content{padding:32px 24px}
}

@media print{
  header,.ethics-hero,.section.alt:first-of-type,.message-section-minimal,
  .code-navigation,footer,.faq-section-minimal,.primary-button{
    display:none!important;
  }
  body{background:#fff;color:#000}
  .section{padding:0}
  .code-layout{display:block}
  .code-block{break-inside:avoid}
  .accordion-content{max-height:none!important}
}
