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

:root{
  --emerald:#0a3d2e;
  --emerald-2:#0e5540;
  --emerald-3:#083024;
  --gold:#d4a017;
  --gold-2:#e8b73a;
  --gold-3:#b8860b;
  --cream:#faf5ea;
  --cream-2:#f3ecdc;
  --cream-3:#ebe3d0;
  --ivory:#fffdf8;
  --ink:#0d1a15;
  --muted:#5a6b62;
  --muted-2:#8b968f;
  --line:rgba(10,61,46,.14);
  --line-soft:rgba(10,61,46,.08);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  font-weight:400;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body::after{
  content:'';
  position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{width:min(1320px,92vw);margin:0 auto}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--emerald);color:var(--cream)}

/* ====== TIPOGRAFIA UTILITÁRIA ====== */
.eyebrow{
  font-size:9.5px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--emerald);
  font-weight:500;
  line-height:1;
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--gold)}
.eyebrow.light{color:rgba(250,245,234,.75)}
.eyebrow.light::before{background:var(--gold-2)}

/* ====== HEADER ====== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:20px 0;
  transition:padding .5s var(--ease), background .5s var(--ease), border-color .5s, backdrop-filter .5s;
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  padding:12px 0;
  background:rgba(250,245,234,.9);
  -webkit-backdrop-filter:blur(20px) saturate(1.6);
  backdrop-filter:blur(20px) saturate(1.6);
  border-bottom-color:var(--line-soft);
}

.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  flex-shrink:0;
}

/* Foto/ícone institucional — lado esquerdo */
.brand-photo{
  display:block;
  width:46px;
  height:52px;
  position:relative;
  overflow:hidden;
  flex-shrink:0;
  border:1px solid rgba(10,61,46,.22);
  background:var(--cream-2);
  transition:transform .55s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
}
.brand-photo svg{display:block;width:100%;height:100%}
.brand:hover .brand-photo{
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow:0 12px 24px -14px rgba(10,61,46,.45);
}
.site-header.scrolled .brand-photo{width:38px;height:44px}

.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{
  font-family:var(--serif);
  font-size:14px;
  font-weight:500;
  letter-spacing:-.003em;
  color:var(--emerald);
}
.brand-text em{
  font-style:normal;
  font-size:7px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--muted-2);
  margin-top:4px;
  font-weight:500;
}

.nav{display:flex;gap:34px;margin-left:auto;margin-right:34px}
.nav a{
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  position:relative;
  padding:5px 0;
  font-weight:500;
  color:var(--emerald);
  transition:color .3s;
}
.nav a::after{
  content:'';position:absolute;left:0;bottom:0;
  width:0;height:1.5px;background:var(--gold);
  transition:width .45s var(--ease);
}
.nav a:hover{color:var(--gold-3)}
.nav a:hover::after{width:100%}

.btn-header{
  font-size:9.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--cream);
  background:var(--emerald);
  padding:12px 22px;
  font-weight:500;
  transition:color .4s var(--ease);
  white-space:nowrap;
  position:relative;
  overflow:hidden;
}
.btn-header span{position:relative;z-index:2}
.btn-header::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateY(100%);
  transition:transform .5s var(--ease);
  z-index:1;
}
.btn-header:hover{color:var(--emerald)}
.btn-header:hover::before{transform:translateY(0)}

.menu-toggle{
  display:none;background:none;border:none;cursor:pointer;
  width:32px;height:32px;position:relative;padding:0;
}
.menu-toggle span{
  position:absolute;left:6px;right:6px;height:1.5px;
  background:var(--emerald);
  transition:transform .45s var(--ease), opacity .3s;
}
.menu-toggle span:nth-child(1){top:12px}
.menu-toggle span:nth-child(2){bottom:12px}
.menu-toggle.open span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}

/* ====== HERO ====== */
.hero{
  position:relative;
  padding:140px 0 0;
  overflow:hidden;
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%, rgba(212,160,23,.09), transparent 60%),
    radial-gradient(ellipse 50% 40% at 0% 100%, rgba(10,61,46,.06), transparent 60%),
    var(--cream);
}
.hero-inner{
  min-height:calc(100vh - 140px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:50px;
  position:relative;
  z-index:2;
  padding-bottom:50px;
}
.hero-top{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:20px;flex-wrap:wrap;
}
.hero-top .meta{
  font-size:9.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
  display:flex;
  align-items:center;
  gap:10px;
}
.hero-top .meta .dot{
  width:4px;height:4px;background:var(--gold);
  border-radius:50%;display:inline-block;
}

/* ====== ALTERAÇÃO DO HERO MAIN ====== */
.hero-main{
  padding:24px 0;
  display:grid;
  grid-template-columns:1.1fr 0.9fr; /* Cria as duas colunas */
  gap:60px;
  align-items:center;
}

.hero-image-frame {
  width: 100%;
  aspect-ratio: 4 / 3.2; /* Proporção da caixa */
  border: none; /* A borda preta foi removida aqui */
  overflow: hidden;
  background: var(--cream-2);
  box-shadow: 0 30px 60px -20px rgba(10,61,46,.3); /* Sombra elegante */
}

.hero-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* O segredo para a imagem não distorcer */
  display: block;
}
/* ====== FIM DA ALTERAÇÃO ====== */

.hero-title{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(48px,8vw,130px);
  line-height:.94;
  letter-spacing:-.032em;
  max-width:15ch;
  color:var(--emerald);
  font-variation-settings:"opsz" 144;
}
.hero-title em{
  font-style:italic;
  color:var(--gold-3);
  font-weight:400;
}
.hero-title .mark{
  display:inline-block;
  width:.5em;height:.5em;
  background:var(--gold);
  vertical-align:baseline;
  margin-left:.06em;
  transform:translateY(-.02em);
}

.hero-bottom{
  display:grid;
  grid-template-columns:1.15fr auto;
  gap:60px;
  align-items:end;
  border-top:1px solid var(--line);
  padding-top:36px;
}
.hero-lede{
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  max-width:48ch;
  font-weight:400;
}
.hero-lede strong{color:var(--emerald);font-weight:500}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}

.hero-mark{
  position:absolute;right:-4vw;bottom:-14vh;
  font-family:var(--serif);
  font-size:min(58vw,760px);
  line-height:.7;font-weight:300;
  color:rgba(10,61,46,.04);
  pointer-events:none;user-select:none;z-index:1;
  letter-spacing:-.05em;
}

/* ====== BOTÕES ====== */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:16px 30px;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  font-weight:500;
  border:1px solid transparent;
  transition:all .45s var(--ease);
  cursor:pointer;
  font-family:var(--sans);
  white-space:nowrap;
  position:relative;
  overflow:hidden;
}
.btn span{position:relative;z-index:2;transition:color .4s}
.btn .arw{transition:transform .5s var(--ease);position:relative;z-index:2}

.btn-primary{background:var(--emerald);color:var(--cream);border-color:var(--emerald)}
.btn-primary::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateY(101%);transition:transform .55s var(--ease);z-index:1;
}
.btn-primary:hover{border-color:var(--gold)}
.btn-primary:hover span{color:var(--emerald)}
.btn-primary:hover .arw{transform:translateX(6px);color:var(--emerald)}

.btn-ghost{border-color:var(--line);color:var(--emerald);background:transparent}
.btn-ghost::before{
  content:'';position:absolute;inset:0;background:var(--emerald);
  transform:scaleX(0);transform-origin:right;
  transition:transform .55s var(--ease);z-index:1;
}
.btn-ghost:hover{border-color:var(--emerald)}
.btn-ghost:hover span{color:var(--cream)}
.btn-ghost:hover .arw{color:var(--gold-2)}
.btn-ghost:hover::before{transform:scaleX(1);transform-origin:left}

/* ====== REVEAL ====== */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity 1.1s var(--ease), transform 1.1s var(--ease);
  transition-delay:var(--d,0s);
}
.reveal.in{opacity:1;transform:none}

/* ====== MANIFESTO ====== */
.statement{padding:120px 0 110px;position:relative}
.statement-grid{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:70px;
  align-items:start;
}
.statement-label{
  display:flex;gap:14px;align-items:baseline;
  padding-top:12px;position:sticky;top:120px;
}
.statement-label .num{
  font-family:var(--serif);font-size:13px;
  color:var(--gold-3);letter-spacing:.08em;font-weight:500;
}
.statement-label .txt{
  font-size:9.5px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--emerald);font-weight:500;
}
.statement-text{
  font-family:var(--serif);
  font-size:clamp(22px,2.8vw,42px);
  line-height:1.2;font-weight:300;
  letter-spacing:-.02em;
  max-width:20ch;color:var(--emerald);
  font-variation-settings:"opsz" 144;
}
.statement-text em{font-style:italic;color:var(--gold-3);font-weight:400}
.statement-sub{
  margin-top:48px;
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:44px;max-width:780px;
  border-top:1px solid var(--line);
  padding-top:38px;
}
.statement-sub p{font-size:13px;line-height:1.75;color:var(--muted)}
.statement-sub p strong{color:var(--emerald);font-weight:500}

/* ====== ÁREAS ====== */
.areas{
  padding:120px 0 130px;
  background:var(--emerald);
  color:var(--cream);
  position:relative;overflow:hidden;
}
.areas::before{
  content:'';position:absolute;top:-30%;right:-15%;
  width:60vw;height:60vw;max-width:900px;max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(212,160,23,.14) 0%, rgba(212,160,23,0) 65%);
  pointer-events:none;
}
.areas-head{
  display:grid;grid-template-columns:1fr auto;align-items:end;
  gap:44px;margin-bottom:56px;position:relative;z-index:2;
}
.areas-head h2{
  font-family:var(--serif);
  font-size:clamp(32px,4.6vw,66px);
  font-weight:300;line-height:1;
  letter-spacing:-.03em;color:var(--cream);
  font-variation-settings:"opsz" 144;
  margin-top:18px;
}
.areas-head h2 em{font-style:italic;color:var(--gold-2);font-weight:400}
.areas-note{
  font-size:12px;
  color:rgba(250,245,234,.6);
  max-width:26ch;line-height:1.65;
  text-align:right;padding-bottom:12px;font-weight:400;
}

.areas-list{list-style:none;border-bottom:1px solid rgba(250,245,234,.14);position:relative;z-index:2}
.area-row{
  display:grid;
  grid-template-columns:60px minmax(180px,1fr) 1.3fr 34px;
  gap:38px;align-items:center;
  padding:28px 6px;
  border-top:1px solid rgba(250,245,234,.14);
  text-decoration:none;color:var(--cream);
  position:relative;
  transition:padding .6s var(--ease);
}
.area-row::before{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:0;background:var(--gold);
  transition:width .6s var(--ease);
}
.area-row:hover{padding-left:26px;padding-right:0}
.area-row:hover::before{width:2px}

.area-num{
  font-family:var(--serif);font-size:12px;
  color:rgba(250,245,234,.42);
  letter-spacing:.08em;
  transition:color .5s var(--ease);font-weight:500;
}
.area-row:hover .area-num{color:var(--gold-2)}

.area-title{
  font-family:var(--serif);
  font-size:clamp(18px,1.9vw,26px);
  font-weight:400;letter-spacing:-.015em;
  transition:transform .6s var(--ease);
  color:var(--cream);
  font-variation-settings:"opsz" 144;
}
.area-desc{
  font-size:12px;line-height:1.65;
  color:rgba(250,245,234,.55);max-width:44ch;
}
.area-arw{
  font-size:15px;color:rgba(250,245,234,.4);
  justify-self:end;
  transition:transform .6s var(--ease), color .5s var(--ease);
}
.area-row:hover .area-arw{transform:translateX(8px);color:var(--gold-2)}

/* ====== FIRMA ====== */
.firm{padding:130px 0;background:var(--cream-2);position:relative;overflow:hidden}
.firm::before{
  content:'';position:absolute;bottom:-20%;left:-10%;
  width:50vw;height:50vw;max-width:700px;max-height:700px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(212,160,23,.1) 0%, rgba(212,160,23,0) 65%);
  pointer-events:none;
}
.firm-grid{
  display:grid;grid-template-columns:1.05fr 1fr;
  gap:90px;align-items:start;position:relative;z-index:2;
}
.firm-text h2{
  font-family:var(--serif);
  font-size:clamp(30px,4vw,54px);
  font-weight:300;line-height:1.02;
  letter-spacing:-.03em;margin:22px 0 32px;
  color:var(--emerald);
  font-variation-settings:"opsz" 144;
}
.firm-text h2 em{font-style:italic;color:var(--gold-3);font-weight:400}
.firm-text p{
  font-size:13px;line-height:1.75;
  color:var(--muted);margin-bottom:20px;max-width:50ch;
}
.firm-text p:last-of-type{margin-bottom:38px}

.link-underline{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;color:var(--emerald);
  padding-bottom:9px;border-bottom:1.5px solid var(--emerald);
  transition:all .5s var(--ease);font-weight:500;position:relative;
}
.link-underline::after{
  content:'';position:absolute;left:0;bottom:-1.5px;
  width:100%;height:1.5px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;
  transition:transform .5s var(--ease);
}
.link-underline:hover{gap:20px;border-color:transparent;color:var(--gold-3)}
.link-underline:hover::after{transform:scaleX(1);transform-origin:left}

.firm-stats{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);
  background:var(--ivory);
  box-shadow:0 30px 80px -40px rgba(10,61,46,.25);
}
.stat{
  padding:38px 28px 34px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;transition:background .6s var(--ease);
  overflow:hidden;
}
.stat::before{
  content:'';position:absolute;top:0;left:0;
  width:100%;height:3px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;
  transition:transform .7s var(--ease);
}
.stat:hover{background:var(--cream-2)}
.stat:hover::before{transform:scaleX(1)}
.stat strong{
  display:block;font-family:var(--serif);
  font-size:clamp(38px,4.8vw,64px);
  font-weight:300;line-height:.9;letter-spacing:-.045em;
  color:var(--emerald);margin-bottom:16px;
  font-variation-settings:"opsz" 144;
}
.stat strong .sup{
  font-size:.4em;color:var(--gold);
  vertical-align:super;letter-spacing:0;margin-left:2px;
}
.stat span{
  font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
  line-height:1.6;display:block;font-weight:500;
}

/* ====== EQUIPE ====== */
.team{padding:130px 0}
.team-head{
  display:grid;grid-template-columns:1fr auto;align-items:end;
  gap:44px;margin-bottom:64px;
}
.team-head h2{
  font-family:var(--serif);
  font-size:clamp(32px,4.6vw,66px);
  font-weight:300;line-height:1;
  letter-spacing:-.03em;color:var(--emerald);
  font-variation-settings:"opsz" 144;
  margin-top:18px;
}
.team-head h2 em{font-style:italic;color:var(--gold-3);font-weight:400}
.team-head .areas-note{color:var(--muted)}

.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.attorney{
  position:relative;background:var(--ivory);
  border:1px solid var(--line-soft);
  transition:all .6s var(--ease);overflow:hidden;
}
.attorney::before{
  content:'';position:absolute;inset:0;background:var(--emerald);
  transform:translateY(101%);transition:transform .7s var(--ease);z-index:1;
}
.attorney:hover{transform:translateY(-8px);box-shadow:0 40px 80px -30px rgba(10,61,46,.3)}
.attorney:hover::before{transform:translateY(0)}

.attorney-portrait{
  aspect-ratio:3/3.4;
  display:grid;place-items:center;
  position:relative;overflow:hidden;
  background:
    repeating-linear-gradient(135deg, rgba(10,61,46,.035) 0 1px, transparent 1px 14px),
    linear-gradient(155deg, var(--cream-2) 0%, var(--cream-3) 100%);
  z-index:2;transition:background .7s var(--ease);
}
.attorney-portrait span{
  font-family:var(--serif);
  font-size:clamp(44px,5vw,72px);
  font-weight:300;color:var(--emerald);
  letter-spacing:-.02em;line-height:1;
  transition:all .7s var(--ease);
  font-variation-settings:"opsz" 144;opacity:.9;
}
.attorney:hover .attorney-portrait{background:var(--emerald)}
.attorney:hover .attorney-portrait span{color:var(--gold-2);transform:translateY(-8px);opacity:1}

.attorney-info{padding:22px 22px 26px;position:relative;z-index:2}
.attorney-info h3{
  font-family:var(--serif);font-size:17px;font-weight:500;
  letter-spacing:-.01em;margin-bottom:8px;line-height:1.18;
  color:var(--emerald);transition:color .5s;
  font-variation-settings:"opsz" 144;
}
.attorney-role{
  font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-3);margin-bottom:12px;font-weight:500;transition:color .5s;
}
.attorney-oab{font-size:10.5px;color:var(--muted-2);letter-spacing:.06em;transition:color .5s}
.attorney:hover .attorney-info h3{color:var(--cream)}
.attorney:hover .attorney-role{color:var(--gold-2)}
.attorney:hover .attorney-oab{color:rgba(250,245,234,.6)}

/* ====== DEPOIMENTO ====== */
.quote-sec{
  padding:130px 0;
  background:var(--emerald-3);color:var(--cream);
  text-align:center;position:relative;overflow:hidden;
}
.quote-sec::before,.quote-sec::after{
  content:'';position:absolute;width:38px;height:38px;
  border:1px solid var(--gold);opacity:.5;
}
.quote-sec::before{top:50px;left:50px;border-right:none;border-bottom:none}
.quote-sec::after{bottom:50px;right:50px;border-left:none;border-top:none}

.quote-mark{
  font-family:var(--serif);font-size:100px;line-height:.3;
  color:var(--gold);opacity:.6;display:block;
  margin-bottom:38px;font-weight:400;
}
.quote-text{
  font-family:var(--serif);
  font-size:clamp(22px,3.2vw,44px);
  font-weight:300;line-height:1.26;letter-spacing:-.02em;
  max-width:22ch;margin:0 auto 44px;font-style:italic;
  color:var(--cream);font-variation-settings:"opsz" 144;
}
.quote-author{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(250,245,234,.5);font-weight:500;
}
.quote-author strong{
  display:block;font-weight:500;color:var(--gold-2);
  margin-bottom:9px;letter-spacing:.22em;
}

/* ====== CONTATO ====== */
.contact{padding:130px 0 110px}
.contact-grid{
  display:grid;grid-template-columns:1fr 1.15fr;
  gap:90px;align-items:start;
}
.contact-left h2{
  font-family:var(--serif);
  font-size:clamp(28px,3.8vw,52px);
  font-weight:300;line-height:1.02;letter-spacing:-.03em;
  margin:22px 0 26px;color:var(--emerald);
  font-variation-settings:"opsz" 144;
}
.contact-left h2 em{font-style:italic;color:var(--gold-3);font-weight:400}
.contact-left > p{
  font-size:13px;line-height:1.75;color:var(--muted);
  max-width:44ch;margin-bottom:46px;
}

.contact-details{display:grid;gap:0;border-top:1px solid var(--line)}
.contact-item{
  display:grid;grid-template-columns:120px 1fr;gap:22px;
  padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.contact-item dt{
  font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-3);font-weight:500;
}
.contact-item dd{font-size:13px;line-height:1.6;color:var(--ink);font-weight:400}
.contact-item dd a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .4s, color .3s}
.contact-item dd a:hover{border-bottom-color:var(--gold);color:var(--emerald)}

.form{
  display:grid;gap:30px;padding:42px;
  background:var(--ivory);border:1px solid var(--line-soft);
  box-shadow:0 40px 90px -50px rgba(10,61,46,.28);
  position:relative;
}
.form::before{
  content:'';position:absolute;top:0;left:0;
  width:70px;height:3px;background:var(--gold);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.field{position:relative}
.field label{
  display:block;font-size:9.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--emerald);
  margin-bottom:10px;font-weight:500;
}
.field input,.field textarea,.field select{
  width:100%;border:none;border-bottom:1px solid var(--line);
  background:transparent;padding:10px 0 12px;
  font-family:var(--sans);font-size:13.5px;font-weight:400;
  color:var(--ink);outline:none;border-radius:0;
  transition:border-color .5s var(--ease);appearance:none;
}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 12 8'%3E%3Cpath fill='%230a3d2e' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 4px center;padding-right:22px;
}
.field textarea{resize:vertical;min-height:104px;line-height:1.65}
.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:var(--gold)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2);opacity:.6}

.form-footer{
  display:flex;align-items:center;justify-content:space-between;
  gap:26px;flex-wrap:wrap;margin-top:8px;
}
.form-note{font-size:11px;color:var(--muted-2);line-height:1.6;max-width:30ch}

/* ====== FOOTER ====== */
.site-footer{
  background:var(--emerald-3);color:rgba(250,245,234,.55);
  padding:80px 0 40px;position:relative;overflow:hidden;
}
.site-footer::before{
  content:'';position:absolute;top:0;left:50%;
  transform:translateX(-50%);width:calc(100% - 8vw);height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:.4;
}
.footer-top{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;
  gap:56px;padding-bottom:56px;
  border-bottom:1px solid rgba(250,245,234,.12);
}
.footer-brand .brand-text strong{color:var(--cream)}
.footer-brand .brand-text em{color:rgba(250,245,234,.45)}
.footer-brand .brand-photo{background:rgba(250,245,234,.05);border-color:rgba(212,160,23,.35)}
.footer-brand p{
  margin-top:26px;font-size:12.5px;line-height:1.75;
  max-width:38ch;color:rgba(250,245,234,.5);
}
.footer-col h4{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:24px;font-weight:500;
}
.footer-col ul{list-style:none;display:grid;gap:13px}
.footer-col a{font-size:12.5px;text-decoration:none;color:rgba(250,245,234,.55);transition:color .4s var(--ease)}
.footer-col a:hover{color:var(--gold-2)}

.footer-bottom{
  padding-top:32px;display:flex;justify-content:space-between;
  align-items:center;gap:22px;flex-wrap:wrap;
  font-size:11px;letter-spacing:.05em;color:rgba(250,245,234,.38);
}
.footer-bottom a{text-decoration:none;transition:color .4s}
.footer-bottom a:hover{color:var(--gold-2)}

/* ====== RESPONSIVO ====== */
@media (max-width:1080px){
  .nav{display:none}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .firm-grid{grid-template-columns:1fr;gap:64px}
  .contact-grid{grid-template-columns:1fr;gap:64px}
  .statement-grid{grid-template-columns:1fr;gap:36px}
  .statement-label{position:static;padding-top:0}
}

@media (max-width:860px){
  .btn-header{display:none}
  .menu-toggle{display:block}
  .hero{padding:120px 0 0}
  .hero-inner{min-height:auto;gap:44px;padding-bottom:44px}
  .hero-bottom{grid-template-columns:1fr;gap:30px;align-items:start}
  .hero-actions{justify-content:flex-start}
  .hero-mark{font-size:90vw;bottom:-8vh}
  
  /* Ajuste para a imagem ir para baixo do texto no celular */
  .hero-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .areas-head,.team-head{grid-template-columns:1fr;gap:22px}
  .areas-note{text-align:left;padding-bottom:0;max-width:40ch}
  .area-row{grid-template-columns:42px 1fr 26px;gap:18px;padding:22px 4px;align-items:start}
  .area-desc{display:none}
  .area-row:hover{padding-left:16px}
  .statement{padding:90px 0}
  .statement-sub{grid-template-columns:1fr;gap:22px}
  .areas,.firm,.team,.contact{padding:90px 0}
  .quote-sec{padding:100px 0}
  .quote-sec::before,.quote-sec::after{display:none}
  .form-row{grid-template-columns:1fr;gap:30px}
  .form{padding:34px 26px}
  .footer-top{grid-template-columns:1fr;gap:44px}
  .contact-item{grid-template-columns:1fr;gap:6px}
  .brand-photo{width:40px;height:46px}
  .site-header.scrolled .brand-photo{width:34px;height:40px}
}

@media (max-width:560px){
  .wrap{width:88vw}
  .team-grid{grid-template-columns:1fr}
  .firm-stats{grid-template-columns:1fr}
  .btn{padding:14px 26px;font-size:9.5px}
  .form-footer{flex-direction:column;align-items:flex-start}
  .form-footer .btn{width:100%;justify-content:center}
  .hero-title{font-size:clamp(52px,14vw,84px);text-align:center;}
  .brand-text strong{font-size:13px}
  .brand-text em{font-size:6.5px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}