:root{
  --ink:#141b2e;
  --ink-soft:#4a5266;
  --paper:#f7f5f0;
  --paper-alt:#eeeae1;
  --line:#d9d3c7;
  --accent:#0f5c4d;      /* verde profundo — direção, trópico */
  --accent-2:#c98a3c;    /* âmbar quente */
  --white:#ffffff;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",system-ui,sans-serif;
  --wrap:1120px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,245,240,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
.logo{display:flex;align-items:center;gap:10px}
.logo-mark{
  font-family:var(--serif);font-size:1.7rem;color:var(--accent);
  line-height:1;font-weight:600;
}
.logo-text{font-family:var(--serif);font-weight:600;letter-spacing:.12em;font-size:.95rem}
.logo-sub{display:block;font-family:var(--sans);font-weight:500;letter-spacing:.34em;font-size:.5rem;color:var(--ink-soft)}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav a{font-size:.86rem;font-weight:500;color:var(--ink-soft);transition:color .2s}
.nav a:hover{color:var(--ink)}
.nav-cta{color:var(--accent)!important;font-weight:600}
.lang-toggle{
  background:none;border:1px solid var(--line);border-radius:999px;
  padding:6px 14px;font-family:var(--sans);font-size:.72rem;font-weight:600;
  letter-spacing:.08em;cursor:pointer;color:var(--ink-soft);transition:.2s;
}
.lang-toggle:hover{border-color:var(--accent);color:var(--accent)}
.lang-active{color:var(--ink)}
.lang-inactive{opacity:.5}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:120px 0 130px}
.eyebrow{
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:24px;
}
.hero-title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.03;letter-spacing:-.01em;
  max-width:14ch;
}
.hero-lede{
  margin-top:26px;max-width:48ch;font-size:1.12rem;color:var(--ink-soft);
}
.hero-actions{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-block;padding:13px 26px;border-radius:8px;
  font-size:.9rem;font-weight:600;transition:.2s;
}
.btn-primary{background:var(--accent);color:var(--white)}
.btn-primary:hover{background:#0c4a3d}
.btn-ghost{border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.hero-glyph{
  position:absolute;right:-4%;bottom:-14%;
  font-family:var(--serif);font-size:22rem;color:var(--accent);
  opacity:.05;pointer-events:none;user-select:none;line-height:1;
}

/* ---------- Sections ---------- */
.section{padding:96px 0}
.section-alt{background:var(--paper-alt)}
.section-eyebrow{
  font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;
}
.section-title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.1;letter-spacing:-.01em;
}
.section-lede{margin-top:20px;max-width:56ch;font-size:1.08rem;color:var(--ink-soft)}

/* ---------- Focus ---------- */
.focus-grid{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.focus-card{
  background:var(--white);border:1px solid var(--line);border-radius:14px;
  padding:40px 36px;position:relative;transition:.25s;
}
.focus-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,92,77,.09)}
.focus-num{
  font-family:var(--serif);font-size:.95rem;color:var(--accent-2);
  font-weight:600;letter-spacing:.1em;
}
.focus-card h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:16px 0 14px}
.focus-card p{color:var(--ink-soft);font-size:1rem}

/* ---------- Approach ---------- */
.approach-list{margin-top:40px;display:grid;gap:22px;max-width:64ch}
.approach-list li{
  padding-left:22px;border-left:2px solid var(--accent);
  font-size:1.05rem;color:var(--ink-soft);
}
.approach-list strong{color:var(--ink);font-weight:600}

/* ---------- Sectors ---------- */
.sector-grid{margin-top:40px;display:flex;flex-wrap:wrap;gap:12px}
.sector-tag{
  border:1px solid var(--line);border-radius:999px;padding:10px 22px;
  font-size:.92rem;font-weight:500;color:var(--ink-soft);background:var(--white);
}

/* ---------- Contact ---------- */
.section-contact{background:var(--ink);color:var(--paper)}
.section-contact .section-title{color:var(--white)}
.section-contact .section-lede{color:rgba(247,245,240,.66)}
.contact-email{
  display:inline-block;margin-top:30px;font-family:var(--serif);
  font-size:clamp(1.4rem,3vw,2.1rem);color:var(--white);
  border-bottom:2px solid var(--accent-2);padding-bottom:4px;transition:.2s;
}
.contact-email:hover{color:var(--accent-2)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:rgba(247,245,240,.6);padding:36px 0;border-top:1px solid rgba(255,255,255,.08)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-logo{color:var(--paper)}
.footer-logo .logo-sub{color:rgba(247,245,240,.5)}
.footer-copy{font-size:.82rem}

/* ---------- Responsive ---------- */
@media(max-width:760px){
  .nav{display:none}
  .hero{padding:80px 0 90px}
  .focus-grid{grid-template-columns:1fr}
  .hero-glyph{font-size:12rem;bottom:-6%}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
