*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* ── CSW Brand (extraídas do logo) ── */
  --orange:       #FF7800;
  --orange-bright:#FF8A24;
  --orange-deep:  #E96B00;
  --orange-soft:  #FFA24D;
  --copper:       #8E3D06;
  --copper-mid:   #C65509;
  --copper-deep:  #5E2A06;

  --orange-pale:  #FFF3EA;
  --orange-line:  #F6D9C2;

  /* ── Neutros quentes ── */
  --ink:      #17120D;
  --carbon:   #221A12;
  --espresso: #2E251B;
  --paper:    #FBF8F3;
  --paper-2:  #F4EDE2;
  --sand:     #ECE3D4;
  --line:     #E7DFD0;
  --line-soft:#F0E9DC;
  --muted:    #6A6155;
  --soft:     #948A7C;
  --faint:    #B6AC9C;
  --white:    #FFFFFF;

  --serif: 'Fraunces', 'Times New Roman', Georgia, serif;
  --sans:  'Inter', system-ui, -apple-system, sans-serif;
  --ease:  cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);

  --maxw: 1240px;
  --pad: clamp(1.4rem, 5vw, 5rem);
}

html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body {
  font-family: var(--sans);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.7;
  overflow-x: hidden;
  font-weight: 400;
}
::selection { background: var(--orange); color: #fff; }
img { max-width: 100%; display: block; }
section { scroll-margin-top: 88px; }

/* grão sutil */
.grain { position: relative; }
.grain::after {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:1;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── PROGRESS ── */
#prog { position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--copper-mid),var(--orange));z-index:1100;width:0;transition:width .1s linear; }

/* ── LANG ── */
.lang-wrap { display:flex;border:1px solid rgba(255,255,255,.4);border-radius:2px;overflow:hidden;flex-shrink:0; }
.lang-btn { background:none;border:none;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);padding:.34rem .68rem;cursor:pointer;transition:all .25s var(--ease); }
.lang-btn.on { background:var(--orange);color:#fff; }

/* ── NAV ── */
nav {
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem var(--pad);
  transition:padding .45s var(--ease),background .45s,box-shadow .45s,border-color .45s;
  border-bottom:1px solid transparent;
}
nav.stuck { background:rgba(251,248,243,.86);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line);padding:.85rem var(--pad); }
/* Nav sólida (páginas internas sem hero escuro no topo) */
nav.solid { background:rgba(251,248,243,.92);border-bottom:1px solid var(--line); }
nav.solid .nav-links a, nav.solid .nav-cta { color:var(--ink); }
nav.solid .nav-cta { color:var(--orange-deep);border-color:var(--orange-line); }
nav.solid .logo-light { opacity:0; }
nav.solid .logo-dark { opacity:1; }
nav.solid .hbg span { background:var(--ink); }
nav.solid .lang-wrap { border-color:rgba(255,120,0,.45); }
nav.solid .lang-btn { color:var(--soft); }
nav.solid .lang-btn.on { color:#fff; }

.logo { position:relative;display:inline-block;text-decoration:none;line-height:0; }
.logo-img { height:48px;width:auto;display:block;transition:height .45s var(--ease),opacity .4s var(--ease); }
.logo-dark { position:absolute;top:0;left:0;opacity:0; }
nav.stuck .logo-light, nav.menu-open .logo-light { opacity:0; }
nav.stuck .logo-dark, nav.menu-open .logo-dark { opacity:1; }
nav.stuck .logo-img { height:40px; }

.nav-right { display:flex;align-items:center;gap:1.8rem; }
.nav-links { display:flex;gap:2.1rem;list-style:none;align-items:center; }
.nav-links a {
  font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  color:rgba(255,255,255,.9);text-decoration:none;position:relative;transition:color .25s;padding:.2rem 0;
}
.nav-links a::after { content:'';position:absolute;bottom:-3px;left:0;right:0;height:1.5px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease); }
.nav-links a:hover { color:var(--orange-soft); }
.nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }

.nav-cta {
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;text-decoration:none;white-space:nowrap;border:1px solid rgba(255,255,255,.4);padding:.6rem 1.2rem;border-radius:2px;transition:all .3s var(--ease);
}
.nav-cta:hover { background:var(--orange);border-color:var(--orange);color:#fff; }

.hbg { display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px;z-index:950; }
.hbg span { display:block;width:24px;height:1.5px;background:#fff;transition:.35s var(--ease); }
.hbg.x span { background:var(--ink); }
.hbg.x span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.hbg.x span:nth-child(2){ opacity:0; }
.hbg.x span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

nav.stuck .nav-links a, nav.menu-open .nav-links a { color:var(--ink); }
nav.stuck .nav-links a:hover, nav.menu-open .nav-links a:hover { color:var(--orange-deep); }
nav.stuck .nav-cta, nav.menu-open .nav-cta { color:var(--orange-deep);border-color:var(--orange-line); }
nav.stuck .nav-cta:hover, nav.menu-open .nav-cta:hover { color:#fff;border-color:var(--orange); }
nav.stuck .hbg span { background:var(--ink); }
nav.stuck .lang-wrap, nav.menu-open .lang-wrap { border-color:rgba(255,120,0,.45); }
nav.stuck .lang-btn, nav.menu-open .lang-btn { color:var(--soft); }
nav.stuck .lang-btn.on, nav.menu-open .lang-btn.on { color:#fff; }

/* ── HERO (full-bleed photo) ── */
#hero { position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden; }
.hero-bg { position:absolute;inset:0;z-index:0;background:radial-gradient(130% 120% at 76% 40%, #2a2017 0%, #17120d 55%, #110d09 100%); }
.hero-conv { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
.hero-glow2 { position:absolute;top:8%;right:-4%;width:42%;height:72%;background:radial-gradient(circle at 72% 50%, rgba(255,120,0,.22), transparent 58%);pointer-events:none; }
.hero-content { position:relative;z-index:2;width:100%;padding:7.5rem var(--pad) 3.5rem; }
.hero-inner { max-width:48rem; }

.eyebrow { display:inline-flex;align-items:center;gap:.85rem;font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--orange-soft);margin-bottom:2rem; }
.eyebrow .tri { width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--orange); }

h1 { font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(2.4rem,4.6vw,4.4rem);font-weight:400;line-height:1.08;letter-spacing:-.02em;color:#fff;margin-bottom:2rem;text-wrap:balance; }
h1 em { font-style:italic;font-weight:400;color:var(--orange-soft); }

.hero-lead { font-size:clamp(14.5px,1.15vw,17px);font-weight:300;color:rgba(255,255,255,.85);line-height:1.75;max-width:34rem;margin-bottom:2.75rem; }
.hero-actions { display:flex;align-items:center;gap:2rem;flex-wrap:wrap; }

.btn-primary {
  display:inline-flex;align-items:center;gap:.8rem;background:var(--orange);color:#fff;
  font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:1.05rem 2.2rem;text-decoration:none;border-radius:2px;transition:background .3s,box-shadow .3s,transform .3s;box-shadow:0 8px 28px -10px rgba(255,120,0,.6);
}
.btn-primary:hover { background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 14px 34px -10px rgba(255,120,0,.7); }
.btn-primary .arr { transition:transform .3s; }
.btn-primary:hover .arr { transform:translateX(5px); }

.btn-text { display:inline-flex;align-items:center;gap:.5rem;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;text-decoration:none;position:relative; }
.btn-text span { border-bottom:1px solid rgba(255,255,255,.32);padding-bottom:2px;transition:border-color .3s,color .3s; }
.btn-text:hover span { border-color:var(--orange);color:var(--orange-soft); }

/* ── UTIL ── */
.section { padding:clamp(4.5rem,9vw,8rem) var(--pad); }
.inner { max-width:var(--maxw);margin:0 auto; }

.tag { display:inline-flex;align-items:center;gap:.8rem;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-mid);margin-bottom:1.3rem; }
.tag::before { content:'';display:block;width:1.6rem;height:1.5px;background:var(--orange); }
.tag.on-dark { color:var(--orange-soft); }

.sec-title { font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(1.95rem,3.4vw,3.2rem);font-weight:400;color:var(--ink);line-height:1.12;letter-spacing:-.02em; }
.sec-title em { font-style:italic;color:var(--orange-deep); }

.arrow-link { display:inline-flex;align-items:center;gap:.6rem;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);text-decoration:none;margin-top:2rem; }
.arrow-link .a { transition:transform .3s; }
.arrow-link:hover .a { transform:translateX(5px); }
.arrow-link.on-dark { color:var(--orange-soft); }

.anim { opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out); }
.anim.show { opacity:1;transform:none; }

/* ── O CSW (firm intro) ── */
#firm { background:var(--paper); }
.firm-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,5vw,5.5rem);align-items:start;margin-top:1rem; }
.firm-para { font-size:clamp(15px,1.15vw,17.5px);font-weight:300;color:var(--muted);line-height:1.85; }
.firm-para strong { color:var(--ink);font-weight:500; }

/* ── PRÁTICAS (teaser) ── */
#tease { background:var(--white); }
.tease-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:3.5rem;border:1px solid var(--line);border-top:2px solid var(--orange);background:var(--line); }
.tease-card { background:var(--white);padding:clamp(2.2rem,3.5vw,3.4rem);text-decoration:none;display:block;transition:background .35s;position:relative;overflow:hidden; }
.tease-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease); }
.tease-card:hover { background:var(--orange-pale); }
.tease-card:hover::after { transform:scaleX(1); }
.tease-num { font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-mid);margin-bottom:1.1rem; }
.tease-name { font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.15rem);font-weight:400;color:var(--ink);letter-spacing:-.01em;margin-bottom:1rem;line-height:1.1; }
.tease-line { font-size:14.5px;font-weight:300;color:var(--muted);line-height:1.7;margin-bottom:1.6rem;max-width:26rem; }
.tease-go { font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-deep);display:inline-flex;gap:.5rem;align-items:center; }
.tease-card:hover .tease-go .a { transform:translateX(5px); }
.tease-go .a { transition:transform .3s; }

/* ── MÉTRICAS ── */
#metrics { background:var(--paper-2); }
.metrics-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem);margin-top:3rem;border-top:1px solid var(--line);padding-top:3rem; }
.metric .m-num { font-family:var(--serif);font-size:clamp(2.1rem,3.4vw,3rem);font-weight:400;color:var(--ink);line-height:1;letter-spacing:-.02em; }
.metric .m-num .ph { color:var(--orange-deep);border-bottom:2px dashed var(--orange-line);padding-bottom:1px; }
.metric .m-lbl { font-size:11.5px;font-weight:400;color:var(--muted);line-height:1.55;margin-top:.85rem;max-width:15rem; }
.metrics-note { font-size:10.5px;font-weight:400;color:var(--faint);letter-spacing:.04em;margin-top:2rem; }

/* ── DEPOIMENTOS (Chambers) ── */
#quotes { background:var(--ink);color:#fff; }
#quotes .sec-title { color:#fff; }
#quotes .sec-title em { color:var(--orange-soft); }
.quotes-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,2.5vw,2.4rem);margin-top:3.5rem; }
.quote-card { border-top:2px solid var(--orange);padding-top:1.7rem; }
.q-text { font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.5;color:rgba(255,255,255,.9);margin-bottom:1.5rem; }
.q-src { font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-soft); }

/* ── CALLOUTS (Time + Insights) ── */
#callouts { background:var(--white); }
.callouts-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-top:2px solid var(--orange); }
.callout { background:var(--white);padding:clamp(2.2rem,4vw,3.6rem);transition:background .35s; }
.callout:hover { background:var(--paper); }
.callout h3 { font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2.05rem);font-weight:400;color:var(--ink);line-height:1.18;letter-spacing:-.01em;margin-bottom:1rem; }
.callout p { font-size:14px;font-weight:300;color:var(--muted);line-height:1.75;max-width:26rem; }
.callout .arrow-link { margin-top:1.6rem; }

/* ── NEWSLETTER ── */
#news { background:var(--ink);color:#fff; }
.news-wrap { display:grid;grid-template-columns:1fr auto;gap:clamp(1.5rem,4vw,3rem);align-items:center;max-width:var(--maxw);margin:0 auto; }
.news-txt h3 { font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2.05rem);font-weight:400;color:#fff;margin-bottom:.5rem;letter-spacing:-.01em; }
.news-txt p { font-size:13px;font-weight:300;color:rgba(255,255,255,.6); }
.news-form { display:flex;gap:.6rem;flex-wrap:wrap; }
.news-input { background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);color:#fff;padding:.95rem 1.1rem;border-radius:2px;font-family:var(--sans);font-size:14px;min-width:17rem;outline:none;transition:border-color .25s; }
.news-input::placeholder { color:rgba(255,255,255,.32); }
.news-input:focus { border-color:var(--orange);background:rgba(255,120,0,.05); }
.news-btn { background:var(--orange);color:#fff;border:none;padding:.95rem 1.9rem;border-radius:2px;font-family:var(--sans);font-weight:600;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .3s; }
.news-btn:hover { background:var(--orange-deep); }

/* ── SOBRE / PILLARS (reuso: página O CSW) ── */
.sobre-grid { display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,5vw,5.5rem);align-items:start;margin-top:3.5rem; }
.sobre-lead { font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.65rem);font-weight:300;line-height:1.5;color:var(--ink);margin-bottom:1.8rem;letter-spacing:-.01em; }
.sobre-text p { font-size:14.5px;font-weight:300;color:var(--muted);line-height:1.9;margin-bottom:1.25rem; }
.sobre-text p strong { font-weight:500;color:var(--ink); }
.pillars { border-top:1px solid var(--line); }
.pillar { display:grid;grid-template-columns:3rem 1fr;gap:1.1rem;align-items:start;padding:1.6rem 0;border-bottom:1px solid var(--line);transition:padding-left .35s var(--ease); }
.pillar:hover { padding-left:.5rem; }
.p-n { font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--orange-soft);line-height:1; }
.p-title { font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:.3rem; }
.p-desc { font-size:12.5px;font-weight:300;color:var(--soft);line-height:1.7; }

/* ── AREAS / CASES / PUB / TEAM / CONTATO (reuso: páginas internas) ── */
.areas-top { display:grid;grid-template-columns:1fr .9fr;gap:clamp(2rem,4vw,4rem);align-items:end;margin-bottom:3.5rem; }
.areas-intro { font-size:14.5px;font-weight:300;color:var(--muted);line-height:1.9; }
.areas-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--orange);border-left:1px solid var(--line); }
.area-card { padding:2.5rem 2.1rem 2.7rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s;position:relative;overflow:hidden; }
.area-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease); }
.area-card:hover { background:var(--orange-pale); }
.area-card:hover::after { transform:scaleX(1); }
.area-card:hover .a-num { color:var(--orange); }
.a-num { font-family:var(--serif);font-size:1.9rem;font-weight:400;color:var(--sand);line-height:1;margin-bottom:1.3rem;transition:color .35s; }
.a-title { font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin-bottom:.7rem;line-height:1.4; }
.a-desc { font-size:13px;font-weight:300;color:var(--soft);line-height:1.8; }

.team-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3.5rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.07); }
.team-card { background:var(--carbon);padding:3rem 2.4rem;transition:background .4s;position:relative;overflow:hidden;z-index:1; }
.team-card::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease); }
.team-card:hover { background:var(--espresso); }
.team-card:hover::before { transform:scaleX(1); }
.tc-name { font-family:var(--serif);font-size:1.5rem;font-weight:400;color:#fff;margin-bottom:.35rem;letter-spacing:-.01em; }
.tc-role { font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-soft);margin-bottom:1.2rem; }
.tc-bio { font-size:13px;font-weight:300;color:rgba(255,255,255,.6);line-height:1.85;margin-bottom:1.4rem; }
.tc-creds { display:flex;flex-direction:column;gap:.45rem;border-top:1px solid rgba(255,255,255,.08);padding-top:1.2rem; }
.tc-cred { font-size:11.5px;font-weight:300;color:rgba(255,255,255,.42);display:flex;align-items:center;gap:.6rem; }
.tc-cred::before { content:'';width:4px;height:4px;background:var(--orange);flex-shrink:0;border-radius:50%; }

.contact-grid { display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2.5rem,5vw,5.5rem);margin-top:3.5rem; }
.c-heading { font-family:var(--serif);font-size:1.5rem;font-weight:400;color:#fff;margin-bottom:2rem;letter-spacing:-.01em; }
.c-items { display:flex;flex-direction:column;gap:1.6rem;margin-bottom:2.5rem; }
.c-lbl { font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-soft);margin-bottom:.35rem; }
.c-val { font-size:14px;font-weight:300;color:rgba(255,255,255,.74);line-height:1.6; }
.c-val a { color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18);transition:border-color .25s,color .25s; }
.c-val a:hover { color:var(--orange-soft);border-color:var(--orange-soft); }

/* ── PUBLICAÇÕES / INSIGHTS (lista) ── */
.pub-list { margin-top:3.5rem;border-top:2px solid var(--orange); }
.pub-row { display:grid;grid-template-columns:7rem 1fr 2rem;gap:1.8rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding-left .35s var(--ease),background .35s; }
.pub-row:hover { padding-left:1rem; }
.pub-row:hover .pub-title { color:var(--orange-deep); }
.pub-row:hover .pub-arr { color:var(--orange);transform:translateX(5px); }
.pub-date { font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--orange-deep);line-height:1.15; }
.pub-date small { display:block;font-family:var(--sans);font-size:9px;font-weight:600;color:var(--soft);letter-spacing:.1em;text-transform:uppercase;margin-top:3px; }
.pub-title { font-size:15px;font-weight:400;color:var(--ink);line-height:1.45;margin-bottom:.3rem;transition:color .3s; }
.pub-by { font-size:11.5px;font-weight:400;color:var(--soft);letter-spacing:.02em; }
.pub-arr { color:var(--line);font-size:1.1rem;transition:color .3s,transform .3s;justify-self:end; }
a.pub-row { text-decoration:none;color:inherit; }
.pub-src { font-size:11.5px;font-weight:500;color:var(--copper-mid);letter-spacing:.03em; }

/* ── CONTATO (página) ── */
#contato-sec { background:var(--ink);color:#fff; }
.office-badges { display:flex;gap:.6rem;margin-top:1.5rem; }
.o-badge { font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--orange);padding:.4rem 1rem;border-radius:2px; }
.cform { display:flex;flex-direction:column;gap:1.1rem; }
.f-row { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.f-group { display:flex;flex-direction:column;gap:.45rem; }
.f-lbl { font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4); }
.f-input,.f-select,.f-area {
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);
  color:#fff;font-family:var(--sans);font-size:14px;font-weight:300;
  padding:.85rem 1rem;outline:none;transition:border-color .25s,background .25s;width:100%;border-radius:2px;
}
.f-input::placeholder,.f-area::placeholder { color:rgba(255,255,255,.28); }
.f-input:focus,.f-select:focus,.f-area:focus { border-color:var(--orange);background:rgba(255,120,0,.06); }
.f-area { resize:vertical;min-height:120px; }
.f-select { appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23FF7800' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center; }
.f-select option { background:var(--carbon);color:#fff; }
.lgpd-txt { font-size:11px;font-weight:300;color:rgba(255,255,255,.35);line-height:1.65;display:flex;gap:.6rem;align-items:flex-start; }
.lgpd-txt svg { flex-shrink:0;margin-top:2px;stroke:var(--orange-soft); }
.f-submit { background:var(--orange);border:none;color:#fff;font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:1.05rem 2.2rem;cursor:pointer;transition:background .3s,transform .3s;width:fit-content;border-radius:2px;box-shadow:0 10px 30px -12px rgba(255,120,0,.7); }
.f-submit:hover { background:var(--orange-deep);transform:translateY(-2px); }

/* ── FOOTER ── */
footer { background:#0E0B08;color:#fff;padding:4rem var(--pad) 2.2rem;border-top:2px solid var(--orange); }
.footer-grid { max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(2rem,4vw,4rem);padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:2rem; }
.footer-brand img { height:54px;width:auto;margin-bottom:1.4rem; }
.footer-brand p { font-size:13px;font-weight:300;color:rgba(255,255,255,.42);line-height:1.8;max-width:24rem; }
.footer-col h4 { font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.34);margin-bottom:1.2rem; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:.6rem; }
.footer-col a { font-size:13px;font-weight:300;color:rgba(255,255,255,.55);text-decoration:none;transition:color .25s; }
.footer-col a:hover { color:var(--orange-soft); }
.footer-bottom { max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;gap:1rem;font-size:11px;font-weight:300;color:rgba(255,255,255,.3); }

/* ── COOKIE LGPD ── */
.cookie-bar { position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:2px solid var(--orange);padding:1.2rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem;z-index:990;transition:transform .45s var(--ease);box-shadow:0 -8px 30px rgba(0,0,0,.1); }
.cookie-bar.gone { transform:translateY(110%); }
.cookie-txt { font-size:12px;font-weight:300;color:var(--muted);line-height:1.65;max-width:46rem; }
.cookie-txt a { color:var(--orange-deep);text-decoration:underline;text-underline-offset:2px; }
.cookie-btns { display:flex;gap:.6rem;flex-shrink:0; }
.ck { background:none;border:1px solid var(--line);color:var(--muted);font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.6rem 1.2rem;cursor:pointer;transition:all .25s;border-radius:2px; }
.ck:hover { border-color:var(--orange);color:var(--orange-deep); }
.ck.yes { background:var(--orange);border-color:var(--orange);color:#fff; }
.ck.yes:hover { background:var(--orange-deep); }

/* ── PAGE HERO (páginas internas) ── */
.page-hero { position:relative;overflow:hidden;background:radial-gradient(120% 120% at 82% -10%, #2c2118 0%, var(--ink) 58%);color:#fff;padding:11rem var(--pad) 5.5rem; }
.page-hero .ph-inner { position:relative;z-index:2;max-width:var(--maxw);margin:0 auto; }
.page-hero .eyebrow { margin-bottom:1.6rem; }
.page-title { font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(2.2rem,4.2vw,3.8rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;color:#fff;text-wrap:balance; }
.page-title em { font-style:italic;color:var(--orange-soft); }
.page-lead { font-size:clamp(15px,1.15vw,17px);font-weight:300;color:rgba(255,255,255,.8);line-height:1.7;max-width:42rem;margin-top:1.6rem; }

/* ── MANIFESTO ── */
.manifesto-text { max-width:46rem;margin-top:1rem; }
.manifesto-text p { font-size:clamp(15px,1.2vw,18px);font-weight:300;color:var(--muted);line-height:1.85;margin-bottom:1.4rem; }
.manifesto-text p:first-child { font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.75rem);font-weight:300;color:var(--ink);line-height:1.5;letter-spacing:-.01em;margin-bottom:1.8rem; }
.manifesto-text strong { color:var(--ink);font-weight:500; }

/* ── CSWay (método) ── */
#csway { background:var(--ink);color:#fff; }
#csway .sec-title { color:#fff; }
#csway .sec-title em { color:var(--orange-soft); }
.csway-intro { font-size:14.5px;font-weight:300;color:rgba(255,255,255,.6);line-height:1.8;max-width:34rem;margin-top:1.5rem; }
.csway-list { margin-top:3.5rem;border-top:1px solid rgba(255,255,255,.13); }
.csway-step { display:grid;grid-template-columns:5rem 1fr;gap:clamp(1.2rem,3vw,2.5rem);padding:2.2rem 0;border-bottom:1px solid rgba(255,255,255,.13);align-items:start;transition:padding-left .35s var(--ease); }
.csway-step:hover { padding-left:.6rem; }
.csway-step:hover .cs-n { color:var(--orange); }
.cs-n { font-family:var(--serif);font-size:2.2rem;font-weight:400;color:var(--orange-soft);line-height:1;letter-spacing:-.02em;transition:color .35s; }
.cs-h { font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:400;color:#fff;margin-bottom:.5rem;letter-spacing:-.01em; }
.cs-p { font-size:14px;font-weight:300;color:rgba(255,255,255,.62);line-height:1.75;max-width:48rem; }

/* ── PILARES (cartões) ── */
.pillars-grid { display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--orange);border-left:1px solid var(--line);margin-top:3.5rem; }

/* ── MODOS (faixa) ── */
.modes-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--orange);border-left:1px solid var(--line);margin-top:3.5rem; }
.mode-card { padding:2.5rem 2rem 2.7rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .35s;position:relative;overflow:hidden; }
.mode-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease); }
.mode-card:hover { background:var(--orange-pale); }
.mode-card:hover::after { transform:scaleX(1); }
.mode-name { font-family:var(--serif);font-size:1.55rem;font-weight:400;color:var(--ink);margin-bottom:1rem;letter-spacing:-.01em; }
.mode-line { font-size:13.5px;font-weight:300;color:var(--muted);line-height:1.75; }

/* ── BLOCOS DE PRÁTICA ── */
.practice-block { display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.5rem,5vw,5rem);align-items:start;padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid var(--line); }
.practice-block:first-of-type { border-top:none;padding-top:1rem; }
.pb-num { font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-mid);margin-bottom:1rem; }
.pb-name { font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;color:var(--ink);letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem; }
.pb-lead { font-size:clamp(15px,1.15vw,17px);font-weight:300;color:var(--muted);line-height:1.7; }
.pb-services { list-style:none;display:flex;flex-direction:column; }
.pb-services li { font-size:14px;font-weight:300;color:var(--ink);line-height:1.55;padding:1rem 0;border-bottom:1px solid var(--line);display:flex;gap:.9rem;align-items:flex-start; }
.pb-services li:first-child { border-top:1px solid var(--line); }
.pb-services li::before { content:'';width:6px;height:6px;background:var(--orange);border-radius:50%;flex-shrink:0;margin-top:.5rem; }

/* ── FRENTES (página de área) ── */
.fronts-list { margin-top:3rem;border-top:1px solid var(--line); }
.front-row { display:grid;grid-template-columns:3.2rem 1fr;gap:1.4rem;padding:1.7rem 0;border-bottom:1px solid var(--line);align-items:start;transition:padding-left .35s var(--ease); }
.front-row:hover { padding-left:.5rem; }
.front-row:hover .fr-n { color:var(--orange); }
.fr-n { font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--orange-soft);line-height:1.1;transition:color .35s; }
.fr-title { font-size:15.5px;font-weight:600;color:var(--ink);margin-bottom:.35rem;letter-spacing:-.005em; }
.fr-desc { font-size:13.5px;font-weight:300;color:var(--soft);line-height:1.7;max-width:46rem; }

/* ── EXPERIÊNCIA (placeholder) ── */
#experiencia { background:var(--paper-2); }
.exp-list { margin-top:2.5rem;border-top:2px solid var(--orange); }
.exp-row { padding:1.5rem 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:300;color:var(--ink);line-height:1.7; }
.exp-row .ph { color:var(--orange-deep);border-bottom:1px dashed var(--orange-line);padding-bottom:1px; }
.exp-note { font-size:11px;color:var(--faint);margin-top:1.6rem;letter-spacing:.03em;line-height:1.6;max-width:42rem; }

/* ── PERFIS (Sócios) ── */
.profile { display:grid;grid-template-columns:300px 1fr;gap:clamp(2.5rem,5vw,4.5rem);padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid var(--line);align-items:start; }
.profile:first-of-type { border-top:none;padding-top:1rem; }
.profile-photo { aspect-ratio:4/5;background:linear-gradient(155deg,var(--sand),var(--paper-2));border:1px solid var(--line);border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:1.5rem; }
.profile-photo .pp-initials { font-family:var(--serif);font-size:4.6rem;font-weight:400;color:var(--orange-line);letter-spacing:-.02em; }
.profile-photo .pp-tag { position:absolute;bottom:.9rem;left:.9rem;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--faint); }
.profile-name { font-family:var(--serif);font-size:clamp(1.6rem,2.3vw,2rem);font-weight:400;color:var(--ink);letter-spacing:-.02em;line-height:1.1;margin-bottom:.4rem; }
.profile-role { font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--copper-mid);margin-bottom:1.1rem; }
.profile-email { font-size:13.5px;font-weight:400;color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange-line);transition:border-color .25s,color .25s;word-break:break-all; }
.profile-email:hover { color:var(--orange);border-color:var(--orange); }
.profile-bio { font-size:clamp(15px,1.1vw,16.5px);font-weight:300;color:var(--muted);line-height:1.8;margin-bottom:2rem; }
.profile-quote { border-left:2px solid var(--orange);padding-left:1.6rem;margin-bottom:2rem; }
.profile-quote p { font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.05rem,1.3vw,1.25rem);line-height:1.5;color:var(--ink);margin-bottom:.9rem; }
.profile-quote cite { font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-mid);font-style:normal; }
.profile-creds { display:flex;flex-direction:column;gap:.65rem;border-top:1px solid var(--line);padding-top:1.5rem; }
.profile-cred { font-size:13px;font-weight:300;color:var(--ink);line-height:1.55;display:flex;gap:.7rem;align-items:flex-start; }
.profile-cred::before { content:'';width:5px;height:5px;background:var(--orange);border-radius:50%;flex-shrink:0;margin-top:.5rem; }
.profile-cred .ph { color:var(--orange-deep);border-bottom:1px dashed var(--orange-line);font-weight:500;padding-bottom:1px; }
.profile-langs { display:flex;align-items:baseline;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid var(--line); }
.profile-langs-label { font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--copper-mid); }
.profile-langs-list { font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.3;color:var(--orange); }

/* ── RECONHECIMENTOS ── */
#recog { background:var(--paper-2); }
.recog-text { font-size:clamp(15px,1.1vw,17px);font-weight:300;color:var(--muted);line-height:1.85;max-width:50rem;margin-top:1rem; }
.recog-row { display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2.5rem; }
.recog-chip { font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);border:1px solid var(--line);padding:.6rem 1.1rem;border-radius:2px;background:var(--white); }

/* ── RESPONSIVE ── */
@media(max-width:1060px){
  .pillars-grid { grid-template-columns:1fr 1fr; }
  .practice-block { grid-template-columns:1fr;gap:1.8rem; }
  .hero-inner { max-width:none; }
  .firm-grid,.sobre-grid,.areas-top,.contact-grid,.news-wrap { grid-template-columns:1fr;gap:2.8rem; }
  .areas-grid { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr; }
  .quotes-grid { grid-template-columns:1fr; }
  .metrics-grid { grid-template-columns:1fr 1fr;gap:2.2rem; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}
@media(max-width:1024px){
  .nav-right { position:fixed;inset:0;background:var(--paper);flex-direction:column;justify-content:center;gap:2.5rem;transform:translateX(100%);transition:transform .45s var(--ease);z-index:800; }
  .nav-right.open { transform:none; }
  /* Menu mobile aberto: zera o backdrop-filter da nav. Sem isto, ao rolar a página a nav
     ganha .stuck (backdrop-filter) e vira o "containing block" do painel fixo (.nav-right),
     que deixa de cobrir a tela inteira e fica transparente. */
  nav.menu-open { background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; }
  .nav-links { flex-direction:column;gap:2rem; }
  .nav-links a { font-size:16px;letter-spacing:.1em; }
  .hbg { display:flex; }
}
@media(max-width:760px){
  .areas-grid { grid-template-columns:1fr; }
  .tease-grid,.callouts-grid { grid-template-columns:1fr; }
  .pillars-grid { grid-template-columns:1fr; }
  .modes-grid { grid-template-columns:1fr; }
  .csway-step { grid-template-columns:3rem 1fr;gap:1.2rem; }
  .front-row { grid-template-columns:2.6rem 1fr;gap:1rem; }
  .profile { grid-template-columns:1fr;gap:1.8rem; }
  .profile-photo { max-width:300px; }
  .f-row { grid-template-columns:1fr; }
  .pub-row { grid-template-columns:5rem 1fr;gap:1rem; }
  .pub-arr { display:none; }
  .metrics-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column;text-align:left;gap:.5rem; }
  .news-form { flex-direction:column; }
  .news-input { min-width:0;width:100%; }
  .cookie-bar { flex-direction:column;align-items:flex-start;gap:1rem; }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after { animation-duration:.001ms !important;transition-duration:.001ms !important; }
  .anim { opacity:1;transform:none; }
  html { scroll-behavior:auto; }
}
